makefile.bor 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. # Makefile for Zip, ZipCloak, ZipNote and ZipSplit for
  2. # Borland C++ for Win32.
  3. # By E-Yen Tan.
  4. # Updated on 18 Dec 2005 by Cosmin Truta.
  5. # Last updated on 22 Jun 2008 by Christian Spieler.
  6. # To use, do "make -fwin32\makefile.bor"
  7. # Add -DNO_ASM to LOC and comment out the ASMOBJS definition below
  8. # if you do not have tasm32.
  9. # Optional nonstandard preprocessor flags (as -DMEDIUM_MEM or -DNO_ASM)
  10. # should be added to the environment via "set LOCAL_ZIP=-DFOO" or added
  11. # to the declaration of LOC here:
  12. !IF $(USEASM)
  13. LOC = $(LOCAL_ZIP)
  14. !ELSE
  15. LOC = -DNO_ASM $(LOCAL_ZIP)
  16. !ENDIF
  17. # CPU type: 3 (i386), 4 (i486), 5 (Pentium), etc.
  18. CPU_TYP = 6
  19. # Uncomment the following macro to use the optimized assembler
  20. # routines in Zip:
  21. !IF $(USEASM)
  22. ASMOBJS = match32.obj
  23. CRCA_O = crc_i386.obj
  24. !ENDIF
  25. ASCPUFLAG = __$(CPU_TYP)86
  26. VPATH=.;win32
  27. CC = bcc32
  28. CFLAGS=-w -w-aus -w-ccc -w-par -w-sig -O2 -I. -DWIN32 $(LOC)
  29. UTILFLAGS=-DUTIL $(CFLAGS) -o
  30. !ifdef USETASM16
  31. AS=tasm
  32. !else
  33. AS=tasm32
  34. !endif
  35. ASFLAGS=-ml -t -m2 -D$(ASCPUFLAG) $(LOC)
  36. LD=ilink32
  37. LDFLAGS=
  38. # variables
  39. OBJZ1 = zip.obj crypt.obj ttyio.obj zipfile.obj zipup.obj fileio.obj util.obj \
  40. crc32.obj $(CRCA_O) globals.obj
  41. OBJZ2 = deflate.obj trees.obj $(ASMOBJS)
  42. OBJZS = win32zip.obj win32.obj win32i64.obj nt.obj
  43. OBJZ = $(OBJZ1) $(OBJZ2) $(OBJZS)
  44. OBJU = zipfile_.obj fileio_.obj util_.obj crc32_.obj $(CRCA_O) globals.obj \
  45. win32_.obj win32i64.obj
  46. OBJN = zipnote.obj $(OBJU)
  47. OBJC = zipcloak.obj crypt_.obj ttyio.obj $(OBJU)
  48. OBJS = zipsplit.obj $(OBJU)
  49. ZIP_H = zip.h ziperr.h tailor.h win32/osdep.h
  50. ZIPS = zip.exe zipnote.exe zipsplit.exe zipcloak.exe
  51. zips: $(ZIPS)
  52. zip.obj: zip.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
  53. $(CC) -c $(CFLAGS) $*.c
  54. zipfile.obj: zipfile.c $(ZIP_H) crc32.h
  55. $(CC) -c $(CFLAGS) $*.c
  56. zipup.obj: zipup.c $(ZIP_H) revision.h crc32.h crypt.h win32/zipup.h
  57. $(CC) -c $(CFLAGS) $*.c
  58. fileio.obj: fileio.c $(ZIP_H) crc32.h
  59. $(CC) -c $(CFLAGS) $*.c
  60. util.obj: util.c $(ZIP_H)
  61. $(CC) -c $(CFLAGS) $*.c
  62. globals.obj: globals.c $(ZIP_H)
  63. $(CC) -c $(CFLAGS) $*.c
  64. deflate.obj: deflate.c $(ZIP_H)
  65. $(CC) -c $(CFLAGS) $*.c
  66. trees.obj: trees.c $(ZIP_H)
  67. $(CC) -c $(CFLAGS) $*.c
  68. crc32.obj: crc32.c $(ZIP_H) crc32.h
  69. $(CC) -c $(CFLAGS) $*.c
  70. crypt.obj: crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
  71. $(CC) -c $(CFLAGS) $*.c
  72. ttyio.obj: ttyio.c $(ZIP_H) crypt.h ttyio.h
  73. $(CC) -c $(CFLAGS) $*.c
  74. win32zip.obj: win32/win32zip.c $(ZIP_H) win32/win32zip.h win32/nt.h
  75. $(CC) -c $(CFLAGS) win32/$*.c
  76. win32.obj: win32/win32.c $(ZIP_H) win32/win32zip.h
  77. $(CC) -c $(CFLAGS) win32/$*.c
  78. win32i64.obj: win32/win32i64.c $(ZIP_H)
  79. $(CC) -c $(CFLAGS) win32/$*.c
  80. nt.obj: win32/nt.c $(ZIP_H) win32/nt.h
  81. $(CC) -c $(CFLAGS) win32/$*.c
  82. zipcloak.obj: zipcloak.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
  83. $(CC) -c $(CFLAGS) $*.c
  84. zipnote.obj: zipnote.c $(ZIP_H) revision.h
  85. $(CC) -c $(CFLAGS) $*.c
  86. zipsplit.obj: zipsplit.c $(ZIP_H) revision.h
  87. $(CC) -c $(CFLAGS) $*.c
  88. zipfile_.obj: zipfile.c $(ZIP_H) crc32.h
  89. $(CC) -c $(UTILFLAGS)$* zipfile.c
  90. fileio_.obj: fileio.c $(ZIP_H) crc32.h
  91. $(CC) -c $(UTILFLAGS)$* fileio.c
  92. util_.obj: util.c $(ZIP_H)
  93. $(CC) -c $(UTILFLAGS)$* util.c
  94. crc32_.obj: crc32.c $(ZIP_H) crc32.h
  95. $(CC) -c $(UTILFLAGS)$* crc32.c
  96. crypt_.obj: crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
  97. $(CC) -c $(UTILFLAGS)$* crypt.c
  98. win32_.obj: win32/win32.c $(ZIP_H) win32/win32zip.h
  99. $(CC) -c $(UTILFLAGS)$* win32/win32.c
  100. !ifdef USEMASM
  101. crc_i386.obj: win32/crc_i386.asm
  102. masm -ml win32/crc_i386.asm,$@;
  103. !else
  104. !ifndef ASMOVERBCC32
  105. crc_i386.obj: win32/crc_i386.asm
  106. $(AS) $(ASFLAGS) win32\crc_i386.asm, $@ ;
  107. !else
  108. crc_i386.obj: win32/crc_i386.c crc32.h
  109. $(CC) -c $(CFLAGS) -o$@ win32/crc_i386.c
  110. !endif
  111. !endif
  112. !ifdef USEMASM
  113. match32.obj: win32/match32.asm
  114. masm -ml win32/match32.asm,$@;
  115. !else
  116. match32.obj: win32/match32.asm
  117. $(AS) $(ASFLAGS) win32\match32.asm, $@ ;
  118. !endif
  119. zip.res: win32/zip.rc revision.h
  120. $(RC) /l 0x409 /fo$@ /i win32 /d WIN32 win32/zip.rc
  121. # Split the command line to fit in the MS-DOS 128 byte limit by using
  122. # Borland-Make specific response file syntax:
  123. zip.exe: $(OBJZ) zip.res
  124. $(LD) -Gn -x -c -ap -Tpe @&&|
  125. c0x32.obj $(OBJZ),$@,,import32.lib cw32.lib,,zip.res
  126. |
  127. zipcloak.exe: $(OBJC)
  128. $(CC) $(LDFLAGS) @&&|
  129. $(OBJC)
  130. |
  131. zipnote.exe: $(OBJN)
  132. $(CC) $(LDFLAGS) @&&|
  133. $(OBJN)
  134. |
  135. zipsplit.exe: $(OBJS)
  136. $(CC) $(LDFLAGS) @&&|
  137. $(OBJS)
  138. |
  139. clean:
  140. -del *.obj
  141. -del *.res
  142. -del *.exe
  143. -del *.tds