TOP = $(shell readlink -f .) ARCH = x86-linux JOBS = 2 LOCAL_BUILD_PATH = $(TOP)/build.$(ARCH) LOCAL_INST_PATH = $(TOP)/install.$(ARCH) VERSION_SHORT=5.14 VERSION_RELEASE=2 VERSION=$(VERSION_SHORT).$(VERSION_RELEASE) SSL_VERSION=1.0.2r SSL_ARCHIVE=openssl-$(SSL_VERSION).tar.gz PACKAGE_NAME = qt-$(VERSION) GCC_PATH ?= /opt/dev-tools/gcc/8.2.0/x86-linux64/gcc-8.2.0 CC ?= "$(GCC_PATH)/bin/gcc -m32" CXX ?= "$(GCC_PATH)/bin/g++ -m32" #CC_LDFLAGS = "-m64 -shared -fpic -static-libgcc" #CXX_LDFLAGS = "-m64 -shared -fpic -static-libgcc -static-libstdc++" QT_STATIC_FLAGS = -static -static-runtime -no-shared all: download qt qt: ssl.$(ARCH) qt.$(ARCH) download: $(MAKE) -C $(TOP)/SOURCE 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=-m32 && \ export LDFLAGS=$(CC_LDFLAGS) && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib64:$(LD_LIBRARY_PATH) && \ ./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="-m32 -fpic" && \ export LDFLAGS=$(CC_LDFLAGS) && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib64:$(LD_LIBRARY_PATH) && \ ./Configure shared --prefix=$(LOCAL_INST_PATH)/openssl linux-generic64 && \ pwd && \ make clean && \ make -j$(JOBS) && \ make install qt.x86-linux: qt.x86-linux.shared qt.x86-linux.static merge qt.x86-linux.shared: # shared mkdir -p $(LOCAL_BUILD_PATH) rm -Rf $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) cd $(LOCAL_BUILD_PATH) && \ tar -xJf $(TOP)/SOURCE/qt-everywhere-src-$(VERSION).tar.xz cd $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) && \ rm -f config.cache && \ export LDFLAGS=$(CXX_LDFLAGS) && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib:$(LD_LIBRARY_PATH) && \ gcc --version && \ bash ./configure \ -recheck-all \ -shared \ -prefix $(LOCAL_INST_PATH)/qt-$(VERSION)-shared \ -release \ -opensource \ -strip \ -ssl \ -openssl \ -I$(LOCAL_INST_PATH)/openssl/include \ -L$(LOCAL_INST_PATH)/openssl/lib \ -L$(GCC_PATH)/lib \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -qt-zlib \ -qt-libjpeg \ -qt-libpng \ -qt-pcre \ -qt-xcb \ -fontconfig \ -system-freetype \ -confirm-license && \ make -j$(JOBS) && \ make -j$(JOBS) install cd $(LOCAL_INST_PATH)/qt-$(VERSION)-shared && \ tar -zcf $(TOP)/qt-$(VERSION)-shared-$(ARCH).tgz ./ qt.x86-linux.static: # static mkdir -p $(LOCAL_BUILD_PATH) rm -Rf $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) cd $(LOCAL_BUILD_PATH) && \ tar -xJf $(TOP)/SOURCE/qt-everywhere-src-$(VERSION).tar.xz cd $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) && \ rm -f config.cache && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib:$(LD_LIBRARY_PATH) && \ gcc --version && \ ./configure \ -recheck-all \ -prefix $(LOCAL_INST_PATH)/qt-$(VERSION)-static \ -static \ -release \ -opensource \ -strip \ -ssl \ -openssl \ -I$(LOCAL_INST_PATH)/openssl/include \ -L$(LOCAL_INST_PATH)/opensll/lib \ -L$(GCC_PATH)/lib \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -qt-xcb \ -qt-zlib \ -qt-libjpeg \ -qt-libpng \ -qt-pcre \ -fontconfig \ -system-freetype \ -confirm-license && \ make -j$(JOBS) && \ 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)