home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / zip22.zip / msdos / makefile.emx < prev    next >
Makefile  |  1997-08-23  |  5KB  |  166 lines

  1. # Makefile for Zip, ZipCloak, ZipNote and ZipSplit
  2. # for emx 0.9b / gcc under MS-DOS. Derived from makefile.os2
  3. # By E-Yen Tan. Last updated 22 September 1996.
  4. #
  5. # This makefile should work fine with GNU make and hopefully some others.
  6. # Tested with GNU make 3.71 gnuish 16-bit and djgpp 32-bit versions.
  7.  
  8. CC=gcc -O2 -m486 -Wimplicit
  9. CFLAGS=-DDOS -DMSDOS -DASM_CRC -DNO_MKTIME
  10. AS=gcc
  11. ASFLAGS=-Di386
  12. LDFLAGS=-o ./
  13. LDFLAGS2=-s -Zsmall-conv
  14. OUT=-o
  15. OBJ=.o
  16. CRC32=crc_gcc
  17. OBJA=matchgcc.o
  18. OBJZS=msdos.o
  19. OBJUS=msdos_.o
  20. OSDEP_H=msdos/osdep.h
  21. RM=del
  22.  
  23. #default settings for target dependent macros:
  24. DIRSEP = /
  25. AS_DIRSEP = /
  26. LOCAL_OPTS =
  27. CCFLAGS = $(CFLAGS) $(LOCAL_OPTS)
  28.  
  29.  
  30. OBJZ1 = zip$(OBJ) zipfile$(OBJ) zipup$(OBJ) fileio$(OBJ) util$(OBJ) \
  31.     $(CRC32)$(OBJ) crctab$(OBJ) globals$(OBJ) \
  32.     deflate$(OBJ) trees$(OBJ) bits$(OBJ) crypt$(OBJ) ttyio$(OBJ)
  33. OBJZ  = $(OBJZ1) $(OBJZS) $(OBJA)
  34.  
  35. OBJU1 = zipfile_$(OBJ) fileio_$(OBJ) util_$(OBJ) globals$(OBJ)
  36. OBJU  = $(OBJU1) $(OBJUS)
  37.  
  38. OBJN =  zipnote$(OBJ) $(OBJU) $(OBJU2)
  39. OBJS =  zipsplit$(OBJ) $(OBJU) $(OBJU2)
  40. OBJC =  zipcloak$(OBJ) crctab$(OBJ) crypt_$(OBJ) ttyio$(OBJ) $(OBJU) $(OBJU2)
  41.  
  42. ZIP_H = zip.h ziperr.h tailor.h $(OSDEP_H)
  43.  
  44. # rules
  45.  
  46. .SUFFIXES: .c $(OBJ)
  47.  
  48. .c$(OBJ):
  49.     $(CC) -c -I. $(CCFLAGS) $<
  50.  
  51. .asm$(OBJ):
  52.     $(AS) $(ASFLAGS) $< $(ASEOL)
  53.  
  54. zips:   zip.exe zipnote.exe zipsplit.exe zipcloak.exe
  55.  
  56. zip$(OBJ):      zip.c $(ZIP_H) revision.h crypt.h ttyio.h
  57. zipfile$(OBJ):  zipfile.c $(ZIP_H)
  58. zipup$(OBJ):    zipup.c $(ZIP_H) revision.h crypt.h os2/os2zip.h os2/zipup.h
  59. fileio$(OBJ):   fileio.c $(ZIP_H)
  60. util$(OBJ):     util.c $(ZIP_H)
  61. globals$(OBJ):  globals.c $(ZIP_H)
  62. deflate$(OBJ):  deflate.c $(ZIP_H)
  63. trees$(OBJ):    trees.c $(ZIP_H)
  64. bits$(OBJ):     bits.c $(ZIP_H) crypt.h
  65. crc32$(OBJ):    crc32.c $(ZIP_H)
  66. crctab$(OBJ):   crctab.c $(ZIP_H)
  67. crypt$(OBJ):    crypt.c $(ZIP_H) crypt.h ttyio.h
  68. ttyio$(OBJ):    ttyio.c $(ZIP_H) crypt.h ttyio.h
  69.  
  70. os2zip$(OBJ):   os2/os2zip.c $(ZIP_H) os2/os2zip.h os2/os2acl.h
  71.     $(CC) -c -I. $(CCFLAGS) os2$(DIRSEP)os2zip.c
  72.  
  73. os2$(OBJ):      os2/os2.c $(ZIP_H) os2/os2zip.h
  74.     $(CC) -c -I. $(CCFLAGS) os2$(DIRSEP)os2.c
  75.  
  76. os2acl$(OBJ):   os2/os2acl.c os2/os2acl.h
  77.     $(CC) -c -I. $(CCFLAGS) os2$(DIRSEP)os2acl.c
  78.  
  79. msdos$(OBJ):    msdos/msdos.c $(ZIP_H)
  80.     $(CC) -c -I. $(CCFLAGS) msdos$(DIRSEP)msdos.c
  81.  
  82. win32zip$(OBJ): win32/win32zip.c $(ZIP_H) win32/win32zip.h win32/nt.h
  83.     $(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)win32zip.c
  84.  
  85. win32$(OBJ):    win32/win32.c $(ZIP_H) win32/win32zip.h
  86.     $(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)win32.c
  87.  
  88. nt$(OBJ):       win32/nt.c $(ZIP_H) win32/nt.h
  89.     $(CC) -c -I. $(CCFLAGS) win32$(DIRSEP)nt.c
  90.  
  91. crc_i86$(OBJ):  msdos/crc_i86.asm                               # 16bit only
  92.     $(AS) $(ASFLAGS) msdos$(AS_DIRSEP)crc_i86.asm $(ASEOL)
  93.  
  94. crc_i386$(OBJ): win32/crc_i386.asm                              # 32bit, MASM
  95.     $(AS) $(ASFLAGS) win32$(AS_DIRSEP)crc_i386.asm $(ASEOL)
  96.  
  97. crc_gcc$(OBJ):  crc_i386.S                                      # 32bit, GNU AS
  98.     $(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.S
  99.  
  100. match$(OBJ):    msdos/match.asm
  101.     $(AS) $(ASFLAGS) msdos$(AS_DIRSEP)match.asm $(ASEOL)
  102.  
  103. match32$(OBJ):  win32/match32.asm
  104.     $(AS) $(ASFLAGS) win32$(AS_DIRSEP)match32.asm
  105.  
  106. matchgcc$(OBJ): match.S
  107.     $(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ match.S
  108.  
  109. zipcloak$(OBJ): zipcloak.c $(ZIP_H) revision.h crypt.h ttyio.h
  110. zipnote$(OBJ):  zipnote.c $(ZIP_H) revision.h
  111. zipsplit$(OBJ): zipsplit.c $(ZIP_H) revision.h
  112.  
  113. zipfile_$(OBJ): zipfile.c $(ZIP_H)
  114.     $(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ zipfile.c
  115.  
  116. fileio_$(OBJ):  fileio.c $(ZIP_H)
  117.     $(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ fileio.c
  118.  
  119. util_$(OBJ):    util.c $(ZIP_H) os2/os2zip.h
  120.     $(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ util.c
  121.  
  122. crypt_$(OBJ):   crypt.c $(ZIP_H) crypt.h ttyio.h
  123.     $(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ crypt.c
  124.  
  125. os2zip_$(OBJ):  os2/os2zip.c $(ZIP_H) os2/os2zip.h
  126.     $(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ os2$(DIRSEP)os2zip.c
  127.  
  128. msdos_$(OBJ):   msdos/msdos.c $(ZIP_H)
  129.     $(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ msdos$(DIRSEP)msdos.c
  130.  
  131. win32_$(OBJ):   win32/win32.c $(ZIP_H) win32/win32zip.h
  132.     $(CC) -c -I. $(CCFLAGS) -DUTIL $(OUT)$@ win32$(DIRSEP)win32.c
  133.  
  134. # This next bit is nasty, but is needed to overcome the MS-DOS command
  135. # line limit as response files for emx's gcc seem to only work if each
  136. # file is on a different line. DJGPP doesn't do this (if you are at all
  137. # interested).
  138.  
  139. zip.exe: $(OBJZ)
  140.     @echo zip$(OBJ) >zip.rsp
  141.     @echo zipfile$(OBJ) >>zip.rsp
  142.     @echo zipup$(OBJ) >>zip.rsp
  143.     @echo fileio$(OBJ) >>zip.rsp
  144.     @echo util$(OBJ) >>zip.rsp
  145.     @echo $(CRC32)$(OBJ) >>zip.rsp
  146.     @echo crctab$(OBJ) >>zip.rsp
  147.     @echo globals$(OBJ) >>zip.rsp
  148.     @echo deflate$(OBJ) >>zip.rsp
  149.     @echo trees$(OBJ) >>zip.rsp
  150.     @echo bits$(OBJ) >>zip.rsp
  151.     @echo crypt$(OBJ) >>zip.rsp
  152.     @echo ttyio$(OBJ) >>zip.rsp
  153.     @echo $(OBJZS) >>zip.rsp
  154.     @echo $(OBJA) >>zip.rsp
  155.     $(CC) $(LDFLAGS)$@ $(DEF) @zip.rsp $(LDFLAGS2)
  156.     $(RM) zip.rsp
  157.  
  158. zipcloak.exe: $(OBJC)
  159.     $(CC) $(LDFLAGS)$@ $(DEF) $(OBJC) $(LDFLAGS2)
  160.  
  161. zipnote.exe: $(OBJN)
  162.     $(CC) $(LDFLAGS)$@ $(DEF) $(OBJN) $(LDFLAGS2)
  163.  
  164. zipsplit.exe: $(OBJS)
  165.     $(CC) $(LDFLAGS)$@ $(DEF) $(OBJS) $(LDFLAGS2)
  166.