TOP = $(shell readlink -f .) ARCH = x86-mingw64 LOCAL_BUILD_PATH = $(TOP)/build.$(ARCH) LOCAL_INST_PATH = $(TOP)/install.$(ARCH) VERSION_SHORT = 5.13 VERSION_RELEASE = 1 VERSION = $(VERSION_SHORT).$(VERSION_RELEASE) SSL_VERSION = 1.0.2r SSL_ARCHIVE = openssl-$(SSL_VERSION).tar.gz QT_BUILD_PATH = c:/tmp QT_INST_PATH = $(QT_BUILD_PATH)/qt QT_SRC_PATH = $(QT_BUILD_PATH)/qt-src GCC = $(shell which g++) GCC_PATH = $(shell dirname $(GCC)) 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=$(QT_INST_PATH) 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-cross-static-gcc-libs.patch ; \ fi rm -Rf $(QT_SRC_PATH) mv $(LOCAL_BUILD_PATH)/qt-everywhere-src-$(VERSION) $(QT_SRC_PATH) # be sure, that python, msys-tools and gcc are in PATH cd $(QT_SRC_PATH) && \ rm -f config.cache && \ ./configure \ -platform win32-g++ \ -prefix $(QT_INST_PATH) \ -recheck-all \ -shared \ -release \ -strip \ -ssl \ -nomake examples \ -nomake tests \ -skip qtwebengine \ -skip qtwebglplugin \ -skip qtwebchannel \ -skip qtwayland \ -skip qtlocation \ -skip qtdoc \ -skip qtgamepad \ -skip qtsensors \ -skip qtmultimedia \ -qt-zlib \ -qt-libjpeg \ -qt-libpng \ -qt-pcre \ -qt-freetype \ -opengl desktop \ -openssl \ -I$(QT_INST_PATH)/include \ -L$(QT_INST_PATH)/lib \ -opensource \ -confirm-license && \ make && \ make install mv -f $(QT_INST_PATH)/bin/openssl.exe \ $(QT_INST_PATH)/bin/qt-openssl.exe cp -f $(GCC_PATH)/../x86_64-w64-mingw32/bin/libwinpthread-1.dll $(QT_INST_PATH)/bin/ cd $(QT_INST_PATH)/ && \ tar --force-local -zcf $(TOP)/$(PACKAGE_NAME).tgz ./ rm -Rf $(QT_INST_PATH) rm -Rf $(QT_SRC_PATH) clean: rm -Rf build.$(ARCH) rm -Rf install.$(ARCH)