From 0e78e5080262b8fa7a86f7cd0c8716839db048f6 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 5 Sep 2012 18:29:19 +0200 Subject: port qmake to qt creator's qmake language evaluator this is a monster commit which does the following things: - import the evaluator as-is from qt creator into qmake/library/ - integrate it into qmake's makefiles - overwrite proitems.h with actual special types - remove the parts of Option which are redundant with QMakeGlobals - make QMakeProperty a singleton owned by Option::globals. the dynamic handling so far made no sense. - make QMakeProject a subclass of QMakeEvaluator, with relatively few extensions the changes to existing qmake code outside project.* and option.* are minor. implementing the changes gradually would mean changing a lot of code which will be just replaced in the next commit, so i'm not wasting my time on it. Change-Id: I9746650423b8c5b3fbd8c3979a73228982a46195 Reviewed-by: Qt Doc Bot Reviewed-by: Joerg Bornemann --- qmake/Makefile.unix | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'qmake/Makefile.unix') diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix index c888c518e0..c8ac221293 100644 --- a/qmake/Makefile.unix +++ b/qmake/Makefile.unix @@ -11,8 +11,10 @@ QMKLIBSRC = $(QMKSRC)/library QMKGENSRC = $(QMKSRC)/generators #qmake code -OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \ - mingw_make.o option.o winmakefile.o projectgenerator.o \ +OBJS=project.o option.o property.o main.o ioutils.o proitems.o \ + qmakeglobals.o qmakeparser.o qmakeevaluator.o qmakebuiltins.o \ + makefile.o unixmake2.o unixmake.o \ + mingw_make.o winmakefile.o projectgenerator.o \ meta.o makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \ msvc_vcproj.o msvc_vcxproj.o msvc_nmake.o msvc_objectmodel.o msbuild_objectmodel.o \ gbuild.o cesdkhandler.o @@ -36,6 +38,8 @@ QOBJS=qtextcodec.o qutfcodec.o qstring.o qstringbuilder.o qtextstream.o qiodevic DEPEND_SRC = \ $(QMKSRC)/main.cpp $(QMKSRC)/project.cpp $(QMKSRC)/option.cpp $(QMKSRC)/property.cpp \ $(QMKSRC)/meta.cpp \ + $(QMKLIBSRC)/ioutils.cpp $(QMKLIBSRC)/proitems.cpp $(QMKLIBSRC)/qmakeglobals.cpp \ + $(QMKLIBSRC)/qmakeparser.cpp $(QMKLIBSRC)/qmakeevaluator.cpp $(QMKLIBSRC)/qmakebuiltins.cpp \ $(QMKGENSRC)/makefiledeps.cpp $(QMKGENSRC)/metamakefile.cpp \ $(QMKGENSRC)/projectgenerator.cpp $(QMKGENSRC)/makefile.cpp \ $(QMKGENSRC)/unix/unixmake.cpp $(QMKGENSRC)/unix/unixmake2.cpp \ @@ -90,7 +94,7 @@ CPPFLAGS = -g $(OPENSOURCE_CXXFLAGS) \ -I$(BUILD_PATH)/src/corelib/global -DHAVE_QCONFIG_CPP \ -I$(QMAKESPEC) \ -I$(SOURCE_PATH)/tools/shared \ - -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED \ + -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL -DPROEVALUATOR_DEBUG \ -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_COMPRESS \ -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM @@ -112,6 +116,24 @@ depend: makedepend -D__MAKEDEPEND__ $(CPPFLAGS) $(DEPEND_SRC) +ioutils.o: $(QMKLIBSRC)/ioutils.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + +proitems.o: $(QMKLIBSRC)/proitems.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + +qmakeglobals.o: $(QMKLIBSRC)/qmakeglobals.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + +qmakeparser.o: $(QMKLIBSRC)/qmakeparser.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + +qmakeevaluator.o: $(QMKLIBSRC)/qmakeevaluator.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + +qmakebuiltins.o: $(QMKLIBSRC)/qmakebuiltins.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + project.o: $(QMKSRC)/project.cpp $(CXX) -c -o $@ $(CXXFLAGS) $< -- cgit v1.2.3