| !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 \ |
| $(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$(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 -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE |
| CFLAGS = $(CFLAGS_PCH) $(CFLAGS_BARE) $(CFLAGS) |
| |
| CXXFLAGS_BARE = $(CFLAGS_BARE) |
| CXXFLAGS = $(CFLAGS) |
| |
| 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 \ |
| qlist.obj \ |
| qlocale.obj \ |
| qlocale_tools.obj \ |
| qlocale_win.obj \ |
| qversionnumber.obj \ |
| qmalloc.obj \ |
| qmap.obj \ |
| qoperatingsystemversion.obj \ |
| qoperatingsystemversion_win.obj \ |
| qregexp.obj \ |
| qromancalendar.obj \ |
| qutfcodec.obj \ |
| qstring.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 |
| |
| 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) $< |
| |
| # 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 |