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

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

qmake: Fixed the OS/2 build and the GNUMAKE generator.

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