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