1 # WARNING -- THIS HAS BEEN RE-WRITTEN TO USE GNU MAKE. DO NOT
2 # TRY TO PROCESS THIS WITH A NORMAL MAKE! (FREEBSD GUYS, THIS MEANS
3 # USE GMAKE, NOT REGULAR BSD MAKE!)
6 # linux86 freebsd86 solarissparc sgi dec vms
8 # Makefile changes by Lars Kellogg-Stedman for better integration with
11 # Version # for 'make dist'...
14 BINS = mtx@EXEEXT@ tapeinfo@EXEEXT@ loaderinfo@EXEEXT@ scsitape@EXEEXT@ scsieject@EXEEXT@ \
16 DBGS := $(BINS:%@EXEEXT@=%.dbg)
17 MAN = mtx.1 tapeinfo.1 loaderinfo.1 scsitape.1 scsieject.1
18 MAN_HTML := $(MAN:%.1=%.html)
19 MAN_TXT := $(MAN:%.1=%.txt)
27 CPPFLAGS = @CPPFLAGS@ -DVERSION="\"$(VERSION)\""
30 USE_OBJCOPY = @USE_OBJCOPY@
32 INSTALL_DOC = $(INSTALL) -m 644
33 INSTALL_BIN = $(INSTALL) -m 755
34 INSTALL_DIR = $(INSTALL) -m 755 -d
37 exec_prefix = @exec_prefix@
44 ifeq ($(TARGET),linux)
46 CPPFLAGS += -DLONG_PRINT_REQUEST_SENSE=1
49 ifeq ($(TARGET),mingw)
51 CPPFLAGS += -DLONG_PRINT_REQUEST_SENSE=1
57 ifeq ($(TARGET),freebsd86)
58 CPPFLAGS += -DLONG_PRINT_REQUEST_SENSE=1
63 CFLAGS += -O -D_HPUX_SOURCE -D __hpux__
69 ifeq ($(TARGET),solarissparc)
89 # OpenVMS (see vms/000readme)
92 See vms/000readme for information.
96 ifeq ($(USE_OBJCOPY),yes)
97 objcopy --only-keep-debug $< $@
98 objcopy --strip-debug $<
99 objcopy --add-gnu-debuglink=$@ $<
108 install: $(BINS) $(DBGS)
109 $(INSTALL_DIR) $(sbindir)
110 for file in $(BINS); do \
111 $(INSTALL_BIN) "$$file" $(sbindir) ; \
113 $(INSTALL_DIR) $(mandir) $(mandir)/man1
114 for file in mtx.1 tapeinfo.1 scsitape.1 scsieject.1 loaderinfo.1 ; do \
115 $(INSTALL_DOC) "$$file" $(mandir)/man1 ; \
119 rm -f *.o *~ mtx-*.zip
124 rm -f mam2debug@EXEEXT@ mam2debug2@EXEEXT@
125 rm -rf autom4te.cache
128 rm -f Makefile config.h config.log config.cache config.status
131 ./makedist $(VERSION)
133 loaderinfo@EXEEXT@: loaderinfo.o mtxl.o mtxl.h mtx.h $(EXTRA)
134 $(CC) $(LDFLAGS) -o loaderinfo@EXEEXT@ loaderinfo.o mtxl.o $(EXTRA) $(LIBS)
136 nsmhack@EXEEXT@: nsmhack.o mtxl.o $(EXTRA)
137 $(CC) $(LDFLAGS) -o nsmhack@EXEEXT@ nsmhack.o mtxl.o $(EXTRA) $(LIBS)
139 mtx@EXEEXT@: mtx.o mtxl.o mtxl.h mtx.h $(EXTRA)
140 $(CC) $(LDFLAGS) -o mtx@EXEEXT@ mtx.o mtxl.o $(EXTRA) $(LIBS)
142 mam2debug@EXEEXT@: mtxl.o mam2debug.o mtx.h $(EXTRA)
143 $(CC) $(LDFLAGS) -o mam2debug@EXEEXT@ mtxl.o mam2debug.o $(EXTRA) $(LIBS)
145 tapeinfo@EXEEXT@: tapeinfo.o mtxl.o mtx.h mtxl.h $(EXTRA)
146 $(CC) $(LDFLAGS) -o tapeinfo@EXEEXT@ tapeinfo.o mtxl.o $(EXTRA) $(LIBS)
148 mam2debug2@EXEEXT@: mtxl.o mam2debug2.o mtx.h $(EXTRA)
149 $(CC) $(LDFLAGS) -o mam2debug2@EXEEXT@ mtxl.o mam2debug2.o $(EXTRA) $(LIBS)
151 scsitape@EXEEXT@: scsitape.o mtxl.o mtxl.h mtx.h $(EXTRA)
152 $(CC) $(LDFLAGS) -o scsitape@EXEEXT@ scsitape.o mtxl.o $(EXTRA) $(LIBS)
154 scsitape.o: scsitape.c mtx.h mtxl.h
156 scsieject@EXEEXT@: scsieject.o mtxl.o mtxl.h mtx.h $(EXTRA)
157 $(CC) $(LDFLAGS) -o scsieject@EXEEXT@ scsieject.o mtxl.o $(EXTRA) $(LIBS)
159 scsieject.o: scsieject.c mtx.h mtxl.h
161 loaderinfo.o: loaderinfo.c mtx.h mtxl.h
163 tapeinfo.o: tapeinfo.c mtx.h mtxl.h
165 mam2debug.o: mam2debug.c mtx.h mtxl.h
167 mam2debug2.o: mam2debug2.c mtx.h mtxl.h
169 mtx.o: mtx.c mtx.h mtxl.h
171 mtxl.o: mtxl.c mtx.h mtxl.h scsi_linux.c scsi_win32.c
173 nsmhack.o: nsmhack.c mtxl.h mtx.h