qt5base-lts/qmake/Makefile.win32
Lars Knoll ea0a08c898 Move the UTF conversion methods to qstringconverter
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>
2020-05-14 07:46:38 +02:00

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