1# 2# qmake configuration for win32-g++ 3# 4# Written for MinGW 5# 6# Cross compile example for i686-w64-mingw32-g++: 7# configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32- 8# 9 10MAKEFILE_GENERATOR = MINGW 11 12load(device_config) 13 14equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe 15 16TEMPLATE = app 17CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header 18QT += core gui 19DEFINES += UNICODE 20QMAKE_COMPILER_DEFINES += __GNUC__ WIN32 21 22QMAKE_EXT_OBJ = .o 23QMAKE_EXT_RES = _res.o 24 25QMAKE_CC = $${CROSS_COMPILE}gcc 26QMAKE_LEX = flex 27QMAKE_LEXFLAGS = 28QMAKE_YACC = byacc 29QMAKE_YACCFLAGS = -d 30QMAKE_CFLAGS = -pipe 31QMAKE_CFLAGS_DEPS = -M 32QMAKE_CFLAGS_WARN_ON = -Wall -Wextra 33QMAKE_CFLAGS_WARN_OFF = -w 34QMAKE_CFLAGS_RELEASE = -O2 35QMAKE_CFLAGS_DEBUG = -g 36QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses 37 38QMAKE_CXX = $${CROSS_COMPILE}g++ 39QMAKE_CXXFLAGS = $$QMAKE_CFLAGS 40QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS 41QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON 42QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF 43QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE 44QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG 45QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC 46QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD 47QMAKE_CXXFLAGS_RTTI_ON = -frtti 48QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti 49QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads 50QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions 51 52QMAKE_INCDIR = 53QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] 54QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] 55 56QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src 57QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< 58QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src 59QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< 60 61QMAKE_LINK = $${CROSS_COMPILE}g++ 62QMAKE_LINK_C = $${CROSS_COMPILE}gcc 63QMAKE_LFLAGS = 64QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads 65QMAKE_LFLAGS_EXCEPTIONS_OFF = 66QMAKE_LFLAGS_RELEASE = -Wl,-s 67QMAKE_LFLAGS_DEBUG = 68QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console 69QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows 70QMAKE_LFLAGS_DLL = -shared 71QMAKE_LINK_OBJECT_MAX = 10 72QMAKE_LINK_OBJECT_SCRIPT= object_script 73QMAKE_PREFIX_STATICLIB = lib 74QMAKE_EXTENSION_STATICLIB = a 75 76 77QMAKE_LIBS = 78QMAKE_LIBS_CORE = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 79QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 80QMAKE_LIBS_NETWORK = -lws2_32 81QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32 82QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 83QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain 84 85!isEmpty(QMAKE_SH) { 86 MINGW_IN_SHELL = 1 87 QMAKE_DIR_SEP = / 88 QMAKE_QMAKE ~= s,\\\\,/, 89 QMAKE_COPY = cp 90 QMAKE_COPY_DIR = cp -r 91 QMAKE_MOVE = mv 92 QMAKE_DEL_FILE = rm 93 QMAKE_MKDIR = mkdir -p 94 QMAKE_DEL_DIR = rmdir 95 QMAKE_CHK_DIR_EXISTS = test -d 96} else { 97 QMAKE_COPY = copy /y 98 QMAKE_COPY_DIR = xcopy /s /q /y /i 99 QMAKE_MOVE = move 100 QMAKE_DEL_FILE = del 101 QMAKE_MKDIR = mkdir 102 QMAKE_DEL_DIR = rmdir 103 QMAKE_CHK_DIR_EXISTS = if not exist 104} 105 106QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc$${EXE_SUFFIX} 107QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic$${EXE_SUFFIX} 108QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc$${EXE_SUFFIX} 109QMAKE_RCC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}rcc$${EXE_SUFFIX} 110 111QMAKE_IDL = midl 112QMAKE_LIB = $${CROSS_COMPILE}ar -ru 113QMAKE_RC = $${CROSS_COMPILE}windres 114QMAKE_ZIP = zip -r -9 115 116QMAKE_STRIP = $${CROSS_COMPILE}strip 117QMAKE_STRIPFLAGS_LIB += --strip-unneeded 118load(qt_config) 119