makefile.bor 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. # Makefile for Zip, ZipCloak, ZipNote and ZipSplit for
  2. # Borland (Turbo) C++ 1.0 or 2.0.
  3. # Warning: this file is not suitable for Turbo C 2.0. Use makefile.tc instead.
  4. # To use, do "make -fmakefile.bor"
  5. # WARNING: the small model is not supported.
  6. # Add -DSMALL_MEM or -DMEDIUM_MEM to the LOC macro if you wish to reduce
  7. # the memory requirements.
  8. # Add -DNO_ASM to CFLAGS and comment out the ASMOBJS definition if
  9. # you do not have tasm.
  10. # Optional nonstandard preprocessor flags (as -DMEDIUM_MEM or -DNO_ASM)
  11. # should be added to the environment via "set LOCAL_ZIP=-DFOO" or added
  12. # to the declaration of LOC here:
  13. LOC = -DDOS -DNO_SECURE_TESTS $(LOCAL_ZIP)
  14. # Zip requires compact or large memory model.
  15. # with 2.1, compact model exceeds 64k code segment; use large model
  16. ZIPMODEL=l # large model for Zip and ZipUtils
  17. # name of Flag to select memory model for assembler compiles, supported
  18. # values are __SMALL__ , __MEDIUM__ , __COMPACT__ , __LARGE__ :
  19. ASMODEL=__LARGE__ # keep in sync with ZIPMODEL definition !!
  20. # Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc.
  21. CPU_TYP = 0
  22. # Uncomment the following macro to use the optimized assembler
  23. # routines in Zip:
  24. CRCA_O = crc_i86.obj
  25. ASMOBJS = match.obj $(CRCA_O)
  26. ASCPUFLAG = __$(CPU_TYP)86
  27. !if $(CPU_TYP) != 0
  28. CC_CPUFLG = -$(CPU_TYP)
  29. !endif
  30. VPATH=.;msdos
  31. # ------------- Turbo C++, Borland C++ -------------
  32. !if $(CC_REV) == 1
  33. CC = tcc
  34. !else
  35. ! if !$(CC_REV)
  36. CC_REV = 3
  37. ! endif
  38. CC = bcc
  39. !endif
  40. MODEL=-m$(ZIPMODEL)
  41. !if $(CC_REV) == 1
  42. CFLAGS=-w -w-eff -w-def -w-sig -w-cln -a -d -G -O -Z $(CC_CPUFLG) $(MODEL) $(LOC)
  43. !else
  44. CFLAGS=-w -w-cln -O2 -Z $(CC_CPUFLG) $(MODEL) $(LOC)
  45. !endif
  46. UTILFLAGS=-DUTIL $(CFLAGS) -o
  47. # for Turbo C++ 1.0, replace bcc with tcc and use the upper version of CFLAGS
  48. AS=tasm
  49. ASFLAGS=-ml -t -m2 -DDYN_ALLOC -DSS_NEQ_DS -D$(ASCPUFLAG) -D$(ASMODEL) $(LOC)
  50. LD=$(CC)
  51. LDFLAGS=$(MODEL)
  52. # ------------- Common declarations:
  53. STRIP=@rem
  54. # If you don't have UPX, LZEXE, or PKLITE, get one of them. Then define:
  55. # (NOTE: upx needs a 386 or higher system to run the exe compressor)
  56. #STRIP=upx --8086 --best
  57. # or
  58. #STRIP=lzexe
  59. # or (if you've registered PKLITE)
  60. #STRIP=pklite
  61. # This makes a big difference in .exe size (and possibly load time)
  62. # ------------- Used by install rule
  63. # set BIN to the directory you want to install the executables to
  64. BIN = c:\util
  65. # variables
  66. OBJZ = zip.obj crypt.obj ttyio.obj zipfile.obj zipup.obj fileio.obj util.obj \
  67. crc32.obj globals.obj
  68. OBJI = deflate.obj trees.obj $(ASMOBJS) msdos.obj
  69. OBJU = zipfile_.obj fileio_.obj util_.obj globals.obj msdos_.obj
  70. OBJN = zipnote.obj $(OBJU)
  71. OBJC = zipcloak.obj crc32_.obj crypt_.obj ttyio.obj $(OBJU)
  72. OBJS = zipsplit.obj $(OBJU)
  73. ZIP_H = zip.h ziperr.h tailor.h msdos/osdep.h
  74. ZIPS = zip.exe zipnote.exe zipsplit.exe zipcloak.exe
  75. zips: $(ZIPS)
  76. zip.obj: zip.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
  77. $(CC) -c $(CFLAGS) $*.c
  78. zipfile.obj: zipfile.c $(ZIP_H) crc32.h
  79. $(CC) -c $(CFLAGS) $*.c
  80. zipup.obj: zipup.c $(ZIP_H) revision.h crc32.h crypt.h msdos/zipup.h
  81. $(CC) -c $(CFLAGS) $*.c
  82. fileio.obj: fileio.c $(ZIP_H) crc32.h
  83. $(CC) -c $(CFLAGS) $*.c
  84. util.obj: util.c $(ZIP_H)
  85. $(CC) -c $(CFLAGS) $*.c
  86. globals.obj: globals.c $(ZIP_H)
  87. $(CC) -c $(CFLAGS) $*.c
  88. deflate.obj: deflate.c $(ZIP_H)
  89. $(CC) -c $(CFLAGS) $*.c
  90. trees.obj: trees.c $(ZIP_H)
  91. $(CC) -c $(CFLAGS) $*.c
  92. crc32.obj: crc32.c $(ZIP_H) crc32.h
  93. $(CC) -c $(CFLAGS) $*.c
  94. crypt.obj: crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
  95. $(CC) -c $(CFLAGS) $*.c
  96. ttyio.obj: ttyio.c $(ZIP_H) crypt.h ttyio.h
  97. $(CC) -c $(CFLAGS) $*.c
  98. msdos.obj: msdos/msdos.c $(ZIP_H)
  99. $(CC) -c $(CFLAGS) msdos/$*.c
  100. zipcloak.obj: zipcloak.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
  101. $(CC) -c $(CFLAGS) $*.c
  102. zipnote.obj: zipnote.c $(ZIP_H) revision.h
  103. $(CC) -c $(CFLAGS) $*.c
  104. zipsplit.obj: zipsplit.c $(ZIP_H) revision.h
  105. $(CC) -c $(CFLAGS) $*.c
  106. zipfile_.obj: zipfile.c $(ZIP_H) crc32.h
  107. $(CC) -c $(UTILFLAGS)$* zipfile.c
  108. fileio_.obj: fileio.c $(ZIP_H) crc32.h
  109. $(CC) -c $(UTILFLAGS)$* fileio.c
  110. util_.obj: util.c $(ZIP_H)
  111. $(CC) -c $(UTILFLAGS)$* util.c
  112. crc32_.obj: crc32.c $(ZIP_H) crc32.h
  113. $(CC) -c $(UTILFLAGS) crc32.c
  114. crypt_.obj: crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
  115. $(CC) -c $(UTILFLAGS)$* crypt.c
  116. msdos_.obj: msdos/msdos.c $(ZIP_H)
  117. $(CC) -c $(UTILFLAGS)$* msdos/msdos.c
  118. crc_i86.obj: msdos/crc_i86.asm
  119. $(AS) $(ASFLAGS) msdos\crc_i86.asm ;
  120. match.obj: msdos/match.asm
  121. $(AS) $(ASFLAGS) msdos\match.asm ;
  122. # we must cut the command line to fit in the MS/DOS 128 byte limit:
  123. zip.exe: $(OBJZ) $(OBJI)
  124. echo $(OBJZ) > zip.rsp
  125. echo $(OBJI) >> zip.rsp
  126. $(LD) $(LDFLAGS) @zip.rsp
  127. del zip.rsp
  128. $(STRIP) zip.exe
  129. zipcloak.exe: $(OBJC)
  130. echo $(OBJC) > zipc.rsp
  131. $(LD) $(LDFLAGS) @zipc.rsp
  132. del zipc.rsp
  133. $(STRIP) zipcloak.exe
  134. zipnote.exe: $(OBJN)
  135. echo $(OBJN) > zipn.rsp
  136. $(LD) $(LDFLAGS) @zipn.rsp
  137. del zipn.rsp
  138. $(STRIP) zipnote.exe
  139. zipsplit.exe: $(OBJS)
  140. echo $(OBJS) > zips.rsp
  141. $(LD) $(LDFLAGS) @zips.rsp
  142. del zips.rsp
  143. $(STRIP) zipsplit.exe
  144. install: $(ZIPS)
  145. copy /b *.exe $(BIN)
  146. clean:
  147. del *.obj
  148. del *.exe