summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2016-11-18 16:27:15 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2016-11-23 09:38:14 +0000
commit9bdb5b5ffea50b2e8d3deb9fd370c2fb5805e076 (patch)
treec8067d5c482534646a2734c1be07faab0fc7d106 /qmake
parent4ce0beee1b69a8695fc24a244a8a3053711906ac (diff)
configure: put more of the makefile contents into template files
... instead of having (duplicated) code in the configures to create it. Change-Id: Ia86b44021a024a969f5a49b7fb18d3d414869f93 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/Makefile.unix7
-rw-r--r--qmake/Makefile.unix.macos17
-rw-r--r--qmake/Makefile.unix.mingw27
-rw-r--r--qmake/Makefile.unix.unix11
-rw-r--r--qmake/Makefile.unix.win3219
5 files changed, 78 insertions, 3 deletions
diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
index 0ab2a1b3c6..808a6d8233 100644
--- a/qmake/Makefile.unix
+++ b/qmake/Makefile.unix
@@ -20,7 +20,7 @@ QOBJS=qtextcodec.o qutfcodec.o qstring.o qstring_compat.o qstringbuilder.o qtext
qvariant.o qvsnprintf.o qlocale.o qlocale_tools.o qlinkedlist.o qnumeric.o \
qcryptographichash.o qxmlstream.o qxmlutils.o qlogging.o \
qjson.o qjsondocument.o qjsonparser.o qjsonarray.o qjsonobject.o qjsonvalue.o \
- $(QTOBJS)
+ $(QTOBJS) $(QTOBJS2)
#all sources, used for the depend target
@@ -92,7 +92,7 @@ DEPEND_SRC = \
$(SOURCE_PATH)/src/corelib/json/qjsonarray.cpp \
$(SOURCE_PATH)/src/corelib/json/qjsonobject.cpp \
$(SOURCE_PATH)/src/corelib/json/qjsonvalue.cpp \
- $(QTSRCS)
+ $(QTSRCS) $(QTSRCS2)
CPPFLAGS = -g $(EXTRA_CPPFLAGS) \
-I$(QMKSRC) -I$(QMKLIBSRC) -I$(QMKSRC)/generators -I$(QMKSRC)/generators/unix -I$(QMKSRC)/generators/win32 \
@@ -106,7 +106,8 @@ CPPFLAGS = -g $(EXTRA_CPPFLAGS) \
-DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL \
-DQT_NO_FOREACH
-CXXFLAGS = $(EXTRA_CXXFLAGS) $(CPPFLAGS)
+CXXFLAGS = $(EXTRA_CXXFLAGS) $(CONFIG_CXXFLAGS) $(CPPFLAGS)
+LFLAGS = $(EXTRA_LFLAGS) $(CONFIG_LFLAGS)
first all: $(BUILD_PATH)/bin/qmake$(EXEEXT)
qmake: $(BUILD_PATH)/bin/qmake$(EXEEXT)
diff --git a/qmake/Makefile.unix.macos b/qmake/Makefile.unix.macos
new file mode 100644
index 0000000000..06b875a84a
--- /dev/null
+++ b/qmake/Makefile.unix.macos
@@ -0,0 +1,17 @@
+COCOA_LFLAGS = -framework Foundation -framework CoreServices
+CARBON_LFLAGS = -framework ApplicationServices
+CARBON_CFLAGS = -fconstant-cfstrings
+
+EXTRA_CXXFLAGS = $(CARBON_CFLAGS)
+EXTRA_LFLAGS = $(COCOA_LFLAGS) $(CARBON_LFLAGS)
+
+QTOBJS2 = \
+ qsettings_mac.o \
+ qcore_mac.o \
+ qcore_mac_objc.o \
+ qcore_foundation.o
+QTSRCS2 = \
+ $(SOURCE_PATH)/src/corelib/io/qsettings_mac.cpp \
+ $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp \
+ $(SOURCE_PATH)/src/corelib/kernel/qcore_mac_objc.mm \
+ $(SOURCE_PATH)/src/corelib/kernel/qcore_foundation.mm
diff --git a/qmake/Makefile.unix.mingw b/qmake/Makefile.unix.mingw
new file mode 100644
index 0000000000..2c52c07dca
--- /dev/null
+++ b/qmake/Makefile.unix.mingw
@@ -0,0 +1,27 @@
+# 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)
+ RM_F = rm -f
+ RM_RF = rm -rf
+else
+ RM_F = del /f
+ RM_RF = rmdir /s /q
+endif
diff --git a/qmake/Makefile.unix.unix b/qmake/Makefile.unix.unix
new file mode 100644
index 0000000000..63eba4f5a5
--- /dev/null
+++ b/qmake/Makefile.unix.unix
@@ -0,0 +1,11 @@
+EXEEXT =
+QTOBJS = \
+ qfilesystemengine_unix.o \
+ qfilesystemiterator_unix.o \
+ qfsfileengine_unix.o \
+ qlocale_unix.o
+QTSRCS = \
+ $(SOURCE_PATH)/src/corelib/io/qfilesystemengine_unix.cpp \
+ $(SOURCE_PATH)/src/corelib/io/qfilesystemiterator_unix.cpp \
+ $(SOURCE_PATH)/src/corelib/io/qfsfileengine_unix.cpp \
+ $(SOURCE_PATH)/src/corelib/tools/qlocale_unix.cpp
diff --git a/qmake/Makefile.unix.win32 b/qmake/Makefile.unix.win32
new file mode 100644
index 0000000000..be7245a370
--- /dev/null
+++ b/qmake/Makefile.unix.win32
@@ -0,0 +1,19 @@
+EXEEXT = .exe
+EXTRA_CXXFLAGS = -DUNICODE
+EXTRA_LFLAGS = -static -s -lole32 -luuid -ladvapi32 -lkernel32
+QTOBJS = \
+ qfilesystemengine_win.o \
+ qfilesystemiterator_win.o \
+ qfsfileengine_win.o \
+ qlocale_win.o \
+ qsettings_win.o \
+ qsystemlibrary.o \
+ registry.o
+QTSRCS = \
+ $(SOURCE_PATH)/src/corelib/io/qfilesystemengine_win.cpp \
+ $(SOURCE_PATH)/src/corelib/io/qfilesystemiterator_win.cpp \
+ $(SOURCE_PATH)/src/corelib/io/qfsfileengine_win.cpp \
+ $(SOURCE_PATH)/src/corelib/io/qsettings_win.cpp \
+ $(SOURCE_PATH)/src/corelib/tools/qlocale_win.cpp \
+ $(SOURCE_PATH)/src/corelib/plugin/qsystemlibrary.cpp \
+ $(SOURCE_PATH)/tools/shared/windows/registry.cpp