ea0a08c898
Separate them from the qutfcodec, so that the codec can later on be moved out of Qt Core. Fix the QUtf methods to take qsizetype instead of int for length arguments. This also makes it possible to not build QTextCodec into the bootstrap lib anymore. Change-Id: I0b4f83139d61b19c651520a2f3a5012aa7e85cb8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
253 lines
7.0 KiB
Makefile
253 lines
7.0 KiB
Makefile
!if "$(SOURCE_PATH)" == ""
|
|
SOURCE_PATH = ..
|
|
!endif
|
|
!if "$(BUILD_PATH)" == ""
|
|
BUILD_PATH = ..
|
|
!endif
|
|
|
|
QMKSRC = $(SOURCE_PATH)\qmake
|
|
|
|
#
|
|
# per-compiler options
|
|
#
|
|
!if "$(QMAKESPEC)" == "win32-icc"
|
|
CXX = icl
|
|
LINKER = xilink
|
|
CFLAGS_EXTRA = /Zc:forScope /Qstd=c++11
|
|
!elseif "$(QMAKESPEC)" == "win32-clang-msvc"
|
|
CXX = clang-cl
|
|
LINKER = lld-link
|
|
CFLAGS_EXTRA = -fms-compatibility-version=19.00.23506 -Wno-microsoft-enum-value
|
|
!else
|
|
CXX = cl
|
|
LINKER = link
|
|
CFLAGS_EXTRA = /MP /wd4577 $(CFLAGS_CRT)
|
|
!endif # !win32-icc
|
|
|
|
CFLAGS_PCH = -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch
|
|
PCH_OBJECT = qmake_pch.obj
|
|
|
|
CFLAGS_BARE = -c -Fo./ -Fdqmake.pdb \
|
|
-W2 -nologo -O2 -std:c++17 -Zc:__cplusplus \
|
|
$(CFLAGS_EXTRA) \
|
|
-I$(QMKSRC) -I$(QMKSRC)\library -I$(QMKSRC)\generators -I$(QMKSRC)\generators\unix -I$(QMKSRC)\generators\win32 -I$(QMKSRC)\generators\mac \
|
|
-I$(SOURCE_PATH)/src/3rdparty/tinycbor/src \
|
|
-I$(SOURCE_PATH)/src/3rdparty/pcre2/src \
|
|
-I$(INC_PATH) -I$(INC_PATH)\QtCore -I$(INC_PATH)\QtCore\$(QT_VERSION) -I$(INC_PATH)\QtCore\$(QT_VERSION)\QtCore \
|
|
-I$(BUILD_PATH)\src\corelib\global \
|
|
-I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC) \
|
|
-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS \
|
|
-DQT_VERSION_STR=\"$(QT_VERSION)\" -DQT_VERSION_MAJOR=$(QT_MAJOR_VERSION) -DQT_VERSION_MINOR=$(QT_MINOR_VERSION) -DQT_VERSION_PATCH=$(QT_PATCH_VERSION) \
|
|
-DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL \
|
|
-DQT_NO_FOREACH -DQT_USE_QSTRINGBUILDER -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE \
|
|
-DPCRE2_CODE_UNIT_WIDTH=16 -DHAVE_CONFIG_H -DPCRE2_STATIC -DPCRE2_DISABLE_JIT
|
|
|
|
CFLAGS = $(CFLAGS_BARE) $(CFLAGS)
|
|
|
|
CXXFLAGS_BARE = $(CFLAGS_BARE)
|
|
CXXFLAGS = $(CFLAGS) $(CFLAGS_PCH)
|
|
|
|
LFLAGS =
|
|
LIBS = ole32.lib advapi32.lib shell32.lib netapi32.lib
|
|
ADDCLEAN = qmake.pdb qmake.ilk
|
|
|
|
#qmake code
|
|
OBJS = project.obj main.obj ioutils.obj proitems.obj qmakevfs.obj \
|
|
qmakeglobals.obj qmakeparser.obj qmakeevaluator.obj qmakebuiltins.obj \
|
|
makefile.obj unixmake.obj unixmake2.obj mingw_make.obj \
|
|
option.obj winmakefile.obj projectgenerator.obj property.obj meta.obj \
|
|
makefiledeps.obj metamakefile.obj xmloutput.obj \
|
|
msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj \
|
|
msvc_objectmodel.obj msbuild_objectmodel.obj registry.obj
|
|
|
|
#qt code
|
|
QTOBJS= \
|
|
qbitarray.obj \
|
|
qbuffer.obj \
|
|
qcryptographichash.obj \
|
|
qfilesystementry.obj \
|
|
qfilesystemengine.obj \
|
|
qfilesystemengine_win.obj \
|
|
qfilesystemiterator_win.obj \
|
|
qfsfileengine.obj \
|
|
qfsfileengine_iterator.obj \
|
|
qarraydata.obj \
|
|
qbytearray.obj \
|
|
qbytearraylist.obj \
|
|
qvsnprintf.obj \
|
|
qbytearraymatcher.obj \
|
|
qcalendar.obj \
|
|
qdatetime.obj \
|
|
qdir.obj \
|
|
qdiriterator.obj \
|
|
qfiledevice.obj \
|
|
qfile.obj \
|
|
qtemporaryfile.obj \
|
|
qabstractfileengine.obj \
|
|
qfsfileengine_win.obj \
|
|
qsystemlibrary.obj \
|
|
qfileinfo.obj \
|
|
qendian.obj \
|
|
qglobal.obj \
|
|
qgregoriancalendar.obj \
|
|
qhash.obj \
|
|
qiodevice.obj \
|
|
qringbuffer.obj \
|
|
qdebug.obj \
|
|
qlocale.obj \
|
|
qlocale_tools.obj \
|
|
qlocale_win.obj \
|
|
qversionnumber.obj \
|
|
qmalloc.obj \
|
|
qmap.obj \
|
|
qoperatingsystemversion.obj \
|
|
qoperatingsystemversion_win.obj \
|
|
qregexp.obj \
|
|
qromancalendar.obj \
|
|
qstring.obj \
|
|
qstringconverter.obj \
|
|
qstringlist.obj \
|
|
qstringbuilder.obj \
|
|
qsystemerror.obj \
|
|
qtextstream.obj \
|
|
qdatastream.obj \
|
|
quuid.obj \
|
|
qrandom.obj \
|
|
qsettings.obj \
|
|
qvariant.obj \
|
|
qsettings_win.obj \
|
|
qmetatype.obj \
|
|
qxmlstream.obj \
|
|
qxmlutils.obj \
|
|
qnumeric.obj \
|
|
qlogging.obj \
|
|
qcborstreamwriter.obj \
|
|
qcborvalue.obj \
|
|
qjsoncbor.obj \
|
|
qjsondocument.obj \
|
|
qjsonparser.obj \
|
|
qjsonarray.obj \
|
|
qjsonobject.obj \
|
|
qjsonvalue.obj \
|
|
qregularexpression.obj \
|
|
pcre2_auto_possess.obj \
|
|
pcre2_chartables.obj \
|
|
pcre2_compile.obj \
|
|
pcre2_config.obj \
|
|
pcre2_context.obj \
|
|
pcre2_dfa_match.obj \
|
|
pcre2_error.obj \
|
|
pcre2_extuni.obj \
|
|
pcre2_find_bracket.obj \
|
|
pcre2_jit_compile.obj \
|
|
pcre2_maketables.obj \
|
|
pcre2_match.obj \
|
|
pcre2_match_data.obj \
|
|
pcre2_newline.obj \
|
|
pcre2_ord2utf.obj \
|
|
pcre2_pattern_info.obj \
|
|
pcre2_script_run.obj \
|
|
pcre2_serialize.obj \
|
|
pcre2_string_utils.obj \
|
|
pcre2_study.obj \
|
|
pcre2_substitute.obj \
|
|
pcre2_substring.obj \
|
|
pcre2_tables.obj \
|
|
pcre2_ucd.obj \
|
|
pcre2_valid_utf.obj \
|
|
pcre2_xclass.obj \
|
|
|
|
first all: $(BUILD_PATH)\bin\qmake.exe
|
|
binary: $(BUILD_PATH)\qmake\qmake.exe
|
|
|
|
$(BUILD_PATH)\bin\qmake.exe: $(OBJS) $(QTOBJS) qlibraryinfo.obj
|
|
$(LINKER) $(LFLAGS) /OUT:$(BUILD_PATH)\bin\qmake.exe $(OBJS) $(QTOBJS) qlibraryinfo.obj $(PCH_OBJECT) $(LIBS)
|
|
|
|
$(BUILD_PATH)\qmake\qmake.exe: $(OBJS) $(QTOBJS) qlibraryinfo_final.obj
|
|
$(LINKER) $(LFLAGS) /OUT:$(BUILD_PATH)\qmake\qmake.exe $(OBJS) $(QTOBJS) qlibraryinfo_final.obj $(PCH_OBJECT) $(LIBS)
|
|
|
|
clean::
|
|
-del $(QTOBJS) qlibraryinfo.obj qlibraryinfo_final.obj
|
|
-del $(OBJS)
|
|
-del qmake_pch.obj
|
|
-del qmake_pch.pch
|
|
-del qmake.pdb
|
|
-del qmake.ilk
|
|
-del qmake.tds
|
|
|
|
distclean:: clean
|
|
-del $(BUILD_PATH)\bin\qmake.exe
|
|
-del $(BUILD_PATH)\qmake\qmake.exe
|
|
-del Makefile
|
|
|
|
.cpp.obj:
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
$(OBJS): $(PCH_OBJECT)
|
|
|
|
$(QTOBJS): $(PCH_OBJECT)
|
|
|
|
qlibraryinfo.obj: $(PCH_OBJECT)
|
|
qlibraryinfo_final.obj: $(PCH_OBJECT)
|
|
|
|
qmake_pch.obj:
|
|
$(CXX) $(CXXFLAGS_BARE) -c -Yc -Fpqmake_pch.pch -TP $(QMKSRC)\qmake_pch.h
|
|
|
|
{$(SOURCE_PATH)\qmake\library}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators\mac}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators\unix}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators\win32}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\3rdparty\md5}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\codecs}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\global}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\io}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\kernel}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\plugin}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\serialization}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\text}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\time}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\tools}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\3rdparty\pcre2\src}.c{}.obj::
|
|
$(CXX) $(CFLAGS) $<
|
|
|
|
# Make sure qlibraryinfo.obj isn't compiled with PCH enabled
|
|
qlibraryinfo.obj: $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp
|
|
$(CXX) $(CXXFLAGS_BARE) -DQT_BUILD_QMAKE_BOOTSTRAP $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp
|
|
|
|
qlibraryinfo_final.obj: $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp $(BUILD_PATH)\src\corelib\global\qconfig.cpp
|
|
$(CXX) $(CXXFLAGS) -Foqlibraryinfo_final.obj $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp
|