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

压缩解压

开发平台:

MultiPlatform

  1. # NMAKE Makefile for Windows NT/Windows 95
  2. #   D. Feinleib 7/92 <t-davefe@microsoft.com>
  3. #   H. Gessau 9/93 <henryg@kullmar.kullmar.se>
  4. #   J. Lee 8/95 (johnnyl@microsoft.com)
  5. #
  6. # Last revised:  24 Nov 98
  7. #
  8. # Tested with VC++ 2.0 for NT for MIPS and Alpha, Visual C++ 2.2 for Intel CPUs
  9. #
  10. # Nmake macros for building Windows NT applications
  11. # To build with debug info use 'nmake debug=1'
  12. !IFNDEF debug
  13. NODEBUG=1
  14. !ENDIF
  15. !IF "$(CPU)" == ""  &&  "$(PROCESSOR_ARCHITECTURE)" == "x86"
  16. CPU = i386
  17. !ENDIF
  18. !IF "$(CPU)" == ""  &&  "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
  19. CPU = $(PROCESSOR_ARCHITECTURE)
  20. !ENDIF
  21. !IF "$(CPU)" == ""  &&  "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
  22. CPU = $(PROCESSOR_ARCHITECTURE)
  23. !ENDIF
  24. !IF "$(CPU)" == ""  &&  "$(PROCESSOR_ARCHITECTURE)" == "PPC"
  25. CPU = $(PROCESSOR_ARCHITECTURE)
  26. !ENDIF
  27. !IF "$(CPU)" == ""
  28. CPU = i386
  29. !ENDIF
  30. !include <ntwin32.mak>
  31. # object files
  32. OBJS1 = unzip.obj $(CRC32).obj crctab.obj crypt.obj envargs.obj explode.obj
  33. OBJS2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.obj
  34. OBJS3 = process.obj ttyio.obj unreduce.obj unshrink.obj zipinfo.obj
  35. OBJS4 = win32.obj nt.obj
  36. OBJS  = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4)
  37. OBJX1 = unzipsfx.obj $(CRC32X).obj crctab.obj crypt.obj extract_.obj fileio.obj
  38. OBJX2 = globalsx.obj inflate.obj match.obj process_.obj ttyio.obj
  39. OBJX3 = win32_.obj nt.obj
  40. OBJX  = $(OBJX1) $(OBJX2) $(OBJX3)
  41. OBJF1 = funzip.obj $(CRC32F).obj cryptf.obj globalsf.obj inflatef.obj ttyiof.obj
  42. OBJF2 = win32f.obj
  43. OBJF  = $(OBJF1) $(OBJF2)
  44. UNZIP_H = unzip.h unzpriv.h globals.h win32/w32cfg.h
  45. #CF_LOC = -DMSDOS -DNO_ASM -J
  46. #CF_LOC = -nologo -DNO_ASM -J -DREENTRANT
  47. CF_LOC = -nologo -DNO_ASM -J
  48. #CF_LOC = -nologo -DASM_CRC -J
  49. cvars = $(cvars) $(CF_LOC)
  50. CRC32 = crc32
  51. #CRC32 = crc_i386
  52. CRC32X = $(CRC32)
  53. CRC32F = $(CRC32)
  54. # USER32.LIB is needed for OemToChar and related routines
  55. conlibs=$(conlibs) user32.lib
  56. # Some optimization (if not debugging)
  57. # [GRR 950816:  Steve suggests changing optimization flags to -O2, except for
  58. #  UnZipSFX (-01)]
  59. !IFDEF NODEBUG
  60. !IF "$(CPU)" == "i386"
  61. cdebug = -Ogityb2
  62. !ELSE
  63. cdebug = -Ogitb2
  64. !ENDIF
  65. !ENDIF
  66. # How to compile sources
  67. .c.obj:
  68. $(cc) $(cdebug) $(cflags) $(cvars) -o $@ $<
  69. # How to link
  70. .obj.exe:
  71.    $(link) $(ldebug) $(conflags) $(conlibs) $** -out:$@
  72. # Default target is all the executables
  73. unzips : unzip.exe funzip.exe unzipsfx.exe
  74. unzip.exe:  $(OBJS)
  75. unzipsfx.exe: $(OBJX)
  76. funzip.exe: $(OBJF)
  77. crc32.obj: crc32.c $(UNZIP_H) zip.h
  78. crctab.obj: crctab.c $(UNZIP_H) zip.h
  79. crypt.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
  80. envargs.obj: envargs.c $(UNZIP_H)
  81. explode.obj: explode.c $(UNZIP_H)
  82. extract.obj: extract.c $(UNZIP_H) crypt.h
  83. fileio.obj: fileio.c $(UNZIP_H) crypt.h ttyio.h ebcdic.h
  84. funzip.obj: funzip.c $(UNZIP_H) crypt.h ttyio.h tables.h
  85. globals.obj: globals.c $(UNZIP_H)
  86. inflate.obj: inflate.c inflate.h $(UNZIP_H)
  87. match.obj: match.c $(UNZIP_H)
  88. process.obj: process.c $(UNZIP_H)
  89. ttyio.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
  90. unreduce.obj: unreduce.c $(UNZIP_H)
  91. unshrink.obj: unshrink.c $(UNZIP_H)
  92. unzip.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.h
  93. zipinfo.obj: zipinfo.c $(UNZIP_H)
  94. win32.obj:  win32win32.c $(UNZIP_H) win32nt.h
  95. $(cc) $(cdebug) $(cflags) $(cvars) -I. win32win32.c
  96. nt.obj:  win32nt.c win32nt.h
  97. $(cc) $(cdebug) $(cflags) $(cvars) -I. win32nt.c
  98. crc_i386.obj: win32/crc_i386.asm
  99. masm -ml win32/crc_i386.asm,$@;
  100. win32_.obj: win32win32.c $(UNZIP_H) win32nt.h # unzipsfx only
  101. $(cc) $(cdebug) $(cflags) $(cvars) -I. -DSFX win32win32.c -Fo$@
  102. win32f.obj: win32win32.c $(UNZIP_H) win32nt.h # funzip only
  103. $(cc) $(cdebug) $(cflags) $(cvars) -I. -DFUNZIP win32win32.c -Fo$@
  104. cryptf.obj: crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  105. $(cc) $(cdebug) $(cflags) $(cvars) -DFUNZIP crypt.c -Fo$@
  106. extract_.obj: extract.c $(UNZIP_H) crypt.h # unzipsfx only
  107. $(cc) $(cdebug) $(cflags) $(cvars) -DSFX extract.c -Fo$@
  108. globalsx.obj: globals.c $(UNZIP_H) # unzipsfx only
  109. $(cc) $(cdebug) $(cflags) $(cvars) -DSFX globals.c -Fo$@
  110. globalsf.obj: globals.c $(UNZIP_H) # funzip only
  111. $(cc) $(cdebug) $(cflags) $(cvars) -DFUNZIP globals.c -Fo$@
  112. inflatef.obj: inflate.c inflate.h $(UNZIP_H) crypt.h # funzip only
  113. $(cc) $(cdebug) $(cflags) $(cvars) -DFUNZIP inflate.c -Fo$@
  114. process_.obj: process.c $(UNZIP_H) # unzipsfx only
  115. $(cc) $(cdebug) $(cflags) $(cvars) -DSFX process.c -Fo$@
  116. ttyiof.obj: ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h # funzip only
  117. $(cc) $(cdebug) $(cflags) $(cvars) -DFUNZIP ttyio.c -Fo$@
  118. unzipsfx.obj: unzip.c $(UNZIP_H) crypt.h version.h consts.h # unzipsfx only
  119. $(cc) $(cdebug) $(cflags) $(cvars) -DSFX unzip.c -Fo$@
  120. clean:
  121. del /q $(OBJS) unzip.exe $(OBJF) funzip.exe $(OBJX) unzipsfx.exe