1
ifeq "$(SOURCE_PATH)" ""
2
SOURCE_PATH = ..
3
endif
4
5
#cmd version
6
7
ifeq "$(BUILD_PATH)" ""
8
BUILD_PATH = ..
9
endif
10
11
#
12
# specific stuff for mingw g++ make
13
#
14
CXX	    =	g++
15
CFLAGS	    =	-c -o$@ -O \
16
		-I. -Igenerators -Igenerators/unix \
17
		-Igenerators/win32 -Igenerators/mac \
18
		-Igenerators/symbian -Igenerators/integrity \
19
		-I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
20
		-I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore \
21
		-I$(BUILD_PATH)/src/corelib/global \
22
		-I$(BUILD_PATH)/src/corelib/xml \
23
		-I$(SOURCE_PATH)/mkspecs/win32-g++  \
24
		-I$(SOURCE_PATH)/tools/shared \
25
		-DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NO_PCRE \
26
		-DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP \
27
		-DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
28
		-DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT
29
CXXFLAGS    =   $(CFLAGS)
30
LFLAGS      = -static-libgcc -s
31
LIBS	    = -lole32 -luuid -ladvapi32 -lkernel32
32
LINKQMAKE   =	g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
33
ADDCLEAN    =
34
35
36
#qmake code
37
OBJS        = project.o main.o makefile.o unixmake.o unixmake2.o mingw_make.o \
38
              option.o winmakefile.o projectgenerator.o property.o meta.o \
39
              makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \
40
              borland_bmake.o msvc_nmake.o msvc_vcproj.o msvc_vcxproj.o \
41
              msvc_objectmodel.o msbuild_objectmodel.o symmake.o initprojectdeploy_symbian.o \
42
              symmake_abld.o symmake_sbsv2.o symbiancommon.o registry.o epocroot.o gbuild.o
43
44
ifdef QMAKE_OPENSOURCE_EDITION
45
CFLAGS      += -DQMAKE_OPENSOURCE_EDITION
46
endif
47
48
#qt code
49
QTOBJS= \
50
	qbitarray.o \
51
	qbuffer.o \
52
	qbytearray.o \
53
	qcryptographichash.o \
54
	qvsnprintf.o \
55
	qbytearraymatcher.o \
56
	qconfig.o \
57
	qdatetime.o \
58
	qdir.o \
59
	qdiriterator.o \
60
	qfile.o \
61
	qtemporaryfile.o \
62
	qfileinfo.o \
63
	qabstractfileengine.o \
64
	qfilesystementry.o \
65
	qfilesystemengine.o \
66
	qfilesystemengine_win.o \
67
	qfilesystemiterator_win.o \
68
	qfsfileengine.o \
69
	qfsfileengine_iterator.o \
70
	qfsfileengine_win.o \
71
	qglobal.o \
72
	qhash.o \
73
	qiodevice.o \
74
	qlibraryinfo.o \
75
	qlist.o \
76
	qlinkedlist.o \
77
	qlocale.o \
78
	qlocale_tools.o \
79
	qlocale_win.o \
80
	qmalloc.o \
81
	qmap.o \
82
	qregexp.o \
83
	qtextcodec.o \
84
	qutfcodec.o \
85
	qstring.o \
86
	qstringlist.o \
87
	qsystemerror.o \
88
	qsystemlibrary.o \
89
	qtextstream.o \
90
	quuid.o \
91
	qvector.o \
92
	qurl.o \
93
	qsettings.o \
94
	qsettings_win.o \
95
	qvariant.o \
96
	qmetatype.o \
97
	qxmlstream.o \
98
	qxmlutils.o \
99
	qnumeric.o
100
101
102
qmake.exe: $(OBJS) $(QTOBJS)
103
	$(LINKQMAKE)
104
	-copy qmake.exe $(BUILD_PATH)\bin\qmake.exe
105
106
Makefile: Makefile.win32-g++
107
	@echo "Out of date, please rerun configure"
108
109
clean::
110
	-del $(OBJS) $(QTOBJS) $(ADDCLEAN)
