1
!IF "$(QMAKESPEC)" == "win32-msvc" || "$(QMAKESPEC)" == "win32-msvc.net" || "$(QMAKESPEC)" == "win32-msvc2002" || "$(QMAKESPEC)" == "win32-msvc2003" || "$(QMAKESPEC)" == "win32-msvc2005" || "$(QMAKESPEC)" == "win32-msvc2008" || "$(QMAKESPEC)" == "win32-msvc2010" || "$(QMAKESPEC)" == "win32-icc"
2
3
!if "$(SOURCE_PATH)" == ""
4
SOURCE_PATH = ..
5
!endif
6
!if "$(BUILD_PATH)" == ""
7
BUILD_PATH = ..
8
!endif
9
10
#
11
# specific stuff for NMake and ICC
12
#
13
!if "$(QMAKESPEC)" == "win32-icc"
14
CXX	    = icl
15
LINK	    = link
16
CFLAGS      = /Zc:forScope
17
!else
18
CXX         = cl
19
LINK	    = link
20
!endif
21
22
#
23
# specific stuff for VS2005
24
#
25
!if "$(QMAKESPEC)" == "win32-msvc2005"
26
CFLAGS_EXTRA      = /Zc:wchar_t-
27
!elseif "$(QMAKESPEC)" == "win32-msvc2008" || "$(QMAKESPEC)" == "win32-msvc2010"
28
CFLAGS_EXTRA      = /MP
29
!endif
30
31
CFLAGS_BARE = -c -Fo./ \
32
              -W3 -nologo -O2 \
33
              $(CFLAGS_EXTRA) \
34
              -I. -Igenerators -Igenerators\unix -Igenerators\win32 -Igenerators\mac -Igenerators\symbian -Igenerators\integrity \
35
              -I$(BUILD_PATH)\include -I$(BUILD_PATH)\include\QtCore \
36
              -I$(SOURCE_PATH)\include -I$(SOURCE_PATH)\include\QtCore \
37
              -I$(BUILD_PATH)\src\corelib\global \
38
              -I$(BUILD_PATH)\src\corelib\xml \
39
              -I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC)  \
40
              -I$(SOURCE_PATH)\tools\shared \
41
              -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NODLL -DQT_NO_STL \
42
              -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD \
43
              -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_NO_PCRE -DQT_BOOTSTRAPPED \
44
              -DQLIBRARYINFO_EPOCROOT
45
CFLAGS   = -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch $(CFLAGS_BARE) $(CFLAGS)
46
47
CXXFLAGS_BARE = $(CFLAGS_BARE)
48
CXXFLAGS = $(CFLAGS)
49
50
LFLAGS	    =
51
LIBS	    = ole32.lib advapi32.lib
52
LINKQMAKE   = $(LINK) $(LFLAGS) -OUT:qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
53
ADDCLEAN    = vc60.pdb vc70.pdb qmake.pdb qmake.ilk
54
55
!ELSE
56
!ERROR Unsupported compiler for this Makefile
57
!ENDIF
58
59
#qmake code
60
OBJS        = project.obj main.obj makefile.obj unixmake.obj unixmake2.obj mingw_make.obj \
61
              option.obj winmakefile.obj projectgenerator.obj property.obj meta.obj \
62
              makefiledeps.obj metamakefile.obj xmloutput.obj pbuilder_pbx.obj \
63
              borland_bmake.obj msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj \
64
              msvc_objectmodel.obj msbuild_objectmodel.obj symmake.obj initprojectdeploy_symbian.obj \
65
              symmake_abld.obj symmake_sbsv2.obj symbiancommon.obj registry.obj epocroot.obj \
66
              gbuild.obj
67
68
!IFDEF QMAKE_OPENSOURCE_EDITION
69
CFLAGS      = $(CFLAGS) -DQMAKE_OPENSOURCE_EDITION
70
!ENDIF
71
72
#qt code
73
QTOBJS= \
74
	qbitarray.obj \
75
	qbuffer.obj \
76
	qcryptographichash.obj \
77
	qfilesystementry.obj \
78
	qfilesystemengine.obj \
79
	qfilesystemengine_win.obj \
80
	qfilesystemiterator_win.obj \
81
	qfsfileengine.obj \
82
	qfsfileengine_iterator.obj \
83
	qbytearray.obj \
84
	qvsnprintf.obj \
85
	qbytearraymatcher.obj \
86
	qdatetime.obj \
87
	qdir.obj \
88
	qdiriterator.obj \
89
	qfile.obj \
90
	qtemporaryfile.obj \
91
	qabstractfileengine.obj \
92
	qfsfileengine_win.obj \
93
	qsystemlibrary.obj \
94
	qfileinfo.obj \
95
	qglobal.obj \
96
	qhash.obj \
97
	qiodevice.obj \
