xref: /aoo4110/main/solenv/inc/wntmsci10.mk (revision b1cdbd2c)
1#**************************************************************
2#
3#  Licensed to the Apache Software Foundation (ASF) under one
4#  or more contributor license agreements.  See the NOTICE file
5#  distributed with this work for additional information
6#  regarding copyright ownership.  The ASF licenses this file
7#  to you under the Apache License, Version 2.0 (the
8#  "License"); you may not use this file except in compliance
9#  with the License.  You may obtain a copy of the License at
10#
11#    http://www.apache.org/licenses/LICENSE-2.0
12#
13#  Unless required by applicable law or agreed to in writing,
14#  software distributed under the License is distributed on an
15#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16#  KIND, either express or implied.  See the License for the
17#  specific language governing permissions and limitations
18#  under the License.
19#
20#**************************************************************
21
22
23
24# mk file for $(OS)$(COM)$(CPU)$(COMEX) == WNTMSCI10
25
26SOLAR_JAVA*=TRUE
27FULL_DESK=TRUE
28JAVAFLAGSDEBUG=-g
29
30# SOLAR JAva Unterstuetzung nur fuer wntmsci
31
32ASM=ml
33AFLAGS=/c /Cp /coff /safeseh
34
35# architecture dependent flags for the C and C++ compiler that can be changed by
36# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
37ARCH_FLAGS*=
38
39CC*:=cl
40.IF "$(bndchk)" != ""
41CXX*=nmcl
42.ELSE
43.IF "$(truetime)" != ""
44CXX*=nmcl /NMttOn
45.ELSE
46CXX*:=cl
47.ENDIF
48.ENDIF # "$(bndchk)" != ""
49
50.IF "$(stoponerror)" != ""
51CXX+= /NMstoponerror
52.ENDIF
53
54.IF "$(nmpass)" != ""
55CXX+= /NMpass
56.ENDIF
57
58.IF "$(ttinlines)" != ""
59CXX+= /NMttInlines
60.ENDIF
61
62.IF "$(ttnolines)" != ""
63CXX+= /NMttNoLines
64.ENDIF
65
66# Flags for COMEX == 10
67
68CFLAGS+=-Zm500 -Zc:forScope -GR
69CFLAGS+=-c -nologo -Gs $(NOLOGO)
70
71CDEFS+= -D_X86_=1
72
73.IF "$(product)" != ""
74CFLAGS+= -Gy
75.ENDIF # "$(product)" != ""
76
77.IF "$(bndchk)" == ""
78.IF "$(VC_STANDARD)"==""
79CFLAGS+= -Ob1
80.ENDIF	# "$(VC_STANDARD)"==""
81.ENDIF
82
83# flags to enable build with symbols; required for crashdump feature
84#CFLAGSENABLESYMBOLS=-Zi -Fd$(MISC)/_ooo_st_$(TARGET).PDB
85# full debug for RE builds only due to size concerns
86.IF "$(UPDATER)"!=""
87CFLAGSENABLESYMBOLS=-Z7 -Yd
88.ELSE				# "$(UPDATER)"!=""
89# -Zd got higher priority and overrides debug switches
90.IF "$(debug)"==""
91CFLAGSENABLESYMBOLS=-Zd
92.ENDIF			# "$(debug)"==""
93.ENDIF				# "$(UPDATER)"!=""
94
95.IF "$(bndchk)" != ""
96.IF "$(debug)" == ""
97CFLAGS+= -Z7
98.ENDIF
99.ENDIF
100
101.IF "$(truetime)" != ""
102.IF "$(debug)" == ""
103CFLAGS+= -Z7
104.ENDIF
105.ENDIF
106
107.IF "$(FULL_DESK)"!=""
108CDEFS+=-DFULL_DESK
109RSCDEFS+=-DFULL_DESK
110.ENDIF
111
112CFLAGSEXCEPTIONS=-GX
113CFLAGS_NO_EXCEPTIONS=
114
115CFLAGS_CREATE_PCH=-I$(INCPCH) -Fo$(SLO)/pchname.obj -Ycprecompiled_$(PRJNAME).hxx -DPRECOMPILED_HEADERS
116CFLAGS_USE_PCH=-I$(INCPCH) -Yuprecompiled_$(PRJNAME).hxx -Fp$(SLO)/pch/precompiled_$(PRJNAME).hxx$(PCHPOST) -DPRECOMPILED_HEADERS
117CFLAGS_USE_EXCEPTIONS_PCH=-I$(INCPCH) -Yuprecompiled_$(PRJNAME).hxx -Fp$(SLO)/pch_ex/precompiled_$(PRJNAME).hxx$(PCHPOST) -DPRECOMPILED_HEADERS
118.IF "$(CALL_CDECL)"=="TRUE"
119CFLAGSCALL=-Gd
120.ELSE			# "$(CALL_CDECL)"=="TRUE"
121CFLAGSCALL=-Gz
122.ENDIF			# "$(CALL_CDECL)"=="TRUE"
123
124CFLAGSCC=$(ARCH_FLAGS)
125.IF "$(DYNAMIC_CRT)"!=""
126CDEFSSLOMT+=-DWIN32 -D_MT -D_DLL
127CDEFSSLOMT+=-DWIN32 -D_MT -D_DLL
128.IF "$(NO_DYNAMIC_OBJ)"==""
129CDEFSOBJMT+=-DWIN32 -D_MT -D_DLL
130CDEFSOBJMT+=-DWIN32 -D_MT -D_DLL
131.ELSE
132CDEFSOBJMT+=-DWIN32 -D_MT
133CDEFSOBJMT+=-DWIN32 -D_MT
134.ENDIF
135.ELSE
136CDEFSSLOMT+=-DWIN32 -D_MT
137CDEFSSLOMT+=-DWIN32 -D_MT
138CDEFSOBJMT+=-DWIN32 -D_MT
139CDEFSOBJMT+=-DWIN32 -D_MT
140.ENDIF
141CFLAGSPROF=-Gh -Fd$(MISC)/$(@:b).pdb
142CFLAGSDEBUG=-Zi -Fd$(MISC)\_ooo_st_$(TARGET).PDB
143CFLAGSDBGUTIL=
144.IF "$(VC_STANDARD)"==""
145CFLAGSOPT=-Oxs -Oy-
146CFLAGSNOOPT=-Od
147.ELSE			#  "$(VC_STANDARD)"==""
148CFLAGSOPT=
149CFLAGSNOOPT=
150.ENDIF			#  "$(VC_STANDARD)"==""
151CFLAGSOUTOBJ=-Fo
152
153# For C and C++, certain warnings are disabled globally, as they result in
154# spurious warnings and are hard or impossible to workaround:
155# - "warning C4061: enumerate in switch of enum is not explicitly handled by a
156#   case label",
157# - "warning C4063: case 'identifier' is not a valid value for switch of enum
158#   'enumeration'",
159# - "warning C4127: conditional expression is constant",
160# - "warning C4191: unsafe conversion from function type to function type",
161# - "warning C4217: member template functions cannot be used for copy-assignment
162#   or copy-construction",
163# - "warning C4250: 'class1' : inherits 'class2::member' via dominance",
164# - "warning C4292: compiler limit : terminating debug information emission",
165# - "warning C4344: behavior change: use of explicit template arguments results
166#   in call to 'function",
167# - "warning C4347: behavior change: 'overload A' is called instead of
168#   'overload B'",
169# - "warning C4355: 'this' used in base member initializer list",
170# - "warning C4503: 'identifier': decorated name length exceeded, name was
171#   truncated" (http://msdn2.microsoft.com/en-us/library/074af4b6.aspx),
172# - "warning C4511: copy constructor could not be generated",
173# - "warning C4512: assignment operator could not be generated",
174# - "warning C4514: unreferenced inline function has been removed",
175# - "warning C4611: interaction between '_setjmp' and C++ object destruction is
176#   non-portable",
177# - "warning C4619: warning Cnnnn unknown",
178# - "warning C4625: copy constructor could not be generated because a base class
179#   copy constructor is inaccessible",
180# - "warning C4626: assignment operator could not be generated because a base
181#   class assignment operator is inaccessible",
182# - "warning C4675: resolved overload was found by argument-dependent lookup",
183# - "warning C4686: possible change in behavior, change in UDT return calling
184#   convention",
185# - "warning C4710: function not inlined",
186# - "warning C4711: function selected for automatic inline expansion",
187# - "warning C4820: padding added after member".
188# For C, certain warnings from system headers (stdlib.h etc.) have to be
189# disabled globally (for C++, this is not necessary, as the system headers are
190# wrapped by STLport):
191# - "warning C4255: no function prototype given: converting '()' to '(void)'".
192CFLAGSWARNCXX=-Wall -wd4061 -wd4063 -wd4127 -wd4191 -wd4217 -wd4250 -wd4251 \
193    -wd4275 -wd4290 -wd4292 -wd4294 -wd4344 -wd4347 -wd4355 -wd4503 -wd4511 \
194    -wd4512 -wd4514 -wd4611 -wd4619 -wd4625 -wd4626 -wd4640 -wd4675 -wd4686 \
195    -wd4710 -wd4711 -wd4786 -wd4800 -wd4820
196CFLAGSWARNCC=$(CFLAGSWARNCXX) -wd4255
197CFLAGSWALLCC=$(CFLAGSWARNCC)
198CFLAGSWALLCXX=$(CFLAGSWARNCXX)
199CFLAGSWERRCC=-WX
200
201# Once all modules on this platform compile without warnings, set
202# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
203# settings.mk):
204MODULES_WITH_WARNINGS := \
205    lingucomponent \
206    soldep
207
208CDEFS+=-DSTLPORT_VERSION=$(STLPORT_VER) -D_MT -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500
209
210COMMENTFLAG=/COMMENT:"$(PRJNAME)_$(UPD)_$(VCSID)_"
211
212LINK=link $(COMMENTFLAG) $(NOLOGO) /MACHINE:IX86
213LINKOUTPUTFILTER= $(PIPEERROR) $(GREP) -v "LNK4197:"
214.IF "$(PRODUCT)"!="full"
215.ELSE
216LINKFLAGS=/MAP /OPT:NOREF
217.ENDIF
218
219.IF "$(linkinc)" != ""
220LINKFLAGS=-NODEFAULTLIB -DEBUG:full -DEBUGTYPE:cv -INCREMENTAL:YES
221MAPFILE=
222.ELSE # "$(linkinc)" != ""
223.IF "$(PRODUCT)"!="full"
224LINKFLAGS+= -NODEFAULTLIB -DEBUG:full -DEBUGTYPE:cv
225.ELSE # "$(PRODUCT)"!="full"
226LINKFLAGS+= -NODEFAULTLIB -RELEASE -DEBUG:full
227.ENDIF # "$(PRODUCT)"!="full"
228MAPFILE=-out:$$@
229.ENDIF # "$(linkinc)" != ""
230
231.IF "$(bndchk)" != ""
232LINK=nmlink $(COMMENTFLAG) $(NOLOGO) -MACHINE:IX86
233LINKFLAGS=-NODEFAULTLIB -DEBUG:full -DEBUGTYPE:cv
234.ENDIF
235
236.IF "$(truetime)" != ""
237LINK=nmlink /NMttOn $(COMMENTFLAG) $(NOLOGO) /MACHINE:IX86
238LINKFLAGS=/NODEFAULTLIB /DEBUG:full /DEBUGTYPE:cv
239.ENDIF
240
241LINKFLAGSAPPGUI=/SUBSYSTEM:WINDOWS,4.0
242LINKFLAGSSHLGUI=/SUBSYSTEM:WINDOWS,4.0 /DLL
243LINKFLAGSAPPCUI=/SUBSYSTEM:CONSOLE /BASE:0x1b000000
244LINKFLAGSSHLCUI=/SUBSYSTEM:CONSOLE /DLL
245LINKFLAGSTACK=/STACK:
246LINKFLAGSPROF=-DEBUG:mapped,partial -DEBUGTYPE:coff cap.lib
247LINKFLAGSWST=-DEBUG:mapped,partial -DEBUGTYPE:coff wst.lib -NODEFAULTLIB
248LINKFLAGSDEBUG=-DEBUG:full -DEBUGTYPE:cv
249LINKFLAGSOPT=
250
251UWINAPILIB*=uwinapi.lib
252.IF "$(DYNAMIC_CRT)"!=""
253.IF "$(USE_STLP_DEBUG)" != ""
254LIBCMT=msvcrtd.lib
255.ELSE  # "$(USE_STLP_DEBUG)" != ""
256LIBCMT=msvcrt.lib
257.ENDIF # "$(USE_STLP_DEBUG)" != ""
258.ELSE			# "$(DYNAMIC_CRT)"!=""
259.IF "$(USE_STLP_DEBUG)" != ""
260LIBCMT=libcmtd.lib
261.ELSE  # "$(USE_STLP_DEBUG)" != ""
262LIBCMT=libcmt.lib
263.ENDIF # "$(USE_STLP_DEBUG)" != ""
264.ENDIF			# "$(DYNAMIC_CRT)"!=""
265
266STDOBJVCL=$(L)/salmain.obj
267STDOBJGUI=
268STDSLOGUI=
269STDOBJCUI=
270STDSLOCUI=
271
272STDLIBGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
273STDLIBCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
274STDSHLGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
275STDSHLCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
276
277.IF "$(USE_STLP_DEBUG)" != ""
278CFLAGS+=-MTd
279LIBSTLPORT=stlport_vc71_stldebug.lib
280LIBSTLPORTST=stlport_vc71_stldebug_static.lib
281.ELSE
282LIBSTLPORT=stlport_vc71.lib
283LIBSTLPORTST=stlport_vc71_static.lib
284.ENDIF
285
286ATL_INCLUDE*=$(COMPATH)/atlmfc/include
287ATL_LIB*=$(COMPATH)/atlmfc/lib
288
289LIBMGR=lib $(NOLOGO)
290IMPLIB=lib
291LIBFLAGS=
292
293IMPLIBFLAGS=-machine:IX86
294
295MAPSYM=
296MAPSYMFLAGS=
297
298RC=rc
299RCFLAGS=-r -DWIN32 -fo$@ $(RCFILES)
300RCLINK=rc
301RCLINKFLAGS=
302RCSETVERSION=
303
304
305DLLPOSTFIX=
306PCHPOST=.pch
307
308CSC*=$(FLIPCMD) csc
309VBC*=vbc
310
311ADVAPI32LIB=advapi32.lib
312SHELL32LIB=shell32.lib
313GDI32LIB=gdi32.lib
314OLE32LIB=ole32.lib
315OLEAUT32LIB=oleaut32.lib
316UUIDLIB=uuid.lib
317WINSPOOLLIB=winspool.lib
318IMM32LIB=imm32.lib
319VERSIONLIB=version.lib
320WINMMLIB=winmm.lib
321WSOCK32LIB=wsock32.lib
322MPRLIB=mpr.lib
323WS2_32LIB=ws2_32.lib
324KERNEL32LIB=kernel32.lib
325USER32LIB=user32.lib
326COMDLG32LIB=comdlg32.lib
327COMCTL32LIB=comctl32.lib
328CRYPT32LIB=crypt32.lib
329GDIPLUSLIB=gdiplus.lib
330DBGHELPLIB=dbghelp.lib
331MSILIB=msi.lib
332DDRAWLIB=ddraw.lib
333SHLWAPILIB=shlwapi.lib
334URLMONLIB=urlmon.lib
335WININETLIB=wininet.lib
336OLDNAMESLIB=oldnames.lib
337MSIMG32LIB=msimg32.lib
338
339