Makefile 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. # Makefile for UnZip 5.53+ using QDOS/xtc68 and GNU make
  2. #
  3. # This makefile is a makefile for the xtc68 cross-compiler on Linux;
  4. # conversion to a native c68 makefile should be trivial. This builds
  5. # native QDOS binaries.
  6. #
  7. # Last modified: 25 Dec 06
  8. include /etc/ql.mak
  9. CFLAGS = -O -I. -I./qdos/
  10. OBJS = unzip.o process.o crypt.o envargs.o explode.o \
  11. unshrink.o extract.o zipinfo.o inflate.o match.o unreduce.o \
  12. ubz2err.o ttyio.o fileio.o list.o globals.o qdos.o config.o crc32.o
  13. FOBJS = funzip.o ttyio.o crypt.fo inflate.fo globals.fo config.o crc32.fo qdos.fo
  14. XOBJS = unzip.xo process.xo crypt.xo extract.xo fileio.xo \
  15. ttyio.xo inflate.xo match.xo globals.xo ubz2err.xo \
  16. qdos.xo config.o crc32.xo
  17. all : unzip unzipsfx funzip makesfx callstub
  18. # xtc68/cc is brain dead !!
  19. %.xo : %.c
  20. qcpp -DSFX -DSFX_EXDIR -I. -I./qdos/ $*.c $*.i
  21. c68 -O $*.i $*.s
  22. as68 $*.s $*.xo
  23. rm -f $*.s $*.i
  24. %.fo : %.c
  25. qcpp -DFUNZIP -I. -I./qdos/ $*.c $*.i
  26. c68 -O $*.i $*.s
  27. as68 $*.s $*.fo
  28. rm -f $*.s $*.i
  29. u : unzip
  30. f : funzip
  31. x : unzipsfx
  32. m : makesfx
  33. unzip : $(OBJS)
  34. $(LD) $(LDFLAGS) -o$@ $(OBJS) $(LDLIBS)
  35. unzipsfx : $(XOBJS)
  36. $(LD) $(LDFLAGS) -o$@ $(XOBJS) $(LDLIBS)
  37. funzip : $(FOBJS)
  38. $(LD) $(LDFLAGS) -o$@ $(FOBJS) $(LDLIBS)
  39. makesfx : qdos/makesfx.c
  40. cp qdos/makesfx.c .
  41. $(CC) $(CFLAGS) -o makesfx makesfx.c
  42. rm -f makesfx.c
  43. callstub : qdos/callstub.c
  44. cp qdos/callstub.c .
  45. $(CC) -screspr.o $(CFLAGS) -o callstub callstub.c
  46. rm -f callstub.c
  47. clean :
  48. rm *.o *.xo *.fo
  49. cleaner : clean
  50. rm unzip funzip unzipsfx makesfx
  51. $(OBJS) $(XOBJS) $(FOBJS) : unzip.h unzpriv.h globals.h \
  52. qdos/izqdos.h
  53. crc32.o crc32.fo crc32.xo : zip.h
  54. crypt.o crypt.fo crypt.xo ttyio.o ttyio.fo ttyio.xo : zip.h
  55. inflate.o inflate.fo inflate.xo : inflate.h
  56. fileio.o fileio.xo : ebcdic.h
  57. funzip.o : crc32.h
  58. crc32.o crc32.fo crc32.xo crypt.o crypt.fo crypt.xo : crc32.h
  59. fileio.o fileio.xo extract.o extract.xo process.o process.xo : crc32.h
  60. crypt.o crypt.fo crypt.xo ttyio.o ttyio.fo ttyio.xo : crypt.h
  61. unzip.o unzip.xo funzip.o : crypt.h
  62. fileio.o fileio.xo extract.o extract.xo : crypt.h
  63. inflate.o inflate.fo inflate.xo : crypt.h
  64. crypt.o crypt.fo crypt.xo ttyio.o ttyio.fo ttyio.xo : ttyio.h
  65. funzip.o fileio.o fileio.xo : ttyio.h
  66. unzip.o unzip.xo : unzvers.h consts.h
  67. # Special case object files:
  68. qdos.o: qdos/qdos.c
  69. cp qdos/qdos.c .
  70. $(CC) -c -oqdos.o $(CFLAGS) $*.c
  71. rm -f qdos.c
  72. config.o: qdos/config.S
  73. cp qdos/config.S .
  74. $(CC) -c $*.S
  75. rm -f config.S
  76. qdos.xo: qdos/qdos.c
  77. cp qdos/qdos.c .
  78. qcpp -DSFX -DSFX_EXDIR -I. -I./qdos/ qdos.c qdos.i
  79. c68 qdos.i qdos.s
  80. as68 qdos.s qdos.xo
  81. rm -f qdos.s qdos.i
  82. rm -f qdos.c
  83. qdos.fo: qdos/qdos.c
  84. cp qdos/qdos.c .
  85. qcpp -DFUNZIP -I. -I./qdos/ qdos.c qdos.i
  86. c68 qdos.i qdos.s
  87. as68 qdos.s qdos.fo
  88. rm -f qdos.s qdos.i
  89. rm -f qdos.c
  90. install: unzip unzipsfx funzip makesfx callstub
  91. qcp unzip /ql/exe/
  92. qcp unzipsfx /ql/exe/
  93. qcp funzip /ql/exe/
  94. qcp makesfx /ql/exe/
  95. cp callstub /ql/exe/