source: trunk/mkspecs/os2-g++/qmake.conf @ 94

Last change on this file since 94 was 94, checked in by Dmitry A. Kuminov, 11 years ago

qmake/OS/2: Added DEFINES_RSP file generation to overcome command line length limitation when calling moc (#23).

File size: 5.1 KB
Line 
1#
2# qmake configuration for os2-g++
3#
4# Written for Innotek GCC/klibc and IBM ILINK
5#
6
7MAKEFILE_GENERATOR  = GNUMAKE
8TEMPLATE        = app
9CONFIG          += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target
10QT              += core gui
11# @todo
12#DEFINES         += QT_LARGEFILE_SUPPORT
13QMAKE_COMPILER_DEFINES  += __OS2__ __EMX__ __INNOTEK_LIBC__ __GNUC__
14
15QMAKE_EXT_OBJ           = .obj
16QMAKE_EXT_RES           = _res.obj
17
18QMAKE_CC                = gcc
19QMAKE_LEX               = flex
20QMAKE_LEXFLAGS          =
21QMAKE_YACC              = byacc
22QMAKE_YACCFLAGS         = -d
23QMAKE_CFLAGS            = -Zomf
24QMAKE_CFLAGS_DEPS       = -M
25QMAKE_CFLAGS_WARN_ON    = -Wall
26QMAKE_CFLAGS_WARN_OFF   = -w
27QMAKE_CFLAGS_RELEASE    = -s -O2
28QMAKE_CFLAGS_DEBUG      = -g
29QMAKE_CFLAGS_YACC       = -Wno-unused -Wno-parentheses
30
31QMAKE_CFLAGS_INCDIR     = -I
32
33QMAKE_CXX               = g++
34QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
35QMAKE_CXXFLAGS_DEPS     = $$QMAKE_CFLAGS_DEPS
36QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
37QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
38QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
39QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
40QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
41QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
42QMAKE_CXXFLAGS_RTTI_ON  = -frtti
43QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
44QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions
45QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
46
47QMAKE_INCDIR        =
48QMAKE_INCDIR_QT     = $$[QT_INSTALL_HEADERS]
49QMAKE_LIBDIR_QT     = $$[QT_INSTALL_LIBS]
50
51!isEmpty(QMAKE_SH) {
52    QMAKE_RUN_CC        = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
53    QMAKE_RUN_CC_IMP    = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
54    QMAKE_RUN_CXX       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
55    QMAKE_RUN_CXX_IMP   = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
56    QMAKE_OBJECTS_REF   = $(OBJECTS)
57} else {
58    # we need response files because of CMD.EXE command line limit of 1024 chars
59    QMAKE_CFLAGS_RSP_VAR    = CFLAGS_RSP
60    QMAKE_CXXFLAGS_RSP_VAR  = CXXFLAGS_RSP
61    QMAKE_DEFINES_RSP_VAR   = DEFINES_RSP
62    QMAKE_INCPATH_RSP_VAR   = INCPATH_RSP
63    QMAKE_OBJECTS_RSP_VAR   = OBJECTS_RSP
64    QMAKE_RUN_CC        = $(CC) -c @$(CFLAGS_RSP) @$(DEFINES_RSP) @$(INCPATH_RSP) -o $obj $src
65    QMAKE_RUN_CC_IMP    = $(CC) -c @$(CFLAGS_RSP) @$(DEFINES_RSP) @$(INCPATH_RSP) -o $@ $<
66    QMAKE_RUN_CXX       = $(CXX) -c @$(CXXFLAGS_RSP) @$(DEFINES_RSP) @$(INCPATH_RSP) -o $obj $src
67    QMAKE_RUN_CXX_IMP   = $(CXX) -c @$(CXXFLAGS_RSP) @$(DEFINES_RSP) @$(INCPATH_RSP) -o $@ $<
68    QMAKE_OBJECTS_REF   = @$(OBJECTS_RSP)
69}
70
71QMAKE_LINK          = g++
72QMAKE_LINK_C        = gcc
73QMAKE_LFLAGS        = -Zomf -Zstack 0x2000 -Zmap
74QMAKE_LFLAGS_EXCEPTIONS_ON =
75QMAKE_LFLAGS_EXCEPTIONS_OFF =
76QMAKE_LFLAGS_RELEASE    = -s -Zlinker /EXEPACK:2
77QMAKE_LFLAGS_DEBUG      =
78QMAKE_LFLAGS_CONSOLE    = -Zlinker /PM:VIO
79QMAKE_LFLAGS_WINDOWS    = -Zlinker /PM:PM -Zno-fork
80QMAKE_LFLAGS_DLL        = -Zdll
81
82QMAKE_LFLAGS_LIBDIR     = -L
83QMAKE_LFLAGS_LIB        = -l
84
85QMAKE_RUN_LINK          = $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) $(DEF_FILE) $$QMAKE_OBJECTS_REF $(LIBS)
86QMAKE_RUN_IMPLIB        = emximp -p 64 -o $(basename $(DESTDIR_TARGET)).lib $(DEF_FILE)
87
88QMAKE_RUN_GENDEF        = \
89    $(if $(QT_DEV_NO_DEF_GENERATION),\
90        @echo Warning: .DEF file generation is disabled! \
91            (QT_DEV_NO_DEF_GENERATION=$(QT_DEV_NO_DEF_GENERATION)),\
92        "$(QMAKESPECDIR)\emxexpw.cmd" -name $(basename $(TARGET)) \
93            $(if $(VERSION),-version $(VERSION)) \
94            -def $(DEF_FILE) $(if $(DEF_FILE_MAP),-map $(DEF_FILE_MAP)) \
95            $(if $(DEF_FILE_TEMPLATE),-template $(DEF_FILE_TEMPLATE)) \
96            $$QMAKE_OBJECTS_REF)
97
98QMAKE_GENDEF_DEPS       = $(OBJECTS)
99
100QMAKE_LIBS              =
101QMAKE_LIBS_CORE         = -lregistry.dll -lsocket
102QMAKE_LIBS_GUI          =
103QMAKE_LIBS_NETWORK      =
104QMAKE_LIBS_OPENGL       =
105QMAKE_LIBS_COMPAT       =
106QMAKE_LIBS_QT_ENTRY     =
107
108QMAKE_LIB               = emxomfar r
109QMAKE_RUN_LIB           = $(LIB) $(DESTDIR_TARGET) $$QMAKE_OBJECTS_REF
110
111!isEmpty(QMAKE_SH) {
112    MINGW_IN_SHELL      = 1
113    QMAKE_DIR_SEP       = /
114    QMAKE_COPY          = cp
115    QMAKE_COPY_DIR      = xcopy /s /e /o
116    QMAKE_MOVE          = mv
117    QMAKE_DEL_FILE      = rm
118    QMAKE_MKDIR         = mkdir
119    QMAKE_DEL_DIR       = rmdir
120    QMAKE_CHK_DIR_EXISTS    = test -d
121} else {
122    QMAKE_COPY          = copy
123    QMAKE_COPY_DIR      = xcopy /s /e /o
124    QMAKE_MOVE          = move
125    QMAKE_DEL_FILE      = del
126    QMAKE_MKDIR         = mkdir
127    QMAKE_DEL_DIR       = rmdir
128    QMAKE_CHK_DIR_EXISTS    = if not exist
129}
130
131QMAKE_MOC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
132QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
133QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
134
135QMAKE_IDL       =
136QMAKE_ZIP       = zip -r -9
137
138QMAKE_RC        = rc
139QMAKE_RUN_RC2RES= set INCLUDE=%INCLUDE%;$(INCLUDEPATH) & $(RC) -n -r $(RC_FILE) $(RES_FILE)
140QMAKE_RUN_RC2EXE= $(RC) -n -x2 $(RES_FILE) $(DESTDIR_TARGET)
141
142QMAKE_STRIP     = strip
143QMAKE_STRIPFLAGS_LIB    += --strip-unneeded
144load(qt_config)
Note: See TracBrowser for help on using the repository browser.