111
112
distclean:: clean
113
	-del qmake
114
115
.c.o:
116
	$(CXX) $(CFLAGS) $<
117
118
.cpp.o:
119
	$(CXX) $(CXXFLAGS) $<
120
121
qconfig.o: $(BUILD_PATH)/src/corelib/global/qconfig.cpp
122
	$(CXX) $(CXXFLAGS) $(BUILD_PATH)/src/corelib/global/qconfig.cpp
123
124
qsettings_win.o: $(SOURCE_PATH)/src/corelib/io/qsettings_win.cpp
125
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qsettings_win.cpp
126
127
qsettings.o: $(SOURCE_PATH)/src/corelib/io/qsettings.cpp
128
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qsettings.cpp
129
130
qvariant.o: $(SOURCE_PATH)/src/corelib/kernel/qvariant.cpp
131
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qvariant.cpp
132
133
qurl.o: $(SOURCE_PATH)/src/corelib/io/qurl.cpp
134
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qurl.cpp
135
136
qtextstream.o: $(SOURCE_PATH)/src/corelib/io/qtextstream.cpp
137
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qtextstream.cpp
138
139
qdatastream.o: $(SOURCE_PATH)/src/corelib/io/qdatastream.cpp
140
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qdatastream.cpp
141
142
qiodevice.o: $(SOURCE_PATH)/src/corelib/io/qiodevice.cpp
143
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qiodevice.cpp
144
145
qlibraryinfo.o: $(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp
146
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp
147
148
qnumeric.o: $(SOURCE_PATH)/src/corelib/global/qnumeric.cpp
149
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/global/qnumeric.cpp
150
151
qmalloc.o: $(SOURCE_PATH)/src/corelib/global/qmalloc.cpp
152
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/global/qmalloc.cpp
153
154
qglobal.o: $(SOURCE_PATH)/src/corelib/global/qglobal.cpp
155
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/global/qglobal.cpp
156
157
qhash.o: $(SOURCE_PATH)/src/corelib/tools/qhash.cpp
158
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qhash.cpp
159
160
qbytearray.o: $(SOURCE_PATH)/src/corelib/tools/qbytearray.cpp
161
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearray.cpp
162
163
qcryptographichash.o: $(SOURCE_PATH)/src/corelib/tools/qcryptographichash.cpp
164
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qcryptographichash.cpp
165
166
qvsnprintf.o: $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp
167
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp
168
169
qbytearraymatcher.o: $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
170
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
171
172
qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
173
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
174
175
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
176
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
177
178
qlocale.o: $(SOURCE_PATH)/src/corelib/tools/qlocale.cpp
179
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlocale.cpp
180
181
qlocale_tools.o: $(SOURCE_PATH)/src/corelib/tools/qlocale_tools.cpp
182
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlocale_tools.cpp
183
184
qlocale_win.o: $(SOURCE_PATH)/src/corelib/tools/qlocale_win.cpp
185
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlocale_win.cpp
186
187
quuid.o: $(SOURCE_PATH)/src/corelib/plugin/quuid.cpp
188
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/plugin/quuid.cpp
189
190
qbuffer.o: $(SOURCE_PATH)/src/corelib/io/qbuffer.cpp
191
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qbuffer.cpp
192
193
qlist.o: $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
194
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
195
196
qlinkedlist.o: $(SOURCE_PATH)/src/corelib/tools/qlinkedlist.cpp
197
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlinkedlist.cpp
198
199
qfile.o: $(SOURCE_PATH)/src/corelib/io/qfile.cpp
200
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfile.cpp
201
202
qtemporaryfile.o: $(SOURCE_PATH)/src/corelib/io/qtemporaryfile.cpp
203
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qtemporaryfile.cpp
204
205
qabstractfileengine.o: $(SOURCE_PATH)/src/corelib/io/qabstractfileengine.cpp
206
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qabstractfileengine.cpp
207
208
qfilesystementry.o: $(SOURCE_PATH)/src/corelib/io/qfilesystementry.cpp
209
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfilesystementry.cpp
210
211
qfilesystemengine.o: $(SOURCE_PATH)/src/corelib/io/qfilesystemengine.cpp
212
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfilesystemengine.cpp
213
214
qfilesystemengine_win.o: $(SOURCE_PATH)/src/corelib/io/qfilesystemengine_win.cpp
215
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfilesystemengine_win.cpp
216
217
qfilesystemiterator_win.o: $(SOURCE_PATH)/src/corelib/io/qfilesystemiterator_win.cpp
218
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfilesystemiterator_win.cpp
219
220
qfsfileengine_win.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine_win.cpp
221
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_win.cpp
222
223
qfsfileengine.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp
224
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp
225
226
qfsfileengine_iterator.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
227
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
228
229
qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
230
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
231
232
qregexp.o: $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
233
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
234
235
qvector.o: $(SOURCE_PATH)/src/corelib/tools/qvector.cpp
236
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qvector.cpp
237
238
qbitarray.o: $(SOURCE_PATH)/src/corelib/tools/qbitarray.cpp
239
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbitarray.cpp
240
241
qdir.o: $(SOURCE_PATH)/src/corelib/io/qdir.cpp
242
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qdir.cpp
243
244
qdiriterator.o: $(SOURCE_PATH)/src/corelib/io/qdiriterator.cpp
245
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qdiriterator.cpp
246
247
qmetatype.o: $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp
248
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp
249
250
qfileinfo.o: $(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp
251
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp
252
253
qdatetime.o: $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp
254
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp
255
256
qstringlist.o: $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp
257
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp
258
259
qsystemerror.o: $(SOURCE_PATH)/src/corelib/kernel/qsystemerror.cpp
260
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/kernel/qsystemerror.cpp
261
262
qsystemlibrary.o: $(SOURCE_PATH)/src/corelib/plugin/qsystemlibrary.cpp
263
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/plugin/qsystemlibrary.cpp
264
265
qmap.o: $(SOURCE_PATH)/src/corelib/tools/qmap.cpp
266
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qmap.cpp
267
268
makefile.o: $(SOURCE_PATH)/qmake/generators/makefile.cpp
269
	$(CXX) $(CXXFLAGS) generators/makefile.cpp
270
271
unixmake.o: $(SOURCE_PATH)/qmake/generators/unix/unixmake.cpp
272
	$(CXX) $(CXXFLAGS) generators/unix/unixmake.cpp
273
274
unixmake2.o: $(SOURCE_PATH)/qmake/generators/unix/unixmake2.cpp
275
	$(CXX) $(CXXFLAGS) generators/unix/unixmake2.cpp
276
277
winmakefile.o: $(SOURCE_PATH)/qmake/generators/win32/winmakefile.cpp
278
	$(CXX) $(CXXFLAGS) generators/win32/winmakefile.cpp
279
280
borland_bmake.o: $(SOURCE_PATH)/qmake/generators/win32/borland_bmake.cpp
281
	$(CXX) $(CXXFLAGS) generators/win32/borland_bmake.cpp
282
283
mingw_make.o: $(SOURCE_PATH)/qmake/generators/win32/mingw_make.cpp
284
	$(CXX) $(CXXFLAGS) generators/win32/mingw_make.cpp
285
286
msvc_nmake.o: $(SOURCE_PATH)/qmake/generators/win32/msvc_nmake.cpp
287
	$(CXX) $(CXXFLAGS) generators/win32/msvc_nmake.cpp
288
289
msvc_vcproj.o: $(SOURCE_PATH)/qmake/generators/win32/msvc_vcproj.cpp
290
	$(CXX) $(CXXFLAGS) generators/win32/msvc_vcproj.cpp
291
292
msvc_objectmodel.o: $(SOURCE_PATH)/qmake/generators/win32/msvc_objectmodel.cpp
293
	$(CXX) $(CXXFLAGS) generators/win32/msvc_objectmodel.cpp
294
295
msvc_vcxproj.o: $(SOURCE_PATH)/qmake/generators/win32/msvc_vcxproj.cpp
296
	$(CXX) $(CXXFLAGS) generators/win32/msvc_vcxproj.cpp
297
298
msbuild_objectmodel.o: $(SOURCE_PATH)/qmake/generators/win32/msbuild_objectmodel.cpp
299
	$(CXX) $(CXXFLAGS) generators/win32/msbuild_objectmodel.cpp
300
301
symmake.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake.cpp
302
	$(CXX) $(CXXFLAGS) generators/symbian/symmake.cpp
303
304
symmake_abld.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake_abld.cpp
305
	$(CXX) $(CXXFLAGS) generators/symbian/symmake_abld.cpp
306
307
symmake_sbsv2.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake_sbsv2.cpp
308
	$(CXX) $(CXXFLAGS) generators/symbian/symmake_sbsv2.cpp
309
310
symbiancommon.o: $(SOURCE_PATH)/qmake/generators/symbian/symbiancommon.cpp
311
	$(CXX) $(CXXFLAGS) generators/symbian/symbiancommon.cpp
312
313
initprojectdeploy_symbian.o: $(SOURCE_PATH)/qmake/generators/symbian/initprojectdeploy_symbian.cpp
314
	$(CXX) $(CXXFLAGS) generators/symbian/initprojectdeploy_symbian.cpp
315
316
registry.o: $(SOURCE_PATH)/tools/shared/windows/registry.cpp
317
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/tools/shared/windows/registry.cpp
318
319
epocroot.o: $(SOURCE_PATH)/tools/shared/symbian/epocroot.cpp
320
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/tools/shared/symbian/epocroot.cpp
321
322
gbuild.o: $(SOURCE_PATH)/qmake/generators/integrity/gbuild.cpp
323
	$(CXX) $(CXXFLAGS) generators/integrity/gbuild.cpp
324
325
project.o: $(SOURCE_PATH)/qmake/project.cpp $(SOURCE_PATH)/qmake/project.h $(SOURCE_PATH)/qmake/option.h
326
	$(CXX) $(CXXFLAGS) project.cpp
327
328
meta.o: $(SOURCE_PATH)/qmake/meta.cpp $(SOURCE_PATH)/qmake/project.h $(SOURCE_PATH)/qmake/option.h
329
	$(CXX) $(CXXFLAGS) meta.cpp
330
331
main.o: $(SOURCE_PATH)/qmake/main.cpp $(SOURCE_PATH)/qmake/project.h
332
	$(CXX) $(CXXFLAGS) main.cpp
333
334
option.o: $(SOURCE_PATH)/qmake/option.cpp $(SOURCE_PATH)/qmake/option.h
335
	$(CXX) $(CXXFLAGS) option.cpp
336
337
property.o: $(SOURCE_PATH)/qmake/property.cpp $(SOURCE_PATH)/qmake/project.h $(SOURCE_PATH)/qmake/option.h
338
	$(CXX) $(CXXFLAGS) property.cpp
339
340
projectgenerator.o: $(SOURCE_PATH)/qmake/generators/projectgenerator.cpp
341
	$(CXX) $(CXXFLAGS) generators/projectgenerator.cpp
342
343
pbuilder_pbx.o: $(SOURCE_PATH)/qmake/generators/mac/pbuilder_pbx.cpp
344
	$(CXX) $(CXXFLAGS) generators/mac/pbuilder_pbx.cpp
345
346
makefiledeps.o: $(SOURCE_PATH)/qmake/generators/makefiledeps.cpp
347
	$(CXX) $(CXXFLAGS) generators/makefiledeps.cpp
348
349
metamakefile.o: $(SOURCE_PATH)/qmake/generators/metamakefile.cpp $(SOURCE_PATH)/qmake/generators/symbian/symbian_makefile.h
350
	$(CXX) $(CXXFLAGS) generators/metamakefile.cpp
351
352
xmloutput.o: $(SOURCE_PATH)/qmake/generators/xmloutput.cpp
353
	$(CXX) $(CXXFLAGS) generators/xmloutput.cpp
354
355
qxmlstream.o: $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
356
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
357
358
qxmlutils.o: $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
359
	$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp