0e78e50802
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 <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
161 lines
4.2 KiB
Makefile
161 lines
4.2 KiB
Makefile
ifeq "$(SOURCE_PATH)" ""
|
|
SOURCE_PATH = ..
|
|
endif
|
|
|
|
ifeq "$(BUILD_PATH)" ""
|
|
BUILD_PATH = ..
|
|
endif
|
|
|
|
CORESRC = $(SOURCE_PATH)/src/corelib
|
|
TOOLSRC = $(SOURCE_PATH)/tools
|
|
QMKSRC = $(SOURCE_PATH)/qmake
|
|
QMKLIBSRC = $(QMKSRC)/library
|
|
|
|
# SHELL is the full path of sh.exe, unless
|
|
# 1) it is found in the current directory
|
|
# 2) it is not found at all
|
|
# 3) it is overridden on the command line with an existing file
|
|
# ... otherwise it is always sh.exe. Specifically, SHELL from the
|
|
# environment has no effect.
|
|
#
|
|
# This check will fail if SHELL is explicitly set to a not
|
|
# sh-compatible shell. This is not a problem, because configure.exe
|
|
# will not do that.
|
|
ifeq ($(SHELL), sh.exe)
|
|
ifeq ($(wildcard $(CURDIR)/sh.exe), )
|
|
SH = 0
|
|
else
|
|
SH = 1
|
|
endif
|
|
else
|
|
SH = 1
|
|
endif
|
|
|
|
ifeq ($(SH), 1)
|
|
COPY = cp
|
|
DEL = rm -f
|
|
else
|
|
COPY = copy
|
|
DEL = del /f
|
|
endif
|
|
|
|
#
|
|
# specific stuff for mingw g++ make
|
|
#
|
|
CXX = g++
|
|
CFLAGS = -c -o$@ -O \
|
|
-I$(QMKSRC) -I$(QMKLIBSRC) -I$(QMKSRC)/generators -I$(QMKSRC)/generators/unix -I$(QMKSRC)/generators/win32 -I$(QMKSRC)/generators/mac -I$(QMKSRC)/generators/integrity \
|
|
-I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION) -I$(BUILD_PATH)/include/QtCore/$(QT_VERSION)/QtCore \
|
|
-I$(BUILD_PATH)/src/corelib/global -DHAVE_QCONFIG_CPP \
|
|
-I$(SOURCE_PATH)/mkspecs/win32-g++ \
|
|
-I$(SOURCE_PATH)/tools/shared \
|
|
-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 \
|
|
-DUNICODE
|
|
CXXFLAGS = $(CFLAGS)
|
|
LFLAGS = -static-libgcc -s
|
|
LIBS = -lole32 -luuid -ladvapi32 -lkernel32
|
|
LINKQMAKE = g++ $(LFLAGS) -o qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
|
|
ADDCLEAN =
|
|
|
|
|
|
#qmake code
|
|
OBJS = project.o main.o ioutils.o proitems.o \
|
|
qmakeglobals.o qmakeparser.o qmakeevaluator.o qmakebuiltins.o \
|
|
makefile.o unixmake.o unixmake2.o mingw_make.o \
|
|
option.o winmakefile.o projectgenerator.o property.o meta.o \
|
|
makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \
|
|
msvc_nmake.o msvc_vcproj.o msvc_vcxproj.o \
|
|
msvc_objectmodel.o msbuild_objectmodel.o registry.o gbuild.o \
|
|
cesdkhandler.o
|
|
|
|
ifdef QMAKE_OPENSOURCE_EDITION
|
|
CFLAGS += -DQMAKE_OPENSOURCE_EDITION
|
|
endif
|
|
|
|
#qt code
|
|
QTOBJS= \
|
|
qbitarray.o \
|
|
qbuffer.o \
|
|
qarraydata.o \
|
|
qbytearray.o \
|
|
qcryptographichash.o \
|
|
qvsnprintf.o \
|
|
qbytearraymatcher.o \
|
|
qconfig.o \
|
|
qdatetime.o \
|
|
qdir.o \
|
|
qdiriterator.o \
|
|
qfiledevice.o \
|
|
qfile.o \
|
|
qtemporaryfile.o \
|
|
qfileinfo.o \
|
|
qabstractfileengine.o \
|
|
qfilesystementry.o \
|
|
qfilesystemengine.o \
|
|
qfilesystemengine_win.o \
|
|
qfilesystemiterator_win.o \
|
|
qfsfileengine.o \
|
|
qfsfileengine_iterator.o \
|
|
qfsfileengine_win.o \
|
|
qglobal.o \
|
|
qhash.o \
|
|
qiodevice.o \
|
|
qlibraryinfo.o \
|
|
qlist.o \
|
|
qlinkedlist.o \
|
|
qlocale.o \
|
|
qlocale_tools.o \
|
|
qlocale_win.o \
|
|
qmalloc.o \
|
|
qmap.o \
|
|
qregexp.o \
|
|
qtextcodec.o \
|
|
qutfcodec.o \
|
|
qstring.o \
|
|
qstringlist.o \
|
|
qstringbuilder.o \
|
|
qsystemerror.o \
|
|
qsystemlibrary.o \
|
|
qtextstream.o \
|
|
quuid.o \
|
|
qvector.o \
|
|
qsettings.o \
|
|
qsettings_win.o \
|
|
qvariant.o \
|
|
qmetatype.o \
|
|
qxmlstream.o \
|
|
qxmlutils.o \
|
|
qnumeric.o \
|
|
qlogging.o
|
|
|
|
|
|
qmake.exe: $(OBJS) $(QTOBJS)
|
|
$(LINKQMAKE)
|
|
-$(COPY) qmake.exe $(BUILD_PATH)\bin\qmake.exe
|
|
|
|
Makefile: $(SOURCE_PATH)/qmake/Makefile.win32-g++
|
|
@echo "Out of date, please rerun configure"
|
|
|
|
clean::
|
|
-$(DEL) $(OBJS) $(QTOBJS) $(ADDCLEAN)
|
|
|
|
distclean:: clean
|
|
-$(DEL) qmake.exe
|
|
|
|
.c.o:
|
|
$(CXX) $(CFLAGS) $<
|
|
|
|
.cpp.o:
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
QTVPATH = $(TOOLSRC)/shared/windows:$(CORESRC)/global:$(CORESRC)/kernel:$(CORESRC)/tools:$(CORESRC)/codecs:$(CORESRC)/io:$(CORESRC)/xml:$(CORESRC)/plugin:$(BUILD_PATH)/src/corelib/global
|
|
VPATH = $(QMKSRC):$(QMKLIBSRC):$(QMKSRC)/generators:$(QMKSRC)/generators/unix:$(QMKSRC)/generators/mac:$(QMKSRC)/generators/win32:$(QMKSRC)/generators/integrity:$(QTVPATH)
|
|
|
|
project.o: $(QMKSRC)/project.h $(QMKSRC)/option.h
|
|
meta.o: $(QMKSRC)/project.h $(QMKSRC)/option.h
|
|
main.o: $(QMKSRC)/project.h
|
|
option.o: $(QMKSRC)/option.h
|
|
property.o: $(QMKSRC)/project.h $(QMKSRC)/option.h
|