| 1 | ifeq "$(SOURCE_PATH)" "" | 
|---|
| 2 | SOURCE_PATH = .. | 
|---|
| 3 | endif | 
|---|
| 4 |  | 
|---|
| 5 | # CMD.EXE version | 
|---|
| 6 |  | 
|---|
| 7 | ifeq "$(BUILD_PATH)" "" | 
|---|
| 8 | BUILD_PATH = .. | 
|---|
| 9 | endif | 
|---|
| 10 |  | 
|---|
| 11 | # | 
|---|
| 12 | # specific stuff for GNU make | 
|---|
| 13 | # | 
|---|
| 14 | CXX         =   g++ | 
|---|
| 15 | CFLAGS      =   -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 | 
|---|
| 32 | CXXFLAGS    =   $(CFLAGS) | 
|---|
| 33 | ifeq "$(EMXOMFLD_TYPE)" "WLINK" | 
|---|
| 34 | LFLAGS      =   -s -Zomf -Zstack 0x2000 -Zmap -Zlinker DISABLE\ 1121 | 
|---|
| 35 | else | 
|---|
| 36 | LFLAGS      =   -s -Zomf -Zstack 0x2000 -Zmap -Zlinker /PM:VIO -Zlinker /EXEPACK:2 | 
|---|
| 37 | endif | 
|---|
| 38 | LIBS        =   -lregistry.dll | 
|---|
| 39 | LINK        =   g++ $(LFLAGS) | 
|---|
| 40 | ADDCLEAN    = | 
|---|
| 41 |  | 
|---|
| 42 | ifdef QMAKE_OPENSOURCE_EDITION | 
|---|
| 43 | CFLAGS     += -DQMAKE_OPENSOURCE_EDITION | 
|---|
| 44 | endif | 
|---|
| 45 |  | 
|---|
| 46 | # make sure the output dir matches the one in qmake.pro | 
|---|
| 47 | OBJECTS_DIR = release-shared | 
|---|
| 48 |  | 
|---|
| 49 | # qmake code (taken from qmake.pri) | 
|---|
| 50 |  | 
|---|
| 51 | SOURCES     = \ | 
|---|
| 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 |  | 
|---|
| 82 | SOURCES    += \ | 
|---|
| 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 |  | 
|---|
| 128 | define SRC_TO_OBJ | 
|---|
| 129 | $(OBJECTS_DIR)\$(basename $(notdir $(1))).obj | 
|---|
| 130 | endef | 
|---|
| 131 |  | 
|---|
| 132 | OBJECTS     = $(foreach src,$(SOURCES),$(call SRC_TO_OBJ,$(src))) | 
|---|
| 133 |  | 
|---|
| 134 | qmake.exe: $(OBJECTS_DIR) $(OBJECTS) | 
|---|
| 135 | $(LINK) -o $@ $(OBJECTS) $(LIBS) | 
|---|
| 136 | ifneq "$(QMAKE_EXEPACK)" "" | 
|---|
| 137 | $(QMAKE_EXEPACK) $(QMAKE_EXEPACK_FLAGS) $@ $(QMAKE_EXEPACK_POST_FLAGS) | 
|---|
| 138 | endif | 
|---|
| 139 | ifneq "$(QMAKE_MAPSYM)" "" | 
|---|
| 140 | ifeq "$(EMXOMFLD_TYPE)" "WLINK" | 
|---|
| 141 | $(SOURCE_PATH)/mkspecs\os2-g++\wmapsym.cmd $(basename $@).map | 
|---|
| 142 | else | 
|---|
| 143 | $(QMAKE_MAPSYM) $(basename $@).map | 
|---|
| 144 | endif | 
|---|
| 145 | del $(basename $@).map >nul 2>&1 | 
|---|
| 146 | copy $(basename $@).sym "$(BUILD_PATH)\bin\" | 
|---|
| 147 | endif | 
|---|
| 148 | copy $@ "$(BUILD_PATH)\bin\" | 
|---|
| 149 |  | 
|---|
| 150 | $(OBJECTS_DIR): | 
|---|
| 151 | @mkdir $(OBJECTS_DIR) | 
|---|
| 152 |  | 
|---|
| 153 | Makefile: $(SOURCE_PATH)/qmake/Makefile.os2-g++ | 
|---|
| 154 | @echo "Out of date, please rerun configure" | 
|---|
| 155 |  | 
|---|
| 156 | define DEL_OBJ | 
|---|
| 157 | clean:: | 
|---|
| 158 | -del $(1) $(1).d >nul 2>&1 | 
|---|
| 159 | endef | 
|---|
| 160 |  | 
|---|
| 161 | $(foreach file,$(OBJECTS) $(ADDCLEAN),$(eval $(call DEL_OBJ,$(file)))) | 
|---|
| 162 |  | 
|---|
| 163 | distclean:: clean | 
|---|
| 164 | -del qmake.exe qmake.sym >nul 2>&1 | 
|---|
| 165 |  | 
|---|
| 166 | .SUFFIXES: .cpp .c | 
|---|
| 167 |  | 
|---|
| 168 | -include $(addsuffix .d,$(OBJECTS)) | 
|---|
| 169 |  | 
|---|
| 170 | .c.obj: | 
|---|
| 171 | $(CXX) -c $(CFLAGS) -o $@ $< | 
|---|
| 172 | $(CXX) -MM $(CXXFLAGS) -MT $@ $< -MF $@.d | 
|---|
| 173 |  | 
|---|
| 174 | .cpp.obj: | 
|---|
| 175 | $(CXX) -c $(CXXFLAGS) -o $@ $< | 
|---|
| 176 | $(CXX) -MM $(CXXFLAGS) -MT $@ $< -MF $@.d | 
|---|
| 177 |  | 
|---|
| 178 | define SRC_TO_OBJ_RULE | 
|---|
| 179 | $(call SRC_TO_OBJ,$(1)): $(1) | 
|---|
| 180 | $(CXX) -c $(CXXFLAGS) -o $$@ $$< | 
|---|
| 181 | $(CXX) -MM $(CXXFLAGS) -MT $$@ $$< -MF $$@.d | 
|---|
| 182 | endef | 
|---|
| 183 |  | 
|---|
| 184 | $(foreach src,$(SOURCES),$(eval $(call SRC_TO_OBJ_RULE,$(src)))) | 
|---|