98
	qlist.obj \
99
	qlinkedlist.obj \
100
	qlocale.obj \
101
	qlocale_tools.obj \
102
	qlocale_win.obj \
103
	qmalloc.obj \
104
	qmap.obj \
105
	qregexp.obj \
106
	qtextcodec.obj \
107
	qutfcodec.obj \
108
	qstring.obj \
109
	qstringlist.obj \
110
	qsystemerror.obj \
111
	qtextstream.obj \
112
	qdatastream.obj \
113
	quuid.obj \
114
	qvector.obj \
115
	qsettings.obj \
116
	qlibraryinfo.obj \
117
	qvariant.obj \
118
	qurl.obj \
119
	qsettings_win.obj \
120
	qmetatype.obj \
121
	qxmlstream.obj \
122
	qxmlutils.obj \
123
	qnumeric.obj
124
125
126
first all: qmake.exe
127
128
qmake.exe: $(OBJS) $(QTOBJS)
129
	$(LINKQMAKE) qmake_pch.obj
130
	-copy qmake.exe $(BUILD_PATH)\bin\qmake.exe
131
132
clean::
133
	-del $(QTOBJS)
134
	-del $(OBJS)
135
	-del qmake_pch.obj
136
	-del qmake_pch.pch
137
	-del qsystemlibrary.obj
138
	-del vc60.pdb
139
	-del vc70.pdb
140
	-del qmake.pdb
141
	-del qmake.ilk
142
	-del qmake.tds
143
144
distclean:: clean
145
	-del qmake
146
147
.c.obj:
148
	$(CXX) $(CFLAGS) $<
149
150
.cpp.obj:
151
	$(CXX) $(CXXFLAGS) $<
152
153
.cc.obj:
154
	$(CXX) $(CXXFLAGS) $<
155
156
.cxx.obj:
157
	$(CXX) $(CXXFLAGS) $<
158
159
$(OBJS): qmake_pch.obj
160
161
$(QTOBJS): qmake_pch.obj
162
163
qmake_pch.obj:
164
	$(CXX) $(CXXFLAGS_BARE) -c -Yc -Fpqmake_pch.pch -TP qmake_pch.h
165
166
{$(SOURCE_PATH)\qmake\generators\mac}.cpp{}.obj::
167
	$(CXX) $(CXXFLAGS) $<
168
169
{$(SOURCE_PATH)\qmake\generators\symbian}.cpp{}.obj::
170
	$(CXX) $(CXXFLAGS) $<
171
172
{$(SOURCE_PATH)\qmake\generators\integrity}.cpp{}.obj::
173
	$(CXX) $(CXXFLAGS) $<
174
175
{$(SOURCE_PATH)\qmake\generators\unix}.cpp{}.obj::
176
	$(CXX) $(CXXFLAGS) $<
177
178
{$(SOURCE_PATH)\qmake\generators\win32}.cpp{}.obj::
179
	$(CXX) $(CXXFLAGS) $<
180
181
{$(SOURCE_PATH)\qmake\generators}.cpp{}.obj::
182
	$(CXX) $(CXXFLAGS) $<
183
184
{$(SOURCE_PATH)\qmake}.cpp{}.obj::
185
	$(CXX) $(CXXFLAGS) $<
186
187
{$(SOURCE_PATH)\src\3rdparty\md5}.cpp{}.obj::
188
	$(CXX) $(CXXFLAGS) $<
189
190
{$(SOURCE_PATH)\src\corelib\codecs}.cpp{}.obj::
191
	$(CXX) $(CXXFLAGS) $<
192
193
{$(SOURCE_PATH)\src\corelib\global}.cpp{}.obj::
194
	$(CXX) $(CXXFLAGS) $<
195
196
{$(SOURCE_PATH)\src\corelib\io}.cpp{}.obj::
197
	$(CXX) $(CXXFLAGS) $<
198
199
{$(SOURCE_PATH)\src\corelib\kernel}.cpp{}.obj::
200
	$(CXX) $(CXXFLAGS) $<
201
202
{$(SOURCE_PATH)\src\corelib\plugin}.cpp{}.obj::
203
	$(CXX) $(CXXFLAGS) $<
204
205
{$(SOURCE_PATH)\src\corelib\tools}.cpp{}.obj::
206
	$(CXX) $(CXXFLAGS) $<
207
208
{$(SOURCE_PATH)\src\corelib\xml}.cpp{}.obj::
209
	$(CXX) $(CXXFLAGS) $<
210
211
{$(SOURCE_PATH)\tools\shared\symbian}.cpp{}.obj::
212
	$(CXX) $(CXXFLAGS) $<
213
214
{$(SOURCE_PATH)\tools\shared\windows}.cpp{}.obj::
215
	$(CXX) $(CXXFLAGS) $<