TOP = $(shell readlink -f .) ARCH = x86-linux64 JOBS = 2 LOCAL_BUILD_PATH = $(TOP)/build.$(ARCH) LOCAL_INST_PATH = $(TOP)/install.$(ARCH) VERSION_SHORT=5.15 VERSION_RELEASE=0 VERSION=$(VERSION_SHORT).$(VERSION_RELEASE) SSL_VERSION=1.1.1g SSL_ARCHIVE=openssl-$(SSL_VERSION).tar.gz PACKAGE_NAME = qt-$(VERSION) GCC_PATH ?= /opt/dev-tools/gcc-suite/1.7.0/x86-linux64/gcc CC ?= $(GCC_PATH)/bin/gcc CXX ?= $(GCC_PATH)/bin/g++ #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= && \ export LDFLAGS="-static-libgcc -static-libstdc++" && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib64:$(LD_LIBRARY_PATH) && \ ./Configure -static-libgcc -static-libstdc++ --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="-static-libgcc -static-libstdc++" && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib64:$(LD_LIBRARY_PATH) && \ ./Configure -static-libgcc -static-libstdc++ 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 qt.x86-linux64.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) && \ patch -p1 < $(TOP)/SOURCE/qt-5.12.3-linux-static-gcc-libs.patch && \ rm -f config.cache && \ export LDFLAGS=$(CXX_LDFLAGS) && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib64:$(LD_LIBRARY_PATH) && \ gcc --version && \ bash ./configure \ -recheck-all \ -shared \ -prefix $(LOCAL_INST_PATH)/qt-$(VERSION)-shared \ -release \ -opensource \ -silent \ -strip \ -ssl \ -openssl \ -I$(LOCAL_INST_PATH)/openssl/include \ -L$(LOCAL_INST_PATH)/openssl/lib \ -L$(GCC_PATH)/lib64 \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -qt-zlib \ -qt-libjpeg \ -qt-libpng \ -qt-pcre \ -fontconfig \ -system-freetype \ -confirm-license && \ make -j$(JOBS) && \ make -j$(JOBS) install cp -f $(TOP)/qt.conf $(LOCAL_INST_PATH)/qt-$(VERSION)-shared/bin/ cd $(LOCAL_INST_PATH)/qt-$(VERSION)-shared && \ tar -zcf $(TOP)/qt-$(VERSION)-shared-$(ARCH).tgz ./ qt.x86-linux64.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) && \ patch -p1 < $(TOP)/SOURCE/qt-5.12.3-linux-static-gcc-libs.patch && \ rm -f config.cache && \ export PATH=$(GCC_PATH)/bin:$(PATH) && \ export LD_LIBRARY_PATH=$(GCC_PATH)/lib64:$(LD_LIBRARY_PATH) && \ gcc --version && \ ./configure \ -recheck-all \ -prefix $(LOCAL_INST_PATH)/qt-$(VERSION)-static \ -static \ -release \ -opensource \ -strip \ -ssl \ -openssl \ -silent \ -I$(LOCAL_INST_PATH)/openssl/include \ -L$(LOCAL_INST_PATH)/opensll/lib \ -L$(GCC_PATH)/lib64 \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -qt-zlib \ -qt-libjpeg \ -qt-libpng \ -qt-pcre \ -fontconfig \ -system-freetype \ -confirm-license && \ make -j$(JOBS) && \ make -j$(JOBS) install cp -f $(TOP)/qt.conf $(LOCAL_INST_PATH)/qt-$(VERSION)-static/bin/ 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) dll2a: for d in $(DLL_DIR)/*.dll; do \ $(GCC_PATH)/bin/$(XPREFIX)dll2a $$d -l $(LIBDIR) ; \ done;