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

Last change on this file since 1066 was 1066, checked in by Dmitry A. Kuminov, 14 years ago

qmake: Makefile.os2-g++: Make qlibraryinfo.cpp depend on qconfig.cpp.

File size: 6.5 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$(SOURCE_PATH)/qmake \
17 -I$(SOURCE_PATH)/qmake/generators \
18 -I$(SOURCE_PATH)/qmake/generators/unix \
19 -I$(SOURCE_PATH)/qmake/generators/win32 \
20 -I$(SOURCE_PATH)/qmake/generators/mac \
21 -I$(SOURCE_PATH)/qmake/generators/symbian \
22 -I$(SOURCE_PATH)/qmake/generators/os2 \
23 -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
24 -I$(BUILD_PATH)/src/corelib/global \
25 -I$(BUILD_PATH)/src/corelib/xml \
26 -I$(SOURCE_PATH)/mkspecs/os2-g++ \
27 -I$(SOURCE_PATH)/tools/shared \
28 -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NO_PCRE \
29 -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DHAVE_QCONFIG_CPP \
30 -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
31 -DQT_BOOTSTRAPPED
32CXXFLAGS = $(CFLAGS)
33ifeq "$(EMXOMFLD_TYPE)" "WLINK"
34LFLAGS = -s -Zomf -Zstack 0x2000 -Zmap -Zlinker DISABLE\ 1121
35else
36LFLAGS = -s -Zomf -Zstack 0x2000 -Zmap -Zlinker /PM:VIO -Zlinker /EXEPACK:2
37endif
38LIBS = -lregistry.dll
39LINK = g++ $(LFLAGS)
40ADDCLEAN =
41
42ifdef QMAKE_OPENSOURCE_EDITION
43CFLAGS += -DQMAKE_OPENSOURCE_EDITION
44endif
45
46# make sure the output dir matches the one in qmake.pro
47OBJECTS_DIR = release-shared
48
49# qmake code (taken from qmake.pri)
50
51SOURCES = \
52 $(SOURCE_PATH)/qmake/project.cpp \
53 $(SOURCE_PATH)/qmake/property.cpp \
54 $(SOURCE_PATH)/qmake/main.cpp \
55 $(SOURCE_PATH)/qmake/generators/makefile.cpp \
56 $(SOURCE_PATH)/qmake/generators/unix/unixmake2.cpp \
57 $(SOURCE_PATH)/qmake/generators/unix/unixmake.cpp \
58 $(SOURCE_PATH)/qmake/meta.cpp \
59 $(SOURCE_PATH)/qmake/option.cpp \
60 $(SOURCE_PATH)/qmake/generators/win32/winmakefile.cpp \
61 $(SOURCE_PATH)/qmake/generators/win32/mingw_make.cpp \
62 $(SOURCE_PATH)/qmake/generators/makefiledeps.cpp \
63 $(SOURCE_PATH)/qmake/generators/metamakefile.cpp \
64 $(SOURCE_PATH)/qmake/generators/mac/pbuilder_pbx.cpp \
65 $(SOURCE_PATH)/qmake/generators/xmloutput.cpp \
66 $(SOURCE_PATH)/qmake/generators/win32/borland_bmake.cpp \
67 $(SOURCE_PATH)/qmake/generators/win32/msvc_nmake.cpp \
68 $(SOURCE_PATH)/qmake/generators/projectgenerator.cpp \
69 $(SOURCE_PATH)/qmake/generators/win32/msvc_vcproj.cpp \
70 $(SOURCE_PATH)/qmake/generators/win32/msvc_vcxproj.cpp \
71 $(SOURCE_PATH)/qmake/generators/win32/msvc_objectmodel.cpp \
72 $(SOURCE_PATH)/qmake/generators/win32/msbuild_objectmodel.cpp \
73 $(SOURCE_PATH)/qmake/generators/symbian/symmake.cpp \
74 $(SOURCE_PATH)/qmake/generators/symbian/symmake_abld.cpp \
75 $(SOURCE_PATH)/qmake/generators/symbian/symmake_sbsv2.cpp \
76 $(SOURCE_PATH)/qmake/generators/symbian/initprojectdeploy_symbian.cpp \
77 $(SOURCE_PATH)/qmake/generators/symbian/symbiancommon.cpp \
78 $(SOURCE_PATH)/qmake/generators/os2/gnumake.cpp
79
80# Qt code (taken from qmake.pri)
81
82SOURCES += \
83 $(SOURCE_PATH)/src/corelib/tools/qbitarray.cpp \
84 $(SOURCE_PATH)/src/corelib/io/qbuffer.cpp \
85 $(SOURCE_PATH)/src/corelib/tools/qbytearray.cpp \
86 $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp \
87 $(SOURCE_PATH)/src/corelib/tools/qcryptographichash.cpp \
88 $(SOURCE_PATH)/src/corelib/tools/qdatetime.cpp \
89 $(SOURCE_PATH)/src/corelib/io/qdir.cpp \
90 $(SOURCE_PATH)/src/corelib/io/qdiriterator.cpp \
91 $(SOURCE_PATH)/src/corelib/io/qfile.cpp \
92 $(SOURCE_PATH)/src/corelib/io/qabstractfileengine.cpp \
93 $(SOURCE_PATH)/src/corelib/io/qfileinfo.cpp \
94 $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp \
95 $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp \
96 $(SOURCE_PATH)/src/corelib/global/qglobal.cpp \
97 $(SOURCE_PATH)/src/corelib/global/qnumeric.cpp \
98 $(SOURCE_PATH)/src/corelib/tools/qhash.cpp \
99 $(SOURCE_PATH)/src/corelib/io/qiodevice.cpp \
100 $(SOURCE_PATH)/src/corelib/tools/qlist.cpp \
101 $(SOURCE_PATH)/src/corelib/tools/qlinkedlist.cpp \
102 $(SOURCE_PATH)/src/corelib/tools/qlocale.cpp \
103 $(SOURCE_PATH)/src/corelib/global/qmalloc.cpp \
104 $(SOURCE_PATH)/src/corelib/tools/qmap.cpp \
105 $(SOURCE_PATH)/src/corelib/kernel/qmetatype.cpp \
106 $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp \
107 $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp \
108 $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp \
109 $(SOURCE_PATH)/src/corelib/tools/qstring.cpp \
110 $(SOURCE_PATH)/src/corelib/tools/qstringlist.cpp \
111 $(SOURCE_PATH)/src/corelib/io/qtemporaryfile.cpp \
112 $(SOURCE_PATH)/src/corelib/io/qtextstream.cpp \
113 $(SOURCE_PATH)/src/corelib/io/qurl.cpp \
114 $(SOURCE_PATH)/src/corelib/plugin/quuid.cpp \
115 $(SOURCE_PATH)/src/corelib/io/qsettings.cpp \
116 $(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp \
117 $(SOURCE_PATH)/src/corelib/kernel/qvariant.cpp \
118 $(SOURCE_PATH)/src/corelib/tools/qvector.cpp \
119 $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp \
120 $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp \
121 $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp \
122 $(SOURCE_PATH)/src/corelib/io/qfsfileengine_os2.cpp \
123 $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator_os2.cpp \
124 $(SOURCE_PATH)/src/corelib/io/qsettings_os2.cpp \
125 $(SOURCE_PATH)/tools/shared/windows/registry.cpp \
126 $(SOURCE_PATH)/tools/shared/symbian/epocroot.cpp
127
128define SRC_TO_OBJ
129$(OBJECTS_DIR)\$(basename $(notdir $(1))).obj
130endef
131
132OBJECTS = $(foreach src,$(SOURCES),$(call SRC_TO_OBJ,$(src)))
133
134qmake.exe: $(OBJECTS_DIR) $(OBJECTS)
135 $(LINK) -o $@ $(OBJECTS) $(LIBS)
136ifneq "$(QMAKE_EXEPACK)" ""
137 $(QMAKE_EXEPACK) $(QMAKE_EXEPACK_FLAGS) $@ $(QMAKE_EXEPACK_POST_FLAGS)
138endif
139ifneq "$(QMAKE_MAPSYM)" ""
140ifeq "$(EMXOMFLD_TYPE)" "WLINK"
141 $(SOURCE_PATH)/mkspecs\os2-g++\wmapsym.cmd $(basename $@).map
142else
143 $(QMAKE_MAPSYM) $(basename $@).map
144endif
145 del $(basename $@).map >nul 2>&1
146 copy $(basename $@).sym "$(BUILD_PATH)\bin\"
147endif
148 copy $@ "$(BUILD_PATH)\bin\"
149
150$(OBJECTS_DIR):
151 @mkdir $(OBJECTS_DIR)
152
153Makefile: $(SOURCE_PATH)/qmake/Makefile.os2-g++
154 @echo "Out of date, please rerun configure"
155
156define DEL_ONE
157clean::
158 -del $(1) >nul 2>&1
159endef
160
161$(foreach file,$(OBJECTS) $(ADDCLEAN),$(eval $(call DEL_ONE,$(file))))
162
163distclean:: clean
164 -del qmake.exe qmake.sym >nul 2>&1
165
166.SUFFIXES: .cpp .c
167
168.c.obj:
169 $(CXX) -c $(CFLAGS) -o $@ $<
170
171.cpp.obj:
172 $(CXX) -c $(CXXFLAGS) -o $@ $<
173
174define SRC_TO_OBJ_RULE
175$(call SRC_TO_OBJ,$(1)): $(1)
176 $(CXX) -c $(CXXFLAGS) -o $$@ $$<
177endef
178
179$(foreach src,$(SOURCES),$(eval $(call SRC_TO_OBJ_RULE,$(src))))
180
181# individual dependencies
182$(OBJECTS_DIR)\qlibraryinfo.obj: $(BUILD_PATH)\src\corelib\global\qconfig.cpp
Note: See TracBrowser for help on using the repository browser.