qt5base-lts/tools/configure/Makefile.mingw
Oswald Buddenhagen e2978d6097 move license check to qmake-based configure system
this also removes the need for passing pre-processed options via
configure.cfg, so get rid of that.

a somewhat unfortunate side effect is that the android-style-assets
feature had to move back to the top level, as the licensing options
depend on it.

Started-by: Lars Knoll <lars.knoll@qt.io>
Change-Id: Id4d1e0ba18b3e3104400293b8f0c7f2f65e68dea
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-08 12:40:53 +00:00

128 lines
3.5 KiB
Makefile

CORESRC = $(QTSRC)src/corelib
TOOLSRC = $(QTSRC)tools
CONFSRC = $(TOOLSRC)/configure
RAW_PCH = configure_pch.h
PCH = $(RAW_PCH).gch/c++
DEFINES = -DUNICODE -D_CRT_SECURE_NO_DEPRECATE -DQT_BOOTSTRAPPED -DQT_BUILD_CONFIGURE -DQT_USE_QSTRINGBUILDER -DQT_VERSION_STR=\"$(QTVERSION)\" -DQT_VERSION_MAJOR=$(QT_VERSION_MAJOR) -DQT_VERSION_MINOR=$(QT_VERSION_MINOR) -DQT_VERSION_PATCH=$(QT_VERSION_PATCH)
INCPATH = -I"../../include" -I"../../include/QtCore" -I"../../include/QtCore/$(QTVERSION)" -I"../../include/QtCore/$(QTVERSION)/QtCore" -I"$(TOOLSRC)/shared" -I"$(QTSRC)mkspecs/win32-g++"
CXXFLAGS_BARE = -std=c++11 -fno-rtti -fno-exceptions -mthreads -Wall -Wextra $(DEFINES) $(INCPATH)
CXXFLAGS = -include $(RAW_PCH) $(CXXFLAGS_BARE)
LINK = g++
LFLAGS = -Wl,-subsystem,console -mthreads
LIBS = -lole32 -ladvapi32 -luuid
TARGET = ../../configureapp.exe
OBJECTS = \
main.o \
configureapp.o \
environment.o \
qarraydata.o \
qbytearray.o \
qbytearraymatcher.o \
qhash.o \
qlist.o \
qlocale.o \
qlocale_win.o \
qlocale_tools.o \
qvector.o \
qutfcodec.o \
qtextcodec.o \
qglobal.o \
qnumeric.o \
qbuffer.o \
qdatastream.o \
qdir.o \
qdiriterator.o \
qfiledevice.o \
qfile.o \
qfileinfo.o \
qabstractfileengine.o \
qfilesystementry.o \
qfilesystemengine.o \
qfilesystemengine_win.o \
qfilesystemiterator_win.o \
qfsfileengine.o \
qfsfileengine_win.o \
qfsfileengine_iterator.o \
qiodevice.o \
qringbuffer.o \
qdebug.o \
qtextstream.o \
qlogging.o \
qtemporaryfile.o \
qstandardpaths.o \
qstandardpaths_win.o \
qsystemlibrary.o \
qbitarray.o \
qdatetime.o \
qmap.o \
qregexp.o \
qstring.o \
qstring_compat.o \
qstringbuilder.o \
qstringlist.o \
qvsnprintf.o \
qvariant.o \
qsystemerror.o \
qmetatype.o \
qmalloc.o \
qxmlstream.o \
qxmlutils.o \
quuid.o \
registry.o
$(TARGET): $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)
$(OBJECTS): $(PCH)
# 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.bat
# 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)
CHK_DIR_EXISTS = test -d
CHK_DIR_EXISTS_GLUE = ||
MKDIR = mkdir -p
else
CHK_DIR_EXISTS = if not exist
CHK_DIR_EXISTS_GLUE =
MKDIR = md
endif
$(PCH): $(CONFSRC)/configure_pch.h
@$(CHK_DIR_EXISTS) $(RAW_PCH).gch $(CHK_DIR_EXISTS_GLUE) $(MKDIR) $(RAW_PCH).gch
$(CXX) -x c++-header -c $(CXXFLAGS_BARE) -o $@ $<
VPATH = $(CONFSRC):$(TOOLSRC)/shared/windows:$(CORESRC)/global:$(CORESRC)/kernel:$(CORESRC)/tools:$(CORESRC)/codecs:$(CORESRC)/io:$(CORESRC)/xml:$(CORESRC)/plugin
main.o: $(CONFSRC)/configureapp.h
configureapp.o: $(CONFSRC)/configureapp.h $(CONFSRC)/environment.h
environment.o: $(CONFSRC)/environment.h
# Make sure qstring_compat.obj isn't compiled with PCH enabled
qstring_compat.o: $(CORESRC)/tools/qstring_compat.cpp
$(CXX) -c $(CXXFLAGS_BARE) -o $@ $<
clean:
-rm -f *.o
-rm -rf *.gch