Makefile.emx
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:7k
源码类别:

压缩解压

开发平台:

MultiPlatform

  1. # Makefile for UnZip, fUnZip and UnZipSFX
  2. # for emx 0.9c + rsxnt 1.4 / gcc under WIN32. Derived from makefile.os2
  3. # By E-Yen Tan and Christian Spieler. Last updated 24 November 1998.
  4. #
  5. # This makefile should work fine with GNU make and hopefully some others.
  6. # Tested with Spieler's special GNU make 3.74 gnuish 16-bit version.
  7. #
  8. # If make does not support long command-line passing to gcc, the link step
  9. # will fail. In this case, you have to edit the link commands to use the
  10. # commented-out alternative that creates a link response file "by hand".
  11. #ifdef NOASM
  12. #AS_FLAGS =
  13. #else
  14. AS_FLAGS = -DASM_CRC
  15. #endif
  16. CP=copy
  17. RM=del
  18. CC=gcc -O2 -I. -m486 -Zwin32
  19. CFLAGS=-Wall -DWIN32 $(AS_FLAGS) $(LOCAL_UNZIP)
  20. DLLFLAG=
  21. AS=gcc
  22. ASFLAGS=-Di386
  23. LDFLAGS=-Zsys -o ./
  24. LDFLAGS2=-ladvapi32 -Zsmall-conv -s
  25. OUT=-o
  26. OBJ=.o
  27. #ifdef NOASM
  28. #CRC32=crc32
  29. #CRC32F=crc32f
  30. #CRC32X=crc32_
  31. #else
  32. CRC32=crc_gcc
  33. CRC32F=crc_gcc
  34. CRC32X=crc_gcc
  35. #endif
  36. OBJUS=win32$(OBJ) nt$(OBJ)
  37. OBJXS=win32_$(OBJ) nt_$(OBJ)
  38. OBJFS=win32f$(OBJ)
  39. OSDEP_H=win32/w32cfg.h
  40. # default settings for target dependent macros:
  41. DIRSEP = /
  42. AS_DIRSEP = /
  43. OBJU1 = unzip$(OBJ) $(CRC32)$(OBJ) crctab$(OBJ) crypt$(OBJ) envargs$(OBJ)
  44. OBJU2 = explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ)
  45. OBJU3 = inflate$(OBJ) list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ)
  46. OBJU4 = unreduce$(OBJ) unshrink$(OBJ) zipinfo$(OBJ)
  47. OBJU  = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJU4) $(OBJUS)
  48. OBJX1 = unzipsf_$(OBJ) $(CRC32X)$(OBJ) crctab_$(OBJ) crypt_$(OBJ)
  49. OBJX2 = extract_$(OBJ) fileio_$(OBJ) globals_$(OBJ) inflate_$(OBJ)
  50. OBJX3 = match_$(OBJ) process_$(OBJ) ttyio_$(OBJ)
  51. OBJX  = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJXS)
  52. OBJF  = funzip$(OBJ) $(CRC32F)$(OBJ) cryptf$(OBJ) inflatef$(OBJ) 
  53. globalsf$(OBJ) ttyiof$(OBJ) $(OBJFS)
  54. UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)
  55. # rules
  56. .SUFFIXES: .c $(OBJ)
  57. .c$(OBJ):
  58. $(CC) -c $(CFLAGS) $(DLLFLAG) $(OUT)$@ $<
  59. # targets
  60. all: unzip.exe funzip.exe unzipsfx.exe
  61. # This next bit is nasty, but is needed to overcome the MS-DOS command
  62. # line limit as response files for emx's gcc seem to only work if each
  63. # file is on a different line. DJGPP doesn't do this (if you are at all
  64. # interested).
  65. unzip.exe: $(OBJU)
  66. # @ echo off
  67. # -@ $(RM) unzip.rsp
  68. # @ for %f in ($(OBJU1)) do echo %f >> unzip.rsp
  69. # @ for %f in ($(OBJU2)) do echo %f >> unzip.rsp
  70. # @ for %f in ($(OBJU3)) do echo %f >> unzip.rsp
  71. # @ for %f in ($(OBJU4) $(OBJUS)) do echo %f >> unzip.rsp
  72. # $(CC) $(LDFLAGS)$@ $(DEF) @unzip.rsp $(LDFLAGS2)
  73. $(CC) $(LDFLAGS)$@ $(DEF) $(OBJU) $(LDFLAGS2)
  74. # @ $(RM) unzip.rsp
  75. funzip.exe: $(OBJF)
  76. $(CC) $(LDFLAGS)$@ $(DEF) $(OBJF) $(LDFLAGS2)
  77. unzipsfx.exe: $(OBJX)
  78. # @ echo off
  79. # -@ $(RM) unzipsfx.rsp
  80. # @ for %f in ($(OBJX1)) do echo %f >> unzipsfx.rsp
  81. # @ for %f in ($(OBJX2)) do echo %f >> unzipsfx.rsp
  82. # @ for %f in ($(OBJX3)) do echo %f >> unzipsfx.rsp
  83. # @ for %f in ($(OBJXS)) do echo %f >> unzipsfx.rsp
  84. # $(CC) $(LDFLAGS)$@ $(DEF) @unzipsfx.rsp $(LDFLAGS2)
  85. $(CC) $(LDFLAGS)$@ $(DEF) $(OBJX) $(LDFLAGS2)
  86. # @ $(RM) unzipsfx.rsp
  87. # dependencies
  88. apihelp$(OBJ): apihelp.c $(UNZIP_H) version.h
  89. crc32$(OBJ): crc32.c $(UNZIP_H) zip.h
  90. crctab$(OBJ): crctab.c $(UNZIP_H) zip.h
  91. envargs$(OBJ): envargs.c $(UNZIP_H)
  92. explode$(OBJ): explode.c $(UNZIP_H)
  93. extract$(OBJ): extract.c $(UNZIP_H) crypt.h
  94. fileio$(OBJ): fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
  95. globals$(OBJ): globals.c $(UNZIP_H)
  96. inflate$(OBJ): inflate.c $(UNZIP_H)
  97. list$(OBJ): list.c $(UNZIP_H)
  98. match$(OBJ): match.c $(UNZIP_H)
  99. process$(OBJ): process.c $(UNZIP_H)
  100. ttyio$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  101. unreduce$(OBJ): unreduce.c $(UNZIP_H)
  102. unshrink$(OBJ): unshrink.c $(UNZIP_H)
  103. unzip$(OBJ): unzip.c $(UNZIP_H) crypt.h version.h consts.h
  104. api$(OBJ): api.c $(UNZIP_H) version.h
  105. zipinfo$(OBJ): zipinfo.c $(UNZIP_H)
  106. funzip$(OBJ): funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h # funzip only
  107. $(CC) -c $(CFLAGS) $(OUT)$@ funzip.c
  108. unzipstb$(OBJ): unzipstb.c # DLL version
  109. $(CC) -c $(CFLAGS) $(OUT)$@ unzipstb.c
  110. win32$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h version.h # win32 only
  111. $(CC) -c $(CFLAGS) $(OUT)$@ win32$(DIRSEP)win32.c
  112. win32f$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h # win32 funzip
  113. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ win32$(DIRSEP)win32.c
  114. win32_$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h # win32 unzipsfx
  115. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ win32$(DIRSEP)win32.c
  116. nt$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h # win32 only
  117. $(CC) -c $(CFLAGS) $(OUT)$@ win32$(DIRSEP)nt.c
  118. nt_$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h # win32 only
  119. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ win32$(DIRSEP)nt.c
  120. os2$(OBJ): os2/os2.c $(UNZIP_H) version.h # OS/2 only
  121. $(CC) -c $(CFLAGS) $(DLLFLAG) $(OUT)$@ os2$(DIRSEP)os2.c
  122. os2_$(OBJ): os2/os2.c $(UNZIP_H) # OS/2 unzipsfx
  123. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ os2$(DIRSEP)os2.c
  124. os2acl$(OBJ): os2/os2acl.c $(UNZIP_H) version.h # OS/2 only
  125. $(CC) -c $(CFLAGS) $(DLLFLAG) $(OUT)$@ os2$(DIRSEP)os2acl.c
  126. rexxhelp$(OBJ): os2/rexxhelp.c # OS/2 DLL only
  127. $(CC) -c $(CFLAGS) $(DLLFLAG) $(OUT)$@ os2$(DIRSEP)rexxhelp.c
  128. rexxapi$(OBJ): os2/rexxapi.c # OS/2 DLL only
  129. $(CC) -c $(CFLAGS) $(DLLFLAG) $(OUT)$@ os2$(DIRSEP)rexxapi.c
  130. crc_i86$(OBJ): msdos/crc_i86.asm # 16bit only
  131. $(AS) $(ASFLAGS) msdos$(AS_DIRSEP)crc_i86.asm $(ASEOL)
  132. crc_i386$(OBJ): win32/crc_i386.asm # 32bit, MASM
  133. $(AS) $(ASFLAGS) win32$(AS_DIRSEP)crc_i386.asm $(ASEOL)
  134. crc_gcc$(OBJ): crc_i386.S # 32bit, GNU AS
  135. $(AS) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.S
  136. crypt$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
  137. $(CC) -c $(CFLAGS) $(DLLFLAG) $(OUT)$@ crypt.c
  138. cryptf$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  139. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ crypt.c
  140. crc32f$(OBJ): crc32.c $(UNZIP_H) zip.h # funzip only
  141. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ crc32.c
  142. globalsf$(OBJ): globals.c $(UNZIP_H) # funzip only
  143. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ globals.c
  144. inflatef$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # funzip only
  145. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ inflate.c
  146. ttyiof$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  147. $(CC) -c $(CFLAGS) -DFUNZIP $(OUT)$@ ttyio.c
  148. crc32_$(OBJ): crc32.c $(UNZIP_H) zip.h # unzipsfx only
  149. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crc32.c
  150. crctab_$(OBJ): crctab.c $(UNZIP_H) zip.h # unzipsfx only
  151. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crctab.c
  152. crypt_$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # unzipsfx only
  153. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ crypt.c
  154. extract_$(OBJ): extract.c $(UNZIP_H) crypt.h # unzipsfx only
  155. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ extract.c
  156. fileio_$(OBJ): fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h # unzipsfx only
  157. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ fileio.c
  158. globals_$(OBJ): globals.c $(UNZIP_H) # unzipsfx only
  159. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ globals.c
  160. inflate_$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # unzipsfx only
  161. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ inflate.c
  162. match_$(OBJ): match.c $(UNZIP_H) # unzipsfx only
  163. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ match.c
  164. process_$(OBJ): process.c $(UNZIP_H) # unzipsfx only
  165. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ process.c
  166. ttyio_$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # unzipsfx only
  167. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ ttyio.c
  168. unzipsf_$(OBJ): unzip.c $(UNZIP_H) crypt.h version.h consts.h # unzipsfx only
  169. $(CC) -c $(CFLAGS) -DSFX $(OUT)$@ unzip.c