makefile.lcc 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # Makefile for Zip, ZipCloak, ZipNote and ZipSplit using LCC-Win32.
  2. # By E-Yen Tan (3 June 1998).
  3. # Last updated 9 February 2008 (Christian Spieler).
  4. # This compiler evaluates #include locations relative to current working dir,
  5. # not relative to the location of the file containing the #include directive.
  6. # As a consequence, a "-Iwin32" option is required to allow compilation of
  7. # the WIN32 specific sources.
  8. CC = lcc
  9. # -O caused a segmentation violation with previous versions of lcc, but
  10. # now the optimizer seems to be fixed.
  11. CCFLAGS = -Zp8 -O -DWIN32
  12. AS = lcc
  13. ASFLAGS =
  14. LD = lcclnk
  15. LDFLAGS = -s
  16. # Optional macros should be declared below.
  17. # LCC's Make will not read the LOCAL_ZIP environment variable.
  18. LOC = $(ASMFLG)
  19. # Options to select optimized assembler code for CRC32 calculation.
  20. #ifdef USEASM
  21. CRCA_O = crc_lcc.obj
  22. OBJA = lm32_lcc.obj
  23. ASMFLG = -DASM_CRC -DASMV
  24. #else
  25. #CRCA_O =
  26. #OBJA =
  27. #ASMFLG = -DNO_ASM
  28. #endif
  29. CFLAGS = $(CCFLAGS) $(LOC)
  30. OBJZS = win32.obj win32zip.obj nt.obj $(OBJA)
  31. OBJUS = win32_.obj
  32. OBJZ1 = zip.obj zipfile.obj zipup.obj fileio.obj util.obj
  33. OBJZ2 = crc32.obj $(CRCA_O) globals.obj
  34. OBJZ3 = deflate.obj trees.obj crypt.obj ttyio.obj
  35. OBJZ = $(OBJZ1) $(OBJZ2) $(OBJZ3) $(OBJZS)
  36. OBJU1 = zipfile_.obj fileio_.obj util_.obj crc32_.obj globals.obj
  37. OBJU = $(OBJU1) $(OBJUS)
  38. OBJN = zipnote.obj $(OBJU)
  39. OBJS = zipsplit.obj $(OBJU)
  40. OBJK = zipcloak.obj crypt_.obj ttyio.obj
  41. OBJC = $(OBJK) $(OBJU)
  42. ZIP_H = zip.h ziperr.h tailor.h win32/osdep.h
  43. # rules
  44. .SUFFIXES: .c .obj
  45. .c.obj:
  46. $(CC) $(CFLAGS) $<
  47. .asm.obj:
  48. $(AS) $(ASFLAGS) $<
  49. all: zip.exe zipnote.exe zipsplit.exe zipcloak.exe
  50. zip.obj: zip.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
  51. zipfile.obj: zipfile.c $(ZIP_H) crc32.h
  52. zipup.obj: zipup.c $(ZIP_H) revision.h crc32.h crypt.h win32/zipup.h
  53. fileio.obj: fileio.c $(ZIP_H) crc32.h
  54. util.obj: util.c $(ZIP_H)
  55. globals.obj: globals.c $(ZIP_H)
  56. deflate.obj: deflate.c $(ZIP_H)
  57. trees.obj: trees.c $(ZIP_H)
  58. crc32.obj: crc32.c $(ZIP_H) crc32.h
  59. crypt.obj: crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
  60. ttyio.obj: ttyio.c $(ZIP_H) crypt.h ttyio.h
  61. win32.obj: win32/win32.c $(ZIP_H) win32/win32zip.h
  62. $(CC) $(CFLAGS) -Iwin32 -Fo$@ win32/win32.c
  63. win32zip.obj: win32/win32zip.c $(ZIP_H) win32/win32zip.h win32/nt.h
  64. $(CC) $(CFLAGS) -Iwin32 -Fo$@ win32/win32zip.c
  65. nt.obj: win32/nt.c $(ZIP_H) win32/nt.h
  66. $(CC) $(CFLAGS) -Iwin32 -Fo$@ win32/nt.c
  67. crc_lcc.obj: win32/crc_lcc.asm
  68. $(AS) $(ASFLAGS) -Fo$@ win32/crc_lcc.asm
  69. lm32_lcc.obj: win32/lm32_lcc.asm
  70. $(AS) $(ASFLAGS) -Fo$@ win32/lm32_lcc.asm
  71. zipcloak.obj: zipcloak.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
  72. zipnote.obj: zipnote.c $(ZIP_H) revision.h
  73. zipsplit.obj: zipsplit.c $(ZIP_H) revision.h
  74. zipfile_.obj: zipfile.c $(ZIP_H) crc32.h
  75. $(CC) $(CFLAGS) -DUTIL -Fo$@ zipfile.c
  76. fileio_.obj: fileio.c $(ZIP_H) crc32.h
  77. $(CC) $(CFLAGS) -DUTIL -Fo$@ fileio.c
  78. util_.obj: util.c $(ZIP_H)
  79. $(CC) $(CFLAGS) -DUTIL -Fo$@ util.c
  80. crc32_.obj: crc32.c $(ZIP_H) crc32.h
  81. $(CC) $(CFLAGS) -DUTIL -Fo$@ crc32.c
  82. crypt_.obj: crypt.c $(ZIP_H) crypt.h ttyio.h
  83. $(CC) $(CFLAGS) -DUTIL -Fo$@ crypt.c
  84. win32_.obj: win32/win32.c $(ZIP_H) win32/win32zip.h
  85. $(CC) $(CFLAGS) -DUTIL -Iwin32 -Fo$@ win32/win32.c
  86. zip.exe: $(OBJZ)
  87. $(LD) $(LDFLAGS) -o $@ $(OBJZ)
  88. zipcloak.exe: $(OBJC)
  89. $(LD) $(LDFLAGS) -o $@ $(OBJC)
  90. zipnote.exe: $(OBJN)
  91. $(LD) $(LDFLAGS) -o $@ $(OBJN)
  92. zipsplit.exe: $(OBJS)
  93. $(LD) $(LDFLAGS) -o $@ $(OBJS)