TOP = $(shell readlink -f .) ARCH = x86-mingw64 LOCAL_BUILD_PATH = $(TOP)/build.$(ARCH) LOCAL_INST_PATH = $(TOP)/install.$(ARCH) 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)-$(ARCH) all: download ssl qt ssl: ssl.$(ARCH) qt: qt.$(ARCH) download: $(MAKE) -C ./SOURCE ssl.$(ARCH): rm -Rf $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION) mkdir -p $(LOCAL_BUILD_PATH)/ cd $(LOCAL_BUILD_PATH) && \ tar --force-local -xzf $(TOP)/SOURCE/$(SSL_ARCHIVE) cd $(LOCAL_BUILD_PATH)/openssl-$(SSL_VERSION) && \ export CFLAGS="-m64 -fpic" && \ ./Configure --prefix=$(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH) shared mingw64 && \ make clean && \ make && \ make install qt.$(ARCH): mkdir -p $(LOCAL_BUILD_PATH) rm -Rf $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) if ! [ -d $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) ]; then \ cd $(LOCAL_BUILD_PATH); \ tar --force-local -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.mingw64.patch ; \ patch -p1 < $(TOP)/SOURCE/qt-5.12.3-cross-static-gcc-libs.patch ; \ fi cd $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) && \ rm -f config.cache && \ ./configure \ -platform win32-g++ \ -prefix $(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH) \ -recheck-all \ -shared \ -release \ -strip \ -ssl \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -skip qtwebglplugin \ -skip qtwayland \ -skip qtlocation \ -skip qtdoc \ -skip qtgamepad \ -skip qtsensors \ -skip qtmultimedia \ -skip qtactiveqt \ -qt-zlib \ -qt-libjpeg \ -qt-libpng \ -qt-pcre \ -qt-freetype \ -opengl desktop \ -openssl \ -I$(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH)/include \ -L$(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH)/lib \ -L$(GCC_PATH)/lib \ -opensource \ -confirm-license && \ make && \ make install mv -f $(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH)/bin/openssl.exe \ $(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH)/bin/qt-openssl.exe cp -f $(GCC_PATH)/bin/*.dll $(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH)/bin/ cd $(LOCAL_INST_PATH)/qt-$(VERSION)/$(ARCH) && \ tar --force-local -zcf $(TOP)/$(PACKAGE_NAME).tgz ./ clean: rm -Rf build.$(ARCH) rm -Rf install.$(ARCH)