makefile 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. PROG = lzma.exe
  2. CFLAGS = $(CFLAGS) \
  3. -DCOMPRESS_MF_MT \
  4. -DBENCH_MT \
  5. LIBS = $(LIBS) oleaut32.lib user32.lib
  6. !IFDEF CPU
  7. LIBS = $(LIBS) bufferoverflowU.lib
  8. CFLAGS = $(CFLAGS) -GS- -Zc:forScope -W4 -Wp64 -DUNICODE -D_UNICODE
  9. !ENDIF
  10. !IFNDEF O
  11. !IFDEF CPU
  12. O=$(CPU)
  13. !ELSE
  14. O=O
  15. !ENDIF
  16. !ENDIF
  17. !IFDEF MY_STATIC_LINK
  18. !IFNDEF MY_SINGLE_THREAD
  19. CFLAGS = $(CFLAGS) -MT
  20. !ENDIF
  21. !ELSE
  22. CFLAGS = $(CFLAGS) -MD
  23. !ENDIF
  24. CFLAGS = $(CFLAGS) -nologo -EHsc -c -Fo$O/
  25. CFLAGS_O1 = $(CFLAGS) -O1
  26. CFLAGS_O2 = $(CFLAGS) -O2
  27. LFLAGS = $(LFLAGS) -nologo -OPT:NOWIN98
  28. PROGPATH = $O\$(PROG)
  29. COMPL_O1 = $(CPP) $(CFLAGS_O1) $**
  30. COMPL_O2 = $(CPP) $(CFLAGS_O2) $**
  31. COMPL = $(CPP) $(CFLAGS_O1) $**
  32. LZMA_OBJS = \
  33. $O\LzmaAlone.obj \
  34. $O\LzmaBench.obj \
  35. $O\LzmaBenchCon.obj \
  36. $O\LzmaRam.obj \
  37. LZMA_OPT_OBJS = \
  38. $O\LZMADecoder.obj \
  39. $O\LZMAEncoder.obj \
  40. COMMON_OBJS = \
  41. $O\CommandLineParser.obj \
  42. $O\CRC.obj \
  43. $O\IntToString.obj \
  44. $O\MyString.obj \
  45. $O\StringConvert.obj \
  46. $O\StringToInt.obj \
  47. $O\MyVector.obj
  48. WIN_OBJS = \
  49. $O\System.obj
  50. 7ZIP_COMMON_OBJS = \
  51. $O\InBuffer.obj \
  52. $O\OutBuffer.obj \
  53. $O\StreamUtils.obj \
  54. LZ_OBJS = \
  55. $O\LZOutWindow.obj \
  56. C_OBJS = \
  57. $O\Alloc.obj \
  58. $O\7zCrc.obj \
  59. $O\Threads.obj \
  60. C_LZ_OBJS = \
  61. $O\MatchFinder.obj \
  62. $O\MatchFinderMt.obj \
  63. OBJS = \
  64. $(LZMA_OBJS) \
  65. $(LZMA_OPT_OBJS) \
  66. $(COMMON_OBJS) \
  67. $(WIN_OBJS) \
  68. $(7ZIP_COMMON_OBJS) \
  69. $(LZ_OBJS) \
  70. $(C_OBJS) \
  71. $(C_LZ_OBJS) \
  72. $O\LzmaRamDecode.obj \
  73. $O\LzmaDecode.obj \
  74. $O\FileStreams.obj \
  75. $O\FileIO.obj \
  76. $O\RangeCoderBit.obj \
  77. $O\BranchX86.obj \
  78. all: $(PROGPATH)
  79. clean:
  80. -del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch
  81. $O:
  82. if not exist "$O" mkdir "$O"
  83. $(PROGPATH): $O $(OBJS)
  84. link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)
  85. $(LZMA_OBJS): $(*B).cpp
  86. $(COMPL)
  87. $(LZMA_OPT_OBJS): ../LZMA/$(*B).cpp
  88. $(COMPL_O2)
  89. $(COMMON_OBJS): ../../../Common/$(*B).cpp
  90. $(COMPL)
  91. $(WIN_OBJS): ../../../Windows/$(*B).cpp
  92. $(COMPL)
  93. $(7ZIP_COMMON_OBJS): ../../Common/$(*B).cpp
  94. $(COMPL)
  95. $(LZ_OBJS): ../LZ/$(*B).cpp
  96. $(COMPL)
  97. $O\RangeCoderBit.obj: ../RangeCoder/$(*B).cpp
  98. $(COMPL)
  99. $O\LzmaRamDecode.obj: LzmaRamDecode.c
  100. $(COMPL_O1)
  101. $O\LzmaDecode.obj: ../../../../C/Compress/Lzma/LzmaDecode.c
  102. $(COMPL_O2)
  103. $O\BranchX86.obj: ../../../../C/Compress/Branch/BranchX86.c
  104. $(COMPL_O2)
  105. $O\FileStreams.obj: ../../Common/FileStreams.cpp
  106. $(COMPL)
  107. $O\FileIO.obj: ../../../Windows/FileIO.cpp
  108. $(COMPL)
  109. $(C_OBJS): ../../../../C/$(*B).c
  110. $(COMPL_O2)
  111. $(C_LZ_OBJS): ../../../../C/Compress/Lz/$(*B).c
  112. $(COMPL_O2)