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@
15 EXTRA_BINS = nsmhack@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)\"" -I$(srcdir) -I.
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@
47 ifeq ($(TARGET),linux)
49 CPPFLAGS += -DLONG_PRINT_REQUEST_SENSE=1
52 ifeq ($(TARGET),mingw)
54 CPPFLAGS += -DLONG_PRINT_REQUEST_SENSE=1
60 ifeq ($(TARGET),freebsd86)
61 CPPFLAGS += -DLONG_PRINT_REQUEST_SENSE=1
66 CFLAGS += -O -D_HPUX_SOURCE -D __hpux__
72 ifeq ($(TARGET),solarissparc)
92 # OpenVMS (see vms/000readme)
95 See vms/000readme for information.
99 ifeq ($(USE_OBJCOPY),yes)
100 objcopy --only-keep-debug $< $@
101 objcopy --strip-debug $<
102 objcopy --add-gnu-debuglink=$@ $<
112 $(INSTALL_DIR) $(sbindir)
113 for file in $(BINS); do \
114 $(INSTALL_BIN) "$$file" $(sbindir) ; \
116 $(INSTALL_DIR) $(mandir) $(mandir)/man1
117 for file in mtx.1 tapeinfo.1 scsitape.1 scsieject.1 loaderinfo.1 ; do \
118 $(INSTALL_DOC) "$$file" $(mandir)/man1 ; \
122 rm -f *.o *~ mtx-*.zip
127 rm -f mam2debug@EXEEXT@ mam2debug2@EXEEXT@
128 rm -rf autom4te.cache
131 rm -f Makefile config.h config.log config.cache config.status
134 ./makedist $(VERSION)
136 loaderinfo@EXEEXT@: loaderinfo.o mtxl.o mtxl.h mtx.h $(EXTRA)
137 $(CC) $(LDFLAGS) -o loaderinfo@EXEEXT@ loaderinfo.o mtxl.o $(EXTRA) $(LIBS)
139 nsmhack@EXEEXT@: nsmhack.o mtxl.o $(EXTRA)
140 $(CC) $(LDFLAGS) -o nsmhack@EXEEXT@ nsmhack.o mtxl.o $(EXTRA) $(LIBS)
142 mtx@EXEEXT@: mtx.o mtxl.o mtxl.h mtx.h $(EXTRA)
143 $(CC) $(LDFLAGS) -o mtx@EXEEXT@ mtx.o mtxl.o $(EXTRA) $(LIBS)
145 mam2debug@EXEEXT@: mtxl.o mam2debug.o mtx.h $(EXTRA)
146 $(CC) $(LDFLAGS) -o mam2debug@EXEEXT@ mtxl.o mam2debug.o $(EXTRA) $(LIBS)
148 tapeinfo@EXEEXT@: tapeinfo.o mtxl.o mtx.h mtxl.h $(EXTRA)
149 $(CC) $(LDFLAGS) -o tapeinfo@EXEEXT@ tapeinfo.o mtxl.o $(EXTRA) $(LIBS)
151 mam2debug2@EXEEXT@: mtxl.o mam2debug2.o mtx.h $(EXTRA)
152 $(CC) $(LDFLAGS) -o mam2debug2@EXEEXT@ mtxl.o mam2debug2.o $(EXTRA) $(LIBS)
154 scsitape@EXEEXT@: scsitape.o mtxl.o mtxl.h mtx.h $(EXTRA)
155 $(CC) $(LDFLAGS) -o scsitape@EXEEXT@ scsitape.o mtxl.o $(EXTRA) $(LIBS)
157 scsitape.o: scsitape.c mtx.h mtxl.h
159 scsieject@EXEEXT@: scsieject.o mtxl.o mtxl.h mtx.h $(EXTRA)
160 $(CC) $(LDFLAGS) -o scsieject@EXEEXT@ scsieject.o mtxl.o $(EXTRA) $(LIBS)
162 scsieject.o: scsieject.c mtx.h mtxl.h
164 loaderinfo.o: loaderinfo.c mtx.h mtxl.h
166 tapeinfo.o: tapeinfo.c mtx.h mtxl.h
168 mam2debug.o: mam2debug.c mtx.h mtxl.h
170 mam2debug2.o: mam2debug2.c mtx.h mtxl.h
172 mtx.o: mtx.c mtx.h mtxl.h
174 mtxl.o: mtxl.c mtx.h mtxl.h scsi_linux.c scsi_win32.c
176 nsmhack.o: nsmhack.c mtxl.h mtx.h