source: trunk/qmake/Makefile.os2-g++@ 500

Last change on this file since 500 was 406, checked in by Dmitry A. Kuminov, 15 years ago

qmake: Build qmake second time after building all DLLs using its .pro and link it to Qt DLLs on OS/2 (this became possible after the fix in #405). This greatly reduces its size and finally fixes the national characters in the date printed in the generarted Makefile headers.

File size: 6.7 KB
Line 
1ifeq "$(SOURCE_PATH)" ""
2SOURCE_PATH = ..
3endif
4
5# CMD.EXE version
6
7ifeq "$(BUILD_PATH)" ""
8BUILD_PATH = ..
9endif
10
11#
12# specific stuff for GNU make
13#
14CXX = g++
15CFLAGS = -O -s -Zomf \
16 -I. -Igenerators -Igenerators/unix \
17 -Igenerators/win32 -Igenerators/os2 -Igenerators/mac \
18 -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
19 -I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore \
20 -I$(BUILD_PATH)/src/corelib/global \
21 -I$(BUILD_PATH)/include/QtScript \
22 -I$(SOURCE_PATH)/mkspecs/os2-g++ \
23 -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NO_PCRE \
24 -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DHAVE_QCONFIG_CPP \
25 -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM
26CXXFLAGS = $(CFLAGS)
27ifeq "$(EMXOMFLD_TYPE)" "WLINK"
28LFLAGS = -s -Zomf -Zstack 0x2000 -Zlinker DISABLE\ 1121
29else
30LFLAGS = -s -Zomf -Zstack 0x2000 -Zlinker /PM:VIO -Zlinker /EXEPACK:2
31endif
32LIBS = -lregistry.dll
33LINK = g++ $(LFLAGS)
34ADDCLEAN =
35
36ifdef QMAKE_OPENSOURCE_EDITION
37CFLAGS += -DQMAKE_OPENSOURCE_EDITION
38endif
39
40OBJECTS_DIR = release-bootstrap
41
42# qmake code
43
44SOURCES = \
45 project.cpp \
46 property.cpp \
47 main.cpp \
48 generators\makefile.cpp \
49 generators\unix\unixmake2.cpp \
50 generators\unix\unixmake.cpp \
51 meta.cpp \
52 option.cpp \
53 generators\win32\winmakefile.cpp \
54 generators\win32\mingw_make.cpp \
55 generators\makefiledeps.cpp \
56 generators\metamakefile.cpp \
57 generators\mac\pbuilder_pbx.cpp \
58 generators\xmloutput.cpp \
59 generators\win32\borland_bmake.cpp \
60 generators\win32\msvc_nmake.cpp \
61 generators\projectgenerator.cpp \
62 generators\win32\msvc_dsp.cpp \
63 generators\win32\msvc_vcproj.cpp \
64 generators\win32\msvc_objectmodel.cpp \
65 generators\os2\gnumake.cpp
66
67# Qt code
68
69SOURCES += \
70 $(SOURCE_PATH)\src\corelib\tools\qbitarray.cpp \
71 $(SOURCE_PATH)\src\corelib\io\qbuffer.cpp \
72 $(SOURCE_PATH)\src\corelib\tools\qbytearray.cpp \
73 $(SOURCE_PATH)\src\corelib\tools\qbytearraymatcher.cpp \
74 $(SOURCE_PATH)\src\corelib\tools\qcryptographichash.cpp \
75 $(SOURCE_PATH)\src\corelib\tools\qdatetime.cpp \
76 $(SOURCE_PATH)\src\corelib\io\qdir.cpp \
77 $(SOURCE_PATH)\src\corelib\io\qdiriterator.cpp \
78 $(SOURCE_PATH)\src\corelib\io\qfile.cpp \
79 $(SOURCE_PATH)\src\corelib\io\qabstractfileengine.cpp \
80 $(SOURCE_PATH)\src\corelib\io\qfileinfo.cpp \
81 $(SOURCE_PATH)\src\corelib\io\qfsfileengine.cpp \
82 $(SOURCE_PATH)\src\corelib\io\qfsfileengine_iterator.cpp \
83 $(SOURCE_PATH)\src\corelib\global\qglobal.cpp \
84 $(SOURCE_PATH)\src\corelib\global\qnumeric.cpp \
85 $(SOURCE_PATH)\src\corelib\tools\qhash.cpp \
86 $(SOURCE_PATH)\src\corelib\io\qiodevice.cpp \
87 $(SOURCE_PATH)\src\corelib\tools\qlistdata.cpp \
88 $(SOURCE_PATH)\src\corelib\tools\qlinkedlist.cpp \
89 $(SOURCE_PATH)\src\corelib\tools\qlocale.cpp \
90 $(SOURCE_PATH)\src\corelib\global\qmalloc.cpp \
91 $(SOURCE_PATH)\src\corelib\tools\qmap.cpp \
92 $(SOURCE_PATH)\src\corelib\kernel\qmetatype.cpp \
93 $(SOURCE_PATH)\src\corelib\tools\qregexp.cpp \
94 $(SOURCE_PATH)\src\corelib\tools\qstring.cpp \
95 $(SOURCE_PATH)\src\corelib\tools\qstringlist.cpp \
96 $(SOURCE_PATH)\src\corelib\io\qtemporaryfile.cpp \
97 $(SOURCE_PATH)\src\corelib\io\qtextstream.cpp \
98 $(SOURCE_PATH)\src\corelib\io\qurl.cpp \
99 $(SOURCE_PATH)\src\corelib\plugin\quuid.cpp \
100 $(SOURCE_PATH)\src\corelib\io\qsettings.cpp \
101 $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp \
102 $(SOURCE_PATH)\src\corelib\kernel\qvariant.cpp \
103 $(SOURCE_PATH)\src\corelib\tools\qvector.cpp \
104 $(SOURCE_PATH)\src\corelib\tools\qvsnprintf.cpp \
105 $(SOURCE_PATH)\src\corelib\io\qfsfileengine_os2.cpp \
106 $(SOURCE_PATH)\src\corelib\io\qfsfileengine_iterator_os2.cpp \
107 $(SOURCE_PATH)\src\corelib\io\qsettings_os2.cpp \
108 $(SOURCE_PATH)\src\script\qscriptasm.cpp \
109 $(SOURCE_PATH)\src\script\qscriptast.cpp \
110 $(SOURCE_PATH)\src\script\qscriptastvisitor.cpp \
111 $(SOURCE_PATH)\src\script\qscriptcompiler.cpp \
112 $(SOURCE_PATH)\src\script\qscriptecmaarray.cpp \
113 $(SOURCE_PATH)\src\script\qscriptecmaboolean.cpp \
114 $(SOURCE_PATH)\src\script\qscriptecmacore.cpp \
115 $(SOURCE_PATH)\src\script\qscriptecmadate.cpp \
116 $(SOURCE_PATH)\src\script\qscriptecmafunction.cpp \
117 $(SOURCE_PATH)\src\script\qscriptecmaglobal.cpp \
118 $(SOURCE_PATH)\src\script\qscriptecmamath.cpp \
119 $(SOURCE_PATH)\src\script\qscriptecmanumber.cpp \
120 $(SOURCE_PATH)\src\script\qscriptecmaobject.cpp \
121 $(SOURCE_PATH)\src\script\qscriptecmaregexp.cpp \
122 $(SOURCE_PATH)\src\script\qscriptecmastring.cpp \
123 $(SOURCE_PATH)\src\script\qscriptecmaerror.cpp \
124 $(SOURCE_PATH)\src\script\qscriptcontext_p.cpp \
125 $(SOURCE_PATH)\src\script\qscriptengine.cpp \
126 $(SOURCE_PATH)\src\script\qscriptengine_p.cpp \
127 $(SOURCE_PATH)\src\script\qscriptengineagent.cpp \
128 $(SOURCE_PATH)\src\script\qscriptextenumeration.cpp \
129 $(SOURCE_PATH)\src\script\qscriptextvariant.cpp \
130 $(SOURCE_PATH)\src\script\qscriptcontext.cpp \
131 $(SOURCE_PATH)\src\script\qscriptcontextinfo.cpp \
132 $(SOURCE_PATH)\src\script\qscriptfunction.cpp \
133 $(SOURCE_PATH)\src\script\qscriptgrammar.cpp \
134 $(SOURCE_PATH)\src\script\qscriptlexer.cpp \
135 $(SOURCE_PATH)\src\script\qscriptclassdata.cpp \
136 $(SOURCE_PATH)\src\script\qscriptparser.cpp \
137 $(SOURCE_PATH)\src\script\qscriptprettypretty.cpp \
138 $(SOURCE_PATH)\src\script\qscriptxmlgenerator.cpp \
139 $(SOURCE_PATH)\src\script\qscriptsyntaxchecker.cpp \
140 $(SOURCE_PATH)\src\script\qscriptstring.cpp \
141 $(SOURCE_PATH)\src\script\qscriptclass.cpp \
142 $(SOURCE_PATH)\src\script\qscriptclasspropertyiterator.cpp \
143 $(SOURCE_PATH)\src\script\qscriptvalueiteratorimpl.cpp \
144 $(SOURCE_PATH)\src\script\qscriptvalueiterator.cpp \
145 $(SOURCE_PATH)\src\script\qscriptvalueimpl.cpp \
146 $(SOURCE_PATH)\src\script\qscriptvalue.cpp
147
148define SRC_TO_OBJ
149$(OBJECTS_DIR)\$(basename $(notdir $(1))).obj
150endef
151
152OBJECTS = $(foreach src,$(SOURCES),$(call SRC_TO_OBJ,$(src)))
153
154qmake.exe: $(OBJECTS_DIR) $(OBJECTS)
155 $(LINK) -o $@ $(OBJECTS) $(LIBS)
156ifneq "$(QMAKE_EXEPACK)" ""
157 $(QMAKE_EXEPACK) $(QMAKE_EXEPACK_FLAGS) $@ $(QMAKE_EXEPACK_POST_FLAGS)
158endif
159 copy $@ $(BUILD_PATH)\bin\
160
161$(OBJECTS_DIR):
162 @mkdir $(OBJECTS_DIR)
163
164Makefile: Makefile.os2-g++
165 @echo "Out of date, please rerun configure"
166
167define DEL_ONE
168clean::
169 -del $(1) >nul 2>&1
170endef
171
172$(foreach file,$(OBJECTS) $(ADDCLEAN),$(eval $(call DEL_ONE,$(file))))
173
174distclean:: clean
175 -del qmake.exe >nul 2>&1
176
177.SUFFIXES: .cpp .c
178
179.c.obj:
180 $(CXX) -c $(CFLAGS) -o $@ $<
181
182.cpp.obj:
183 $(CXX) -c $(CXXFLAGS) -o $@ $<
184
185define SRC_TO_OBJ_RULE
186$(call SRC_TO_OBJ,$(1)): $(1)
187 $(CXX) -c $(CXXFLAGS) -o $$@ $$<
188endef
189
190$(foreach src,$(SOURCES),$(eval $(call SRC_TO_OBJ_RULE,$(src))))
Note: See TracBrowser for help on using the repository browser.