1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: wntmsci11.mk,v $
13 # This file is part of OpenOffice.org.
15 # OpenOffice.org is free software: you can redistribute it and/or modify
16 # it under the terms of the GNU Lesser General Public License version 3
17 # only, as published by the Free Software Foundation.
19 # OpenOffice.org is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU Lesser General Public License version 3 for more details
23 # (a copy is included in the LICENSE file that accompanied this code).
25 # You should have received a copy of the GNU Lesser General Public License
26 # version 3 along with OpenOffice.org. If not, see
27 # <http://www.openoffice.org/license.html>
28 # for a copy of the LGPLv3 License.
30 #*************************************************************************
32 # mk file for $(OS)$(COM)$(CPU)$(COMEX) == WNTMSCI11 and WNTMSCI12
38 # SOLAR JAva Unterstuetzung nur fuer wntmsci
43 # architecture dependent flags for the C and C++ compiler that can be changed by
44 # exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
51 .IF
"$(truetime)" != ""
56 .ENDIF
# "$(bndchk)" != ""
58 .IF
"$(stoponerror)" != ""
66 .IF
"$(ttinlines)" != ""
70 .IF
"$(ttnolines)" != ""
74 # Flags for COMEX == 11
76 # disable "warning C4675: resolved overload was found by argument-dependent
78 # -wd4251 -wd4275 -wd4290 -wd4675 -wd4786 -wd4800
79 CFLAGS
+=-Zm500
-Zc
:forScope
,wchar_t-
-GR
80 CFLAGS
+=-c
-nologo
-Gs
$(NOLOGO
)
82 CDEFS
+= -D_X86_
=1 -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE
-D_CRT_NON_CONFORMING_SWPRINTFS
84 .IF
"$(product)" != ""
86 .ENDIF
# "$(product)" != ""
89 .IF
"$(VC_STANDARD)"==""
91 .ENDIF
# "$(VC_STANDARD)"==""
94 # flags to enable build with symbols; required for crashdump feature
95 #CFLAGSENABLESYMBOLS=-Zi -Fd$(MISC)$/_ooo_st_$(TARGET).PDB
96 CFLAGSENABLESYMBOLS
=-Z7
-Yd
104 .IF
"$(truetime)" != ""
110 .IF
"$(FULL_DESK)"!=""
115 CFLAGSEXCEPTIONS
=-EHa
116 CFLAGS_NO_EXCEPTIONS
=
118 # with the current debug switches PCH won't work
119 # anyway. so keep the existing .pch intact and don't
123 .ENDIF
"$(debug)"!=""
125 CFLAGS_CREATE_PCH
=-I
$(INCPCH
) -Fo
$(SLO
)$/pchname.obj
-Ycprecompiled_
$(PRJNAME
).hxx
-DPRECOMPILED_HEADERS
126 CFLAGS_USE_PCH
=-I
$(INCPCH
) -Yuprecompiled_
$(PRJNAME
).hxx
-Fp
$(SLO
)$/pch
/precompiled_
$(PRJNAME
).hxx
$(PCHPOST
) -DPRECOMPILED_HEADERS
127 CFLAGS_USE_EXCEPTIONS_PCH
=-I
$(INCPCH
) -Yuprecompiled_
$(PRJNAME
).hxx
-Fp
$(SLO
)$/pch_ex
/precompiled_
$(PRJNAME
).hxx
$(PCHPOST
) -DPRECOMPILED_HEADERS
128 .IF
"$(CALL_CDECL)"=="TRUE"
130 .ELSE
# "$(CALL_CDECL)"=="TRUE"
132 .ENDIF
# "$(CALL_CDECL)"=="TRUE"
134 CFLAGSCC
=$(ARCH_FLAGS
)
135 .IF
"$(DYNAMIC_CRT)"!=""
136 CDEFSSLOMT
+=-DWIN32
-D_MT
-D_DLL
137 CDEFSSLOMT
+=-DWIN32
-D_MT
-D_DLL
138 .IF
"$(NO_DYNAMIC_OBJ)"==""
139 CDEFSOBJMT
+=-DWIN32
-D_MT
-D_DLL
140 CDEFSOBJMT
+=-DWIN32
-D_MT
-D_DLL
142 CDEFSOBJMT
+=-DWIN32
-D_MT
143 CDEFSOBJMT
+=-DWIN32
-D_MT
144 .ENDIF
# "$(NO_DYNAMIC_OBJ)"==""
146 CDEFSSLOMT
+=-DWIN32
-D_MT
147 CDEFSSLOMT
+=-DWIN32
-D_MT
148 CDEFSOBJMT
+=-DWIN32
-D_MT
149 CDEFSOBJMT
+=-DWIN32
-D_MT
150 .ENDIF
# "$(DYNAMIC_CRT)"!=""
152 CFLAGSPROF
=-Gh
-Fd
$(MISC
)$/$(@
:b
).pdb
153 CFLAGSDEBUG
=-Zi
-Fd
$(MISC
)$/$(@
:b
).pdb
155 .IF
"$(VC_STANDARD)"==""
158 .ELSE
# "$(VC_STANDARD)"==""
161 .ENDIF
# "$(VC_STANDARD)"==""
164 # For C and C++, certain warnings are disabled globally, as they result in
165 # spurious warnings and are hard or impossible to workaround:
166 # - "warning C4061: enumerate in switch of enum is not explicitly handled by a
168 # - "warning C4127: conditional expression is constant",
169 # - "warning C4191: unsafe conversion from function type to function type",
170 # - "warning C4217: member template functions cannot be used for copy-assignment
171 # or copy-construction",
172 # - "warning C4250: 'class1' : inherits 'class2::member' via dominance",
173 # - "warning C4355: 'this' used in base member initializer list",
174 # - "warning C4511: copy constructor could not be generated",
175 # - "warning C4512: assignment operator could not be generated",
176 # - "warning C4514: unreferenced inline function has been removed",
177 # - "warning C4611: interaction between '_setjmp' and C++ object destruction is
179 # - "warning C4625: copy constructor could not be generated because a base class
180 # copy constructor is inaccessible",
181 # - "warning C4626: assignment operator could not be generated because a base
182 # class assignment operator is inaccessible",
183 # - "warning C4675: resolved overload was found by argument-dependent lookup",
184 # - "warning C4710: function not inlined",
185 # - "warning C4711: function selected for automatic inline expansion",
186 # - "warning C4820: padding added after member".
187 # - "warning C4503: 'identifier' : decorated name length exceeded, name was truncated"
188 # (http://msdn2.microsoft.com/en-us/library/074af4b6.aspx)
189 # For C, certain warnings from system headers (stdlib.h etc.) have to be
190 # disabled globally (for C++, this is not necessary, as the system headers are
191 # wrapped by STLport):
192 # - "warning C4255: no function prototype given: converting
194 # - "warning C4365: conversion from ... to ... signed/unsigned mismatch"
196 CFLAGSWARNCXX
=-Wall
-wd4061
-wd4127
-wd4191
-wd4217
-wd4250
-wd4251
-wd4275 \
197 -wd4290
-wd4294
-wd4355
-wd4511
-wd4512
-wd4514
-wd4611
-wd4625
-wd4626 \
198 -wd4640
-wd4675
-wd4710
-wd4711
-wd4786
-wd4800
-wd4820
-wd4503
-wd4619 \
199 -wd4365
-wd4668
-wd4738
-wd4826
-wd4350
-wd4505
-wd4692
-wd4189
-wd4005
200 CFLAGSWARNCC
=$(CFLAGSWARNCXX
) -wd4255
201 CFLAGSWALLCC
=$(CFLAGSWARNCC
)
202 CFLAGSWALLCXX
=$(CFLAGSWARNCXX
)
205 # Once all modules on this platform compile without warnings, set
206 # COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
208 MODULES_WITH_WARNINGS
:= \
212 CDEFS
+=-DSTLPORT_VERSION
=400 -D_MT
213 .IF
"$(COMEX)" == "11"
214 CDEFS
+=-DWINVER
=0x0400 -D_WIN32_IE
=0x0400
215 _VC_MANIFEST_BASENAME
=__VC80
217 CDEFS
+=-DWINVER
=0x0500 -D_WIN32_IE
=0x0500
218 _VC_MANIFEST_BASENAME
=__VC90
221 LINK
=link
$(NOLOGO
) /MACHINE
:IX86
222 LINKOUTPUTFILTER
= $(PIPEERROR
) $(GREP
) -v
"LNK4197:"
223 .IF
"$(PRODUCT)"!="full"
225 LINKFLAGS
=/MAP
/OPT
:NOREF
228 .IF
"$(linkinc)" != ""
229 LINKFLAGS
=-NODEFAULTLIB
-INCREMENTAL
:YES
-DEBUG
232 .ELSE
# "$(linkinc)" != ""
234 .IF
"$(PRODUCT)"!="full"
235 LINKFLAGS
+= -NODEFAULTLIB
-DEBUG
236 .ELSE
# "$(PRODUCT)"!="full"
237 LINKFLAGS
+= -NODEFAULTLIB
-RELEASE
-DEBUG
-INCREMENTAL
:NO
238 .ENDIF
# "$(PRODUCT)"!="full"
240 .ENDIF
# "$(linkinc)" != ""
242 .IF
"$(bndchk)" != ""
243 LINK
=nmlink
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
244 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
247 .IF
"$(truetime)" != ""
248 LINK
=nmlink
/NMttOn
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
249 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
252 .IF
"$(COMEX)" == "11"
253 LINKFLAGSAPPGUI
=/SUBSYSTEM
:WINDOWS
,4.0
254 LINKFLAGSSHLGUI
=/SUBSYSTEM
:WINDOWS
,4.0 /DLL
256 LINKFLAGSAPPGUI
=/SUBSYSTEM
:WINDOWS
257 LINKFLAGSSHLGUI
=/SUBSYSTEM
:WINDOWS
/DLL
258 .ENDIF
# "$(COMEX)" == "11"
259 LINKFLAGSAPPCUI
=/SUBSYSTEM
:CONSOLE
/BASE
:0x1b000000
260 LINKFLAGSSHLCUI
=/SUBSYSTEM
:CONSOLE
/DLL
261 LINKFLAGSTACK
=/STACK
:
262 LINKFLAGSPROF
=/DEBUG
:mapped
,partial
/DEBUGTYPE
:coff cap.lib
263 LINKFLAGSWST
=/DEBUG
:mapped
,partial
/DEBUGTYPE
:coff wst.lib
/NODEFAULTLIB
264 LINKFLAGSDEBUG
=-DEBUG
267 UWINAPILIB
*=uwinapi.lib
268 .IF
"$(DYNAMIC_CRT)"!=""
269 .IF
"$(USE_STLP_DEBUG)" != ""
271 .ELSE
# "$(USE_STLP_DEBUG)" != ""
273 .ENDIF
# "$(USE_STLP_DEBUG)" != ""
274 .ELSE
# "$(DYNAMIC_CRT)"!=""
275 .IF
"$(USE_STLP_DEBUG)" != ""
278 .ELSE
# "$(USE_STLP_DEBUG)" != ""
280 .ENDIF
# "$(USE_STLP_DEBUG)" != ""
281 .ENDIF
# "$(DYNAMIC_CRT)"!=""
283 STDOBJVCL
=$(L
)$/salmain.obj
289 STDLIBGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
290 STDLIBCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
291 STDSHLGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
292 STDSHLCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
294 .IF
"$(USE_STLP_DEBUG)" != ""
295 LIBSTLPORT
=stlport_vc71_stldebug.lib
296 LIBSTLPORTST
=stlport_vc71_stldebug_static.lib
298 LIBSTLPORT
=stlport_vc71.lib
299 LIBSTLPORTST
=stlport_vc71_static.lib
302 .IF
"$(PROF_EDITION)" == ""
303 ATL_INCLUDE
*=$(COMPATH
)$/PlatformSDK
$/include$/atl
304 ATL_LIB
*=$(COMPATH
)$/atlmfc
$/lib
305 MFC_INCLUDE
*=$(COMPATH
)$/PlatformSDK
$/include$/mfc
306 MFC_LIB
*=$(COMPATH
)$/atlmfc
$/lib
308 ATL_INCLUDE
*=$(COMPATH
)$/atlmfc
$/include
309 ATL_LIB
*=$(COMPATH
)$/atlmfc
$/lib
310 MFC_INCLUDE
*=$(COMPATH
)$/atlmfc
$/include
311 MFC_LIB
*=$(COMPATH
)$/atlmfc
$/lib
318 IMPLIBFLAGS
=-machine
:IX86
324 RCFLAGS
=-r
-DWIN32
-fo
$@
$(RCFILES
)
336 ADVAPI32LIB
=advapi32.lib
337 SHELL32LIB
=shell32.lib
340 OLEAUT32LIB
=oleaut32.lib
342 WINSPOOLLIB
=winspool.lib
344 VERSIONLIB
=version.lib
346 WSOCK32LIB
=wsock32.lib
349 KERNEL32LIB
=kernel32.lib
351 COMDLG32LIB
=comdlg32.lib
352 COMCTL32LIB
=comctl32.lib
353 CRYPT32LIB
=crypt32.lib
354 GDIPLUSLIB
=gdiplus.lib
355 DBGHELPLIB
=dbghelp.lib
358 SHLWAPILIB
=shlwapi.lib
360 UNICOWSLIB
=unicows.lib
361 WININETLIB
=wininet.lib
362 OLDNAMESLIB
=oldnames.lib
363 MSIMG32LIB
=msimg32.lib