summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorJoerg Koenig <Joerg.Koenig@techsat.com>2019-05-11 20:13:43 (GMT)
committerJoerg Koenig <Joerg.Koenig@techsat.com>2019-05-11 20:13:43 (GMT)
commit66ad746c9bb216e9022c7f3d311829799a7243c1 (patch)
treeac4b669bf16b586bc35e36fb1a03c430402588fa /Makefile
parenta03664703b04cf1a777e4d5305efc6aa682fea12 (diff)
downloadQt-66ad746c9bb216e9022c7f3d311829799a7243c1.zip
Qt-66ad746c9bb216e9022c7f3d311829799a7243c1.tar.gz
Qt-66ad746c9bb216e9022c7f3d311829799a7243c1.tar.bz2
New Build env
Change-Id: Id076bd08344bbcf3831dc8cc3d07cf1a69fa4c9f
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile167
1 files changed, 119 insertions, 48 deletions
diff --git a/Makefile b/Makefile
index 277c00f..6cdce5f 100644
--- a/Makefile
+++ b/Makefile
@@ -2,77 +2,148 @@
TOP = $(shell readlink -f .)
ARCH = x86-linux64
+JOBS = 2
+
LOCAL_BUILD_PATH = $(TOP)/build.$(ARCH)
LOCAL_INST_PATH = $(TOP)/install.$(ARCH)
-VERSION=5.9.1
+VERSION_SHORT=5.12
+VERSION_RELEASE=3
+VERSION=$(VERSION_SHORT).$(VERSION_RELEASE)
+
+SSL_VERSION=1.0.2r
+SSL_ARCHIVE=openssl-$(SSL_VERSION).tar.gz
+
PACKAGE_NAME = qt-$(VERSION)
-GCC_PATH = /opt/gcc-suite/1.0.0/x86-linux64/gcc-7.1.0
-CROSS_PATH = /opt/gcc-suite/1.0.0/x86-linux64/mingw64
-CROSS_PREFIX = x86_64-w64-mingw32
-CC = "gcc -m64 -static-libgcc -nodefaultlibs"
-CXX = "g++ -m64 -static-libgcc -static-libstdc++ -nodefaultlibs"
+GCC_PATH = /opt/dev-tools/gcc/8.2.0/x86-linux64/gcc-8.2.0
+
+CC = gcc-7 # "-m64 -static-libgcc -nodefaultlibs"
+CXX = g++-7 #"-m64 -static-libgcc -static-libstdc++ -nodefaultlibs"
+CC_LDFLAGS = "-m64 -static-libgcc -nodefaultlibs"
+CXX_LDFLAGS_ = "-m64 -static-libgcc -static-libstdc++ -nodefaultlibs"
+QT_STATIC_FLAGS = -static -static-runtime -no-shared
all: download qt
-qt: qt.$(ARCH)
+qt: ssl.$(ARCH) qt.$(ARCH)
download:
$(MAKE) -C $(TOP)/SOURCE
-qt.x86-linux64:
- rm -Rf $(LOCAL_BUILD_PATH)
+ssl.$(ARCH):
+ # static
+ rm -Rf $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION)
+ mkdir -p $(LOCAL_BUILD_PATH)/
+ cd $(LOCAL_BUILD_PATH) && \
+ tar -xzf $(TOP)/SOURCE/$(SSL_ARCHIVE)
+ cd $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION) && \
+ export CFLAGS= && \
+ export LDFLAGS=$(CC_LDFLAGS) && \
+ ./Configure --prefix=$(LOCAL_INST_PATH)/openssl linux-generic64 && \
+ pwd && \
+ make clean && \
+ make -j$(JOBS) && \
+ make install
+ # shared
+ rm -Rf $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION)
+ mkdir -p $(LOCAL_BUILD_PATH)/
+ cd $(LOCAL_BUILD_PATH) && \
+ tar -xzf $(TOP)/SOURCE/$(SSL_ARCHIVE)
+ cd $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION) && \
+ export CFLAGS=-fpic && \
+ export LDFLAGS=$(CC_LDFLAGS) && \
+ ./Configure shared --prefix=$(LOCAL_INST_PATH)/openssl linux-generic64 && \
+ pwd && \
+ make clean && \
+ make -j$(JOBS) && \
+ make install
+
+qt.x86-linux64: qt.x86-linux64.shared qt.x86-linux64.static merge
+
+qt.x86-linux64.shared:
+ # shared
mkdir -p $(LOCAL_BUILD_PATH)
+ rm -Rf $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION)
cd $(LOCAL_BUILD_PATH) && \
- unzip $(TOP)/SOURCE/qt-everywhere-opensource-src-$(VERSION).zip
- cd $(LOCAL_BUILD_PATH)/qt-everywhere-opensource-src-$(VERSION) && \
- export PATH=$(GCC_PATH)/bin/:$(PATH) && \
- export LD_LIBRARY_PATH=$(GCC_PATH)/lib64 && \
+ tar -xJf $(TOP)/SOURCE/qt-everywhere-src-$(VERSION).tar.xz
+ cd $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) && \
gcc --version && \
- ./configure \
- -prefix $(LOCAL_INST_PATH)/qt-$(VERSION) \
+ rm -f config.cache && \
+ export LDFLAGS=$(CXX_LDFLAGS) && \
+ bash ./configure \
+ -recheck-all \
+ -prefix $(LOCAL_INST_PATH)/qt-$(VERSION)-shared \
+ -release \
-opensource \
- -confirm-license \
- -optimized-tools \
-strip \
- -shared \
- -release \
- && \
- make -j4
+ -ssl \
+ -openssl \
+ -I$(LOCAL_INST_PATH)/openssl/include \
+ -L$(LOCAL_INST_PATH)/openssl/lib \
+ -nomake examples \
+ -nomake tests \
+ -skip qtwebengine \
+ -qt-zlib \
+ -qt-libjpeg \
+ -qt-libpng \
+ -qt-pcre \
+ -qt-xcb \
+ -gtk \
+ -silent \
+ -fontconfig \
+ -system-freetype \
+ -confirm-license && \
+ make -j$(JOBS) CC=$(CC) CXX=$(CXX) && \
+ make -j$(JOBS) install
+ cd $(LOCAL_INST_PATH)/qt-$(VERSION)-shared && \
+ tar -zcf $(TOP)/qt-$(VERSION)-shared-$(ARCH).tgz ./
-qt.x86-mingw64:
- rm -Rf $(LOCAL_BUILD_PATH)
+qt.x86-linux64.static:
+ # static
mkdir -p $(LOCAL_BUILD_PATH)
+ rm -Rf $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION)
cd $(LOCAL_BUILD_PATH) && \
- unzip $(TOP)/SOURCE/qt-everywhere-opensource-src-$(VERSION).zip
- cp -f $(TOP)/SOURCE/win32-g++.qmake.conf \
- $(LOCAL_BUILD_PATH)/qt-everywhere-opensource-src-$(VERSION)/qtbase/mkspecs/win32-g++/qmake.conf
- cd $(LOCAL_BUILD_PATH)/qt-everywhere-opensource-src-$(VERSION) && \
- export PATH=$(GCC_PATH)/bin/:$(PATH) && \
+ tar -xJf $(TOP)/SOURCE/qt-everywhere-src-$(VERSION).tar.xz
+ cd $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) && \
gcc --version && \
- $(CROSS_PATH)/bin/$(CROSS_PREFIX)-gcc --version && \
- ./configure \
- -prefix $(LOCAL_INST_PATH)/qt-$(VERSION) \
+ rm -f config.cache && \
+ export LDFLAGS=$(CXX_LDFLAGS) && \
+ bash ./configure \
+ -recheck-all \
+ -prefix $(LOCAL_INST_PATH)/qt-$(VERSION)-static \
+ -static \
-release \
-opensource \
- -confirm-license \
- -optimized-tools \
-strip \
- -shared \
- -no-compile-examples \
- -platform linux-g++-64 \
- -xplatform win32-g++ \
- -device-option CROSS_COMPILE=$(CROSS_PATH)/bin/$(CROSS_PREFIX)- \
- -device-option CROSS_CXX_LINK_FLAGS="-static-libgcc -static-libstdc++" \
- -device-option CROSS_CC_LINK_FLAGS="-static-libgcc" \
- -skip qtactiveqt \
- -skip qtlocation \
- -skip qtwinextras \
+ -ssl \
+ -openssl \
+ -I$(LOCAL_INST_PATH)/openssl/include \
+ -L$(LOCAL_INST_PATH)/opensll/lib \
+ -nomake examples \
-nomake tests \
- -opengl desktop \
- && \
- make && \
- make install
-
+ -skip qtwebengine \
+ -qt-xcb \
+ -qt-zlib \
+ -qt-libjpeg \
+ -qt-libpng \
+ -qt-pcre \
+ -gtk \
+ -silent \
+ -fontconfig \
+ -system-freetype \
+ -confirm-license && \
+ make -j$(JOBS) CC=$(CC) CXX=$(CXX) LFLAGS=$(CXX_LDFLAGS) && \
+ make -j$(JOBS) install
+ cd $(LOCAL_INST_PATH)/qt-$(VERSION)-static && \
+ tar -zcf $(TOP)/qt-$(VERSION)-static-$(ARCH).tgz ./
+merge:
+ cp -nr $(LOCAL_INST_PATH)/qt-$(VERSION)-static/lib/* $(LOCAL_INST_PATH)/qt-$(VERSION)-shared/lib/
+ cp -nr $(LOCAL_INST_PATH)/qt-$(VERSION)-static/plugins/* $(LOCAL_INST_PATH)/qt-$(VERSION)-shared/plugins/
+ cp -nr $(LOCAL_INST_PATH)/qt-$(VERSION)-static/qml/* $(LOCAL_INST_PATH)/qt-$(VERSION)-shared/qml/
+ cd $(LOCAL_INST_PATH)/qt-$(VERSION)-shared && \
+ tar -zcf $(TOP)/qt-$(VERSION)-$(ARCH).tgz ./
+clean:
+ rm -Rf build.$(ARCH)
+ rm -Rf install.$(ARCH)