1PROG = lzma
2# -Wall -Werror -Wno-delete-non-virtual-dtor
3
4ifdef SystemDrive
5IS_MINGW = 1
6endif
7
8ifdef IS_MINGW
9
10RM = del
11CFLAGS += -c
12LIB2 = -loleaut32 -luuid
13LDFLAGS = -s
14
15FILE_IO =FileIO
16FILE_IO_2 =Windows/$(FILE_IO)
17
18MT_FILES = \
19  LzFindMt.o \
20  Threads.o \
21
22else
23
24RM = rm -f
25CFLAGS += -c -D_7ZIP_ST
26
27FILE_IO =C_FileIO
28FILE_IO_2 =Common/$(FILE_IO)
29
30
31endif
32
33
34OBJS = \
35  $(MT_FILES) \
36  $(FILE_IO).o \
37  LzmaAlone.o \
38  Bench.o \
39  BenchCon.o \
40  ConsoleClose.o \
41  LzmaDecoder.o \
42  LzmaEncoder.o \
43  LzmaRegister.o \
44  CreateCoder.o \
45  CWrappers.o \
46  FileStreams.o \
47  FilterCoder.o \
48  MethodProps.o \
49  StreamUtils.o \
50  CommandLineParser.o \
51  CRC.o \
52  CrcReg.o \
53  IntToString.o \
54  MyString.o \
55  MyVector.o \
56  MyWindows.o \
57  StringConvert.o \
58  StringToInt.o \
59  PropVariant.o \
60  System.o \
61  7zCrc.o \
62  7zCrcOpt.o \
63  Alloc.o \
64  Bra86.o \
65  CpuArch.o \
66  LzFind.o \
67  LzmaDec.o \
68  LzmaEnc.o \
69  Lzma86Dec.o \
70  Lzma86Enc.o \
71
72
73all: $(PROG)
74
75$(PROG): $(OBJS)
76	$(CXX) -pipe -O2 -fno-strict-aliasing  -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB2)
77
78LzmaAlone.o: LzmaAlone.cpp
79	$(CXX) $(CFLAGS) LzmaAlone.cpp
80
81Bench.o: ../../UI/Common/Bench.cpp
82	$(CXX) $(CFLAGS) ../../UI/Common/Bench.cpp
83
84BenchCon.o: ../../UI/Console/BenchCon.cpp
85	$(CXX) $(CFLAGS) ../../UI/Console/BenchCon.cpp
86
87ConsoleClose.o: ../../UI/Console/ConsoleClose.cpp
88	$(CXX) $(CFLAGS) ../../UI/Console/ConsoleClose.cpp
89
90LzmaDecoder.o: ../../Compress/LzmaDecoder.cpp
91	$(CXX) $(CFLAGS) ../../Compress/LzmaDecoder.cpp
92
93LzmaEncoder.o: ../../Compress/LzmaEncoder.cpp
94	$(CXX) $(CFLAGS) ../../Compress/LzmaEncoder.cpp
95
96LzmaRegister.o: ../../Compress/LzmaRegister.cpp
97	$(CXX) $(CFLAGS) ../../Compress/LzmaRegister.cpp
98
99CreateCoder.o: ../../Common/CreateCoder.cpp
100	$(CXX) $(CFLAGS) ../../Common/CreateCoder.cpp
101
102CWrappers.o: ../../Common/CWrappers.cpp
103	$(CXX) $(CFLAGS) ../../Common/CWrappers.cpp
104
105FileStreams.o: ../../Common/FileStreams.cpp
106	$(CXX) $(CFLAGS) ../../Common/FileStreams.cpp
107
108FilterCoder.o: ../../Common/FilterCoder.cpp
109	$(CXX) $(CFLAGS) ../../Common/FilterCoder.cpp
110
111MethodProps.o: ../../Common/MethodProps.cpp
112	$(CXX) $(CFLAGS) ../../Common/MethodProps.cpp
113
114StreamUtils.o: ../../Common/StreamUtils.cpp
115	$(CXX) $(CFLAGS) ../../Common/StreamUtils.cpp
116
117$(FILE_IO).o: ../../../$(FILE_IO_2).cpp
118	$(CXX) $(CFLAGS) ../../../$(FILE_IO_2).cpp
119
120
121CommandLineParser.o: ../../../Common/CommandLineParser.cpp
122	$(CXX) $(CFLAGS) ../../../Common/CommandLineParser.cpp
123
124CRC.o: ../../../Common/CRC.cpp
125	$(CXX) $(CFLAGS) ../../../Common/CRC.cpp
126
127CrcReg.o: ../../../Common/CrcReg.cpp
128	$(CXX) $(CFLAGS) ../../../Common/CrcReg.cpp
129
130IntToString.o: ../../../Common/IntToString.cpp
131	$(CXX) $(CFLAGS) ../../../Common/IntToString.cpp
132
133MyString.o: ../../../Common/MyString.cpp
134	$(CXX) $(CFLAGS) ../../../Common/MyString.cpp
135
136MyVector.o: ../../../Common/MyVector.cpp
137	$(CXX) $(CFLAGS) ../../../Common/MyVector.cpp
138
139MyWindows.o: ../../../Common/MyWindows.cpp
140	$(CXX) $(CFLAGS) ../../../Common/MyWindows.cpp
141
142StringConvert.o: ../../../Common/StringConvert.cpp
143	$(CXX) $(CFLAGS) ../../../Common/StringConvert.cpp
144
145StringToInt.o: ../../../Common/StringToInt.cpp
146	$(CXX) $(CFLAGS) ../../../Common/StringToInt.cpp
147
148PropVariant.o: ../../../Windows/PropVariant.cpp
149	$(CXX) $(CFLAGS) ../../../Windows/PropVariant.cpp
150
151System.o: ../../../Windows/System.cpp
152	$(CXX) $(CFLAGS) ../../../Windows/System.cpp
153
1547zCrc.o: ../../../../C/7zCrc.c
155	$(CC) $(CFLAGS) ../../../../C/7zCrc.c
156
1577zCrcOpt.o: ../../../../C/7zCrcOpt.c
158	$(CC) $(CFLAGS) ../../../../C/7zCrcOpt.c
159
160Alloc.o: ../../../../C/Alloc.c
161	$(CC) $(CFLAGS) ../../../../C/Alloc.c
162
163Bra86.o: ../../../../C/Bra86.c
164	$(CC) $(CFLAGS) ../../../../C/Bra86.c
165
166CpuArch.o: ../../../../C/CpuArch.c
167	$(CC) $(CFLAGS) ../../../../C/CpuArch.c
168
169LzFind.o: ../../../../C/LzFind.c
170	$(CC) $(CFLAGS) ../../../../C/LzFind.c
171
172ifdef MT_FILES
173LzFindMt.o: ../../../../C/LzFindMt.c
174	$(CC) $(CFLAGS) ../../../../C/LzFindMt.c
175
176Threads.o: ../../../../C/Threads.c
177	$(CC) $(CFLAGS) ../../../../C/Threads.c
178endif
179
180LzmaDec.o: ../../../../C/LzmaDec.c
181	$(CC) $(CFLAGS) ../../../../C/LzmaDec.c
182
183LzmaEnc.o: ../../../../C/LzmaEnc.c
184	$(CC) $(CFLAGS) ../../../../C/LzmaEnc.c
185
186Lzma86Dec.o: ../../../../C/Lzma86Dec.c
187	$(CC) $(CFLAGS) ../../../../C/Lzma86Dec.c
188
189Lzma86Enc.o: ../../../../C/Lzma86Enc.c
190	$(CC) $(CFLAGS) ../../../../C/Lzma86Enc.c
191
192clean:
193	-$(RM) $(PROG) $(OBJS)
194