makefile 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. # Makefile for Zip, ZipNote, ZipCloak and ZipSplit
  2. # add -g to CC to debug
  3. # add -d to BIND to debug
  4. CC = cc
  5. BIND = link
  6. AS = $(CC) -c
  7. ASM = objasm
  8. SQUEEZE = squeeze -v
  9. E =
  10. # flags
  11. # CFLAGS flags for C compile
  12. # LFLAGS1 flags after output file spec, before obj file list
  13. # LFLAGS2 flags after obj file list (libraries, etc)
  14. #
  15. LIB =
  16. CBASE = -throwback -wn -DASMV -apcs 3/26
  17. CFLAGS = $(CBASE) -IC:,@.
  18. ASMFLAGS = -Throwback -Stamp -NoCache -CloseExec -quit -apcs 3/26
  19. LFLAGS1 =
  20. LFLAGS2 = $(LIB) C:o.Stubs
  21. # Uncomment the following line to enable support for Unix
  22. # Extra Field (Timezone)
  23. #CFLAGS = $(CFLAGS) -DUSE_EF_UT_TIME
  24. # object file lists
  25. OBJZ = zip.o zipfile.o zipup.o fileio.o util.o globals.o crc32.o \
  26. crypt.o ttyio.o riscos.o acornzip.o swiven.o
  27. OBJI = deflate.o trees.o
  28. OBJA = match.o sendbits.o
  29. OBJU = zipfile_.o fileio_.o util_.o globals.o riscos.o acornzip_.o swiven.o
  30. OBJN = zipnote.o $(OBJU)
  31. OBJC = zipcloak.o $(OBJU) crc32_.o crypt_.o ttyio.o
  32. OBJS = zipsplit.o $(OBJU)
  33. ZIP_H = zip.h ziperr.h tailor.h acorn/osdep.h acorn/riscos.h acorn/swiven.h
  34. all: zip zipnote zipsplit zipcloak
  35. install: %.zip %.zipnote %.zipsplit %.zipcloak %.zipsfx \
  36. zip zipnote zipsplit zipcloak zipsfx
  37. $(SQUEEZE) zip %.zip
  38. $(SQUEEZE) zipnote %.zipnote
  39. $(SQUEEZE) zipsplit %.zipsplit
  40. $(SQUEEZE) zipcloak %.zipcloak
  41. copy acorn.zipsfx %.zipsfx ~CVF
  42. # suffix rules
  43. .SUFFIXES: _.o .o .c
  44. .c_.o:
  45. $(CC) $(CFLAGS) -DUTIL -c $*.c -o $*_.o
  46. .c.o:
  47. $(CC) $(CFLAGS) -c $<
  48. .s.o:
  49. $(ASM) $(ASMFLAGS) -from @*.s -to @*.o
  50. # rules for zip, zipnote, zipcloak and zipsplit
  51. $(OBJZ): $(ZIP_H)
  52. $(OBJI): $(ZIP_H)
  53. $(OBJN): $(ZIP_H)
  54. $(OBJS): $(ZIP_H)
  55. $(OBJC): $(ZIP_H)
  56. zip.o crc32.o crypt.o fileio.o zipfile.o zipup.o: crc32.h
  57. zipcloak.o crc32_.o crypt_.o fileio_.o zipfile_.o: crc32.h
  58. zip.o zipup.o crypt.o ttyio.o zipcloak.o crypt_.o: crypt.h
  59. zip.o zipup.o zipnote.o zipcloak.o zipsplit.o: revision.h
  60. zip.o crypt.o ttyio.o zipcloak.o crypt_.o: ttyio.h
  61. crc32_.o: crc32.c
  62. $(CC) $(CFLAGS) -DUTIL -c c.crc32 -o o.crc32_
  63. crypt_.o: crypt.c
  64. $(CC) $(CFLAGS) -DUTIL -c c.crypt -o o.crypt_
  65. util_.o: util.c
  66. $(CC) $(CFLAGS) -DUTIL -c c.util -o o.util_
  67. fileio_.o: fileio.c
  68. $(CC) $(CFLAGS) -DUTIL -c c.fileio -o o.fileio_
  69. zipfile_.o: zipfile.c
  70. $(CC) $(CFLAGS) -DUTIL -c c.zipfile -o o.zipfile_
  71. acornzip_.o: acorn/acornzip.c $(ZIP_H)
  72. $(CC) $(CFLAGS) -DUTIL -c acorn/acornzip.c -o o.acornzip_
  73. riscos.o: acorn/riscos.c acorn/riscos.h
  74. $(CC) $(CFLAGS) -c acorn/riscos.c
  75. acornzip.o: acorn/acornzip.c $(ZIP_H)
  76. $(CC) $(CFLAGS) -c acorn/acornzip.c
  77. match.o: acorn/match.s
  78. $(ASM) $(ASMFLAGS) -from acorn.s.match -to o.match
  79. sendbits.o: acorn/sendbits.s
  80. $(ASM) $(ASMFLAGS) -from acorn.s.sendbits -to o.sendbits
  81. swiven.o: acorn/swiven.s
  82. $(ASM) $(ASMFLAGS) -from acorn.s.swiven -to o.swiven
  83. zip: $(OBJZ) $(OBJI) $(OBJA)
  84. $(BIND) -o zip$(E) $(LFLAGS1) $(OBJZ) $(OBJI) $(OBJA) $(LFLAGS2)
  85. zipnote: $(OBJN)
  86. $(BIND) -o zipnote$(E) $(LFLAGS1) $(OBJN) $(LFLAGS2)
  87. zipcloak: $(OBJC)
  88. $(BIND) -o zipcloak$(E) $(LFLAGS1) $(OBJC) $(LFLAGS2)
  89. zipsplit: $(OBJS)
  90. $(BIND) -o zipsplit$(E) $(LFLAGS1) $(OBJS) $(LFLAGS2)
  91. clean: ;remove zip; remove zipcloak;
  92. remove zipsplit; remove zipnote;
  93. create o.!fake! 0
  94. wipe o.* ~cf
  95. # end of Makefile