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

压缩解压

开发平台:

MultiPlatform

  1. # Makefile for UnZip, fUnZip and UnZipSFX for native Win32-Intel ports of gcc.
  2. # Currently supported implementations: Cygnus/Win32 and MinGW32.
  3. #
  4. # First version: Cosmin Truta <cosmint@cs.ubbcluj.ro>, Dec 1997.
  5. # Last revision: Christian Spieler, 29-Apr-1998
  6. #
  7. # To use, do "make -f win32/makefile.gcc".
  8. ### Optional section
  9. # Optional nonstandard preprocessor flags (as -DUSE_ZLIB or -DUSE_SMITH_CODE)
  10. # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added
  11. # to the declaration of LOCFLAGS here:
  12. LOCFLAGS = $(LOCAL_UNZIP)
  13. ### Compiler-specific section
  14. # ------------ GNU C ------------
  15. CC = gcc
  16. #AS = as
  17. AS = $(CC)
  18. #LD = ld
  19. LD = $(CC)
  20. # Quiet
  21. CC_QUIET_OPT =
  22. AS_QUIET_OPT = $(CC_QUIET_OPT)
  23. LD_QUIET_OPT = $(CC_QUIET_OPT)
  24. # Warnings
  25. CC_WARN_OPT = -Wall
  26. AS_WARN_OPT = $(CC_WARN_OPT)
  27. LD_WARN_OPT =
  28. # Debug version
  29. CC_DEBUG_OPT = -g
  30. AS_DEBUG_OPT = $(CC_DEBUG_OPT)
  31. LD_DEBUG_OPT = $(CC_DEBUG_OPT)
  32. # Release version
  33. CC_RELEASE_OPT =
  34. AS_RELEASE_OPT =
  35. LD_RELEASE_OPT = -s
  36. # Smallest code
  37. CC_SIZE_OPT = -O1
  38. # Fastest code
  39. CC_SPEED_OPT = -O2
  40. # Output object file name
  41. CC_OUT_OPT = -o
  42. # Other specific options
  43. CC_SPECIFIC_OPT = -c -DASM_CRC -DWIN32
  44. AS_SPECIFIC_OPT = -c
  45. LD_SPECIFIC_OPT = -o $@
  46. # Libraries for the debug & release version
  47. LD_RELEASE_LIBS = -luser32 -ladvapi32
  48. LD_DEBUG_LIBS = $(LD_RELEASE_LIBS)
  49. ### System-specific section
  50. # Suffixes
  51. OBJ = .o
  52. EXE = .exe
  53. .SUFFIXES: .c .S $(OBJ) $(EXE)
  54. # Commands
  55. RM = rm -f
  56. ### General section
  57. CFLAGS  = $(CC_SPECIFIC_OPT) $(CC_QUIET_OPT) $(CC_WARN_OPT) $(LOCFLAGS) 
  58.  $(CC_OUT_OPT) $@
  59. ASFLAGS = $(AS_SPECIFIC_OPT) $(AS_QUIET_OPT) $(AS_WARN_OPT) $(LOCFLAGS)
  60. LDFLAGS = $(LD_SPECIFIC_OPT) $(LD_QUIET_OPT) $(LD_WARN_OPT)
  61. # To build with debug info, use 'make DEBUG=1'.
  62. ifdef DEBUG
  63. CVER     = $(CC_DEBUG_OPT)
  64. ASVER    = $(AS_DEBUG_OPT)
  65. LDVER    = $(LD_DEBUG_OPT)
  66. GENFLAGS =
  67. FFLAGS   = -DFUNZIP
  68. SFXFLAGS = -DSFX
  69. LDLIBS   = $(LD_DEBUG_LIBS)
  70. else
  71. CVER     = $(CC_RELEASE_OPT)
  72. ASVER    = $(AS_RELEASE_OPT)
  73. LDVER    = $(LD_RELEASE_OPT)
  74. GENFLAGS = $(CC_SPEED_OPT)
  75. FFLAGS   = $(CC_SPEED_OPT) -DFUNZIP
  76. SFXFLAGS = $(CC_SIZE_OPT) -DSFX
  77. LDLIBS   = $(LD_RELEASE_LIBS)
  78. endif
  79. # Object files
  80. OBJA  = crc_i386$(OBJ)
  81. OBJS1 = unzip$(OBJ) crc32$(OBJ) crctab$(OBJ) crypt$(OBJ) envargs$(OBJ)
  82. OBJS2 = explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ) inflate$(OBJ)
  83. OBJS3 = list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ) unreduce$(OBJ)
  84. OBJS4 = unshrink$(OBJ) zipinfo$(OBJ) win32$(OBJ) nt$(OBJ)
  85. OBJS  = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJA)
  86. OBJX1 = unzipsfx$(OBJ) crc32$(OBJ) crctab$(OBJ) crypt$(OBJ) extractx$(OBJ)
  87. OBJX2 = fileiox$(OBJ) globalsx$(OBJ) inflatex$(OBJ) matchx$(OBJ) processx$(OBJ)
  88. OBJX3 = ttyiox$(OBJ) win32x$(OBJ) nt$(OBJ)
  89. OBJX  = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJA)
  90. OBJF1 = funzip$(OBJ) crc32$(OBJ) cryptf$(OBJ) globalsf$(OBJ) inflatef$(OBJ)
  91. OBJF2 = ttyiof$(OBJ) win32f$(OBJ)
  92. OBJF  = $(OBJF1) $(OBJF2) $(OBJA)
  93. UNZIP_H = unzip.h unzpriv.h globals.h win32/w32cfg.h
  94. # Default target is all the executables
  95. unzips: unzip$(EXE) funzip$(EXE) unzipsfx$(EXE)
  96. unzip$(EXE): $(OBJS)
  97. $(LD) $(LDFLAGS) $(LDVER) $(OBJS) $(LDLIBS)
  98. unzipsfx$(EXE): $(OBJX)
  99. $(LD) $(LDFLAGS) $(LDVER) $(OBJX) $(LDLIBS)
  100. funzip$(EXE): $(OBJF)
  101. $(LD) $(LDFLAGS) $(LDVER) $(OBJF) $(LDLIBS)
  102. # How to compile sources
  103. .c$(OBJ):
  104. $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) $<
  105. .S$(OBJ):
  106. $(AS) $(ASFLAGS) $(ASVER) $(GENFLAGS) $<
  107. # Dependencies
  108. crc32$(OBJ):    crc32.c $(UNZIP_H) zip.h
  109. crctab$(OBJ):   crctab.c $(UNZIP_H) zip.h
  110. crypt$(OBJ):    crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
  111. envargs$(OBJ):  envargs.c $(UNZIP_H)
  112. explode$(OBJ):  explode.c $(UNZIP_H)
  113. extract$(OBJ):  extract.c $(UNZIP_H) crypt.h
  114. fileio$(OBJ):   fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
  115. funzip$(OBJ):   funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h
  116. globals$(OBJ):  globals.c $(UNZIP_H)
  117. inflate$(OBJ):  inflate.c inflate.h $(UNZIP_H)
  118. list$(OBJ):     list.c $(UNZIP_H)
  119. match$(OBJ):    match.c $(UNZIP_H)
  120. process$(OBJ):  process.c $(UNZIP_H)
  121. ttyio$(OBJ):    ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  122. unreduce$(OBJ): unreduce.c $(UNZIP_H)
  123. unshrink$(OBJ): unshrink.c $(UNZIP_H)
  124. unzip$(OBJ):    unzip.c $(UNZIP_H) crypt.h version.h consts.h
  125. zipinfo$(OBJ):  zipinfo.c $(UNZIP_H)
  126. crc_i386$(OBJ): crc_i386.S
  127. win32$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h
  128. $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. win32/win32.c
  129. nt$(OBJ): win32/nt.c win32/nt.h
  130. $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. win32/nt.c
  131. win32x$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h # unzipsfx only
  132. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. win32/win32.c
  133. ntx$(OBJ): win32/nt.c win32/nt.h # unzipsfx only
  134. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. win32/nt.c
  135. win32f$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h # funzip only
  136. $(CC) $(CFLAGS) $(CVER) $(FFLAGS) -I. win32/win32.c
  137. cryptf$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  138. $(CC) $(CFLAGS) $(CVER) $(FFLAGS) crypt.c
  139. extractx$(OBJ): extract.c $(UNZIP_H) crypt.h # unzipsfx only
  140. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) extract.c
  141. fileiox$(OBJ):   fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h # unzipsfx only
  142. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) fileio.c
  143. globalsx$(OBJ): globals.c $(UNZIP_H) # unzipsfx only
  144. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) globals.c
  145. globalsf$(OBJ): globals.c $(UNZIP_H) # funzip only
  146. $(CC) $(CFLAGS) $(CVER) $(FFLAGS) globals.c
  147. inflatex$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # unzipsfx only
  148. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) inflate.c
  149. inflatef$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h # funzip only
  150. $(CC) $(CFLAGS) $(CVER) $(FFLAGS) inflate.c
  151. matchx$(OBJ): match.c $(UNZIP_H) # unzipsfx only
  152. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) match.c
  153. processx$(OBJ): process.c $(UNZIP_H) # unzipsfx only
  154. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) process.c
  155. ttyiox$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # unzipsfx only
  156. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) ttyio.c
  157. ttyiof$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  158. $(CC) $(CFLAGS) $(CVER) $(FFLAGS) ttyio.c
  159. unzipsfx$(OBJ): unzip.c $(UNZIP_H) crypt.h version.h consts.h # unzipsfx only
  160. $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) unzip.c
  161. clean:
  162. $(RM) *$(OBJ)
  163. $(RM) *$(EXE)