xref: /aoo41x/main/solenv/inc/os2.mk (revision a4f23604)
1#*************************************************************************
2#
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# Copyright 2000, 2010 Oracle and/or its affiliates.
6#
7# OpenOffice.org - a multi-platform office productivity suite
8#
9# This file is part of OpenOffice.org.
10#
11# OpenOffice.org is free software: you can redistribute it and/or modify
12# it under the terms of the GNU Lesser General Public License version 3
13# only, as published by the Free Software Foundation.
14#
15# OpenOffice.org is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18# GNU Lesser General Public License version 3 for more details
19# (a copy is included in the LICENSE file that accompanied this code).
20#
21# You should have received a copy of the GNU Lesser General Public License
22# version 3 along with OpenOffice.org.  If not, see
23# <http://www.openoffice.org/license.html>
24# for a copy of the LGPLv3 License.
25#
26#*************************************************************************
27
28# --- OS2-Environment ----------------------------------------------
29
30.IF "$(GUI)" == "OS2"
31
32# YD defined in os2env.cmd
33#.IF "$(NOSOLAR_JAVA)"==""
34#SOLAR_JAVA=TRUE
35#.ENDIF
36
37.IF "$(SOLAR_JAVA)"!=""
38JAVADEF=-DSOLAR_JAVA
39.ENDIF
40JAVAFLAGSDEBUG=-g
41
42# --- Borland ---
43.IF "$(COM)" == "BLC"
44
45JAVADEF=-DSOLAR_JAVA
46
47ASM=tasm
48AFLAGS=
49
50CXX=bcc
51CC=bcc
52CFLAGS=-c -3 -a1 -X -d -wbbf -weas -wucp -w-hid -w-par -I. $(MINUS_I)$(INCLUDE)
53CFLAGSCXX=-Pcxx -RT- -x- -V
54CFLAGSOBJGUIST=
55CFLAGSOBJCUIST=
56CFLAGSOBJGUIMT=-sm
57CFLAGSOBJCUIMT=-sm
58CFLAGSSLOGUIMT=-sm -sd
59CFLAGSSLOCUIMT=-sm -sd
60CFLAGSPROF=
61CFLAGSDEBUG=-v
62CFLAGSDBGUTIL=
63CFLAGSOPT=-Os -Ob -k-
64CFLAGSNOOPT=-Od
65CFLAGSOUTOBJ=-o
66
67LINK=tlink
68LINKFLAGS=/m /L$(LIB)
69#LINKFLAGSAPPGUI=/Toe /B:0x10000 /aa
70#Base wg. lxopt raus
71LINKFLAGSAPPGUI=/Toe /aa
72LINKFLAGSSHLGUI=/Tod
73LINKFLAGSAPPCUI=/Toe /B:0x10000 /ap
74LINKFLAGSSHLCUI=/Tod
75LINKFLAGSTACK=/S:
76LINKFLAGSPROF=
77LINKFLAGSDEBUG=/v
78.IF "$(SOLAR_JAVA)"==""
79LINKFLAGSOPT=/Oc
80.ENDIF
81
82STDOBJVCL=$(L)/salmain.obj
83STDOBJGUI=c02.obj
84STDSLOGUI=c02d.obj
85STDOBJCUI=c02.obj
86STDSLOCUI=c02d.obj
87STDLIBGUIST=c2.lib os2.lib
88STDLIBCUIST=c2.lib os2.lib
89STDLIBGUIMT=c2mt.lib os2.lib
90STDLIBCUIMT=c2mt.lib os2.lib
91STDSHLGUIMT=c2mt.lib os2.lib
92STDSHLCUIMT=c2mt.lib os2.lib
93
94LIBMGR=tlib
95LIBFLAGS=/C /P128
96
97IMPLIB=implib
98IMPLIBFLAGS=/c
99
100MAPSYM=
101MAPSYMFLAGS=
102
103RC=rc
104RCFLAGS=-r $(RCFILES) $@
105RCLINK=rc
106RCLINKFLAGS=
107RCSETVERSION=
108
109DLLPOSTFIX=
110
111.ENDIF
112
113# --- IBM ---
114.IF "$(COM)" == "ICC"
115
116ASM=tasm
117AFLAGS=/ml /oi
118
119CXX=icc
120CC=icc
121.IF "$(COMEX)"=="3"
122CFLAGS=/C+ /Q+ /Gf+ /Sp1 /G4 /Se /Gs+ /Gt+ /Gd+ /J- /W2 /D__EXTENDED__ /Si+ /Xi+ $(MINUS_I)$(INCLUDE)  /Wvft-
123.ELSE
124.IF "$(COMEX)"=="I"
125CFLAGS=/C+ /Tl10 /Q+ /Gf+ /Sp4 /G4 /Sc /Gs- /D__EXTENDED__ /Si+ /Su4
126.ELSE
127CFLAGS=/C+ /Tl10 /Q+ /Gf+ /Sp1 /G4 /Sc /Gs+ /D__EXTENDED__ /Si+
128.ENDIF
129.ENDIF
130
131CFLAGSCXX=/Tdp
132
133CFLAGSEXCEPTIONS=-Gx-
134CFLAGS_NO_EXCEPTIONS=-Gx+
135
136CFLAGSOBJGUIST=/Ge+
137CFLAGSOBJCUIST=/Ge+
138.IF "$(COMEX)"=="I"
139CFLAGSOBJGUIMT=/Ge+ /Gm+
140CFLAGSOBJCUIMT=/Ge+ /Gm+
141CFLAGSSLOGUIMT=/Ge- /Gm+
142CFLAGSSLOCUIMT=/Ge- /Gm+
143.ELSE
144CFLAGSOBJGUIMT=/Ge+ /Gm+
145CFLAGSOBJCUIMT=/Ge+ /Gm+
146CFLAGSSLOGUIMT=/Ge- /Gm+
147CFLAGSSLOCUIMT=/Ge- /Gm+
148.ENDIF
149CFLAGSPROF=/Gh+
150CFLAGSDEBUG=/Ti+
151CFLAGSDBGUTIL=
152CFLAGSOPT=/O+ /Oi+ /Oc+
153CFLAGSNOOPT=/O-
154CFLAGSOUTOBJ=/Fo
155
156CDEFS+=-D_STD_NO_NAMESPACE -D_VOS_NO_NAMESPACE -D_UNO_NO_NAMESPACE
157
158LINK=ilink
159#LINKFLAGS=/PACKCODE:8192 /ALIGN:16 /NOD /NOE /NOI /MAP /NOFREE
160
161#bei too many segments ist /SEGMENTS:nnnn hilfreich. 3072 ist max!
162.IF "$(CPPRTST)"!=""
163LINKFLAGS=/NOFREE /NOD /NOE /NOI /MAP /OPTFUNC /PACKD:65536 /EXEPACK:2
164.ELSE
165LINKFLAGS=/NOFREE /NOD /NOE /NOI /MAP /OPTFUNC /PACKD:65536
166.ENDIF
167LINKFLAGSAPPGUI=/PM:PM /NOBASE
168LINKFLAGSSHLGUI=
169LINKFLAGSAPPCUI=/PM:VIO /NOBASE
170LINKFLAGSSHLCUI=
171LINKFLAGSTACK=/STACK:
172LINKFLAGSPROF=
173LINKFLAGSDEBUG=/COD
174#LINKFLAGSOPT=/EXEPACK:2 /OPTFUNC
175LINKFLAGSOPT=
176#.IF "$(product)"!="full" && "$(product)"!="demo" && "$(product)"!="compact"
177#LINKFLAGS=$(LINKFLAGS) /COD
178#.ELSE
179#LINKFLAGS=$(LINKFLAGS)
180#.ENDIF
181
182.IF "$(product)"=="full" || "$(product)"=="demo" || "$(product)"=="compact"
183#	LINKFLAGS=$(LINKFLAGS)
184.ELSE
185LINKFLAGS+=/COD
186.ENDIF
187
188STDOBJVCL=$(L)/salmain.obj
189STDOBJGUI=
190STDSLOGUI=
191STDOBJCUI=
192STDSLOCUI=
193.IF "$(COMEX)"=="3"
194.IF "$(CPPRTST)"!=""
195STDLIBGUIST=cppom30o.lib cpprtst.lib os2386.lib
196STDLIBCUIST=cppom30o.lib cpprtst.lib os2386.lib
197STDLIBGUIMT=cppom30o.lib cpprtst.lib os2386.lib
198STDLIBCUIMT=cppom30o.lib cpprtst.lib os2386.lib
199STDSHLGUIMT=cppom30o.lib cpprtst.lib os2386.lib
200STDSHLCUIMT=cppom30o.lib cpprtst.lib os2386.lib
201.ELSE
202STDLIBGUIST=cppom30o.lib cppom30i.lib os2386.lib
203STDLIBCUIST=cppom30o.lib cppom30i.lib os2386.lib
204STDLIBGUIMT=cppom30o.lib cppom30i.lib os2386.lib
205STDLIBCUIMT=cppom30o.lib cppom30i.lib os2386.lib
206STDSHLGUIMT=cppom30o.lib cppom30i.lib os2386.lib
207STDSHLCUIMT=cppom30o.lib cppom30i.lib os2386.lib
208.ENDIF
209.ELSE
210STDLIBGUIST=dde4sbs.lib os2386.lib
211STDLIBCUIST=dde4sbs.lib os2386.lib
212STDLIBGUIMT=dde4mbs.lib os2386.lib
213STDLIBCUIMT=dde4mbs.lib os2386.lib
214STDSHLGUIMT=dde4mbs.lib os2386.lib
215STDSHLCUIMT=dde4mbs.lib os2386.lib
216.ENDIF
217
218.IF "$(COMEX)"=="3"
219LIBMGR=ilib
220.ELSE
221LIBMGR=lib
222.ENDIF
223LIBFLAGS=/NOI
224
225IMPLIB=implib
226IMPLIBFLAGS=/noi
227
228MAPSYM=
229MAPSYMFLAGS=
230
231RC=rc
232RCFLAGS=-r $(RCFILES) $@
233RCLINK=rc
234RCLINKFLAGS=
235RCSETVERSION=
236
237DLLPOSTFIX=co
238
239.ENDIF
240
241# --- GNU ---
242.IF "$(COM)" == "GCC"
243
244.INCLUDE : os2gcci.mk
245
246.ENDIF
247
248# --- Watcom ---
249.IF "$(COM)" == "WTC"
250
251ASM=wasm
252AFLAGS=/ml /4pr
253
254CC=wcl386
255CXX=wcl386
256.IF "$(e2p)" != ""
257CFLAGS=-c -W3 -Zp4 -Zld $(MINUS_I)$(INCLUDE) -bt=os2 -zq  -zm -ep -ee
258.ELSE
259CFLAGS=-c -Zp4 -W3 -Zl -Zld $(MINUS_I)$(INCLUDE) -bt=os2 -zq -s
260.ENDIF
261CFLAGSCXX=-cc++ -xst
262CFLAGSOBJGUIST=          #-Alfd -GA -GEfs
263CFLAGSOBJCUIST=
264CFLAGSOBJGUIMT=-bm          #-Alfw -GA -GEd
265CFLAGSOBJCUIMT=-bm
266CFLAGSSLOGUIMT=-bm -bd              #-Alfw -GD -GEfd
267CFLAGSSLOCUIMT=-bm -bd
268CFLAGSPROF=
269CFLAGSDEBUG=/d2
270CFLAGSDBGUTIL=
271.IF "$(e2p)" != ""
272CFLAGSOPT=-otexan -3s
273CFLAGSNOOPT=-od -3s
274.ELSE
275CFLAGSOPT=-otexan -4s
276CFLAGSNOOPT=-od -4s
277.ENDIF
278CFLAGSOUTOBJ=-Fo
279
280LINK=wlink
281LINKFLAGS=op symf op caseexact op statics op MANY
282LINKFLAGSAPPGUI=sys os2v2 pm
283LINKFLAGSSHLGUI=sys os2v2 dll INITINSTANCE TERMINSTANCE
284LINKFLAGSAPPCUI=sys os2v2
285LINKFLAGSSHLCUI=sys os2v2 dll
286LINKFLAGSTACK=op stack=
287LINKFLAGSPROF=
288LINKFLAGSDEBUG=debug all op undefsok
289LINKFLAGSOPT=
290
291STDOBJVCL=$(L)/salmain.obj
292STDOBJGUI=libr clib3s.lib libr plib3s.lib libr math387s.lib
293STDSLOGUI=libr clib3s.lib libr os2386.lib libr plib3s.lib libr math387s.lib
294STDOBJCUI=libr clib3s.lib libr plib3s.lib libr math387s.lib
295STDSLOCUI=libr clib3s.lib libr plib3s.lib libr math387s.lib
296STDLIBGUIST=libr os2386.lib libr clib3s.lib libr plib3s.lib
297STDLIBCUIST=libr os2386.lib libr clib3s.lib libr plib3s.lib
298STDLIBGUIMT=libr os2386.lib libr clib3s.lib libr plib3s.lib
299STDLIBCUIMT=libr os2386.lib libr clib3s.lib libr plib3s.lib
300STDSHLGUIMT=libr os2386.lib libr clib3s.lib libr plibmt3s.lib libr math387s.lib libr plib3s.lib libr noemu387.lib
301STDSHLCUIMT=libr os2386.lib libr clib3s.lib libr plibmt3s.lib libr matg387s.lib libr plib3s.lib
302
303LIBMGR=wlib
304LIBFLAGS=/p=128 /c /m
305
306IMPLIB=echo
307IMPLIBFLAGS=
308
309MAPSYM=mapsym
310MAPSYMFLAGS=
311
312RC=rc
313RCFLAGS=-r $(RCFILES) $@
314RCLINK=rc
315RCLINKFLAGS=
316RCSETVERSION=
317
318DLLPOSTFIX=wo
319
320.ENDIF
321
322# --- OS2 Allgemein ---
323HC=toipf
324HCFLAGS=
325PATH_SEPERATOR*=;
326DLLPRE=
327DLLPOST=.dll
328EXECPOST=.exe
329SCPPOST=.ins
330DLLDEST=$(BIN)
331SOLARSHAREDBIN=$(SOLARBINDIR)
332
333.ENDIF
334