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
:= \
211 CDEFS
+=-DSTLPORT_VERSION
=400 -D_MT
212 .IF
"$(COMEX)" == "11"
213 CDEFS
+=-DWINVER
=0x0400 -D_WIN32_IE
=0x0400
214 _VC_MANIFEST_BASENAME
=__VC80
216 CDEFS
+=-DWINVER
=0x0500 -D_WIN32_IE
=0x0500
217 _VC_MANIFEST_BASENAME
=__VC90
220 LINK
=link
$(NOLOGO
) /MACHINE
:IX86
221 LINKOUTPUTFILTER
= $(PIPEERROR
) $(GREP
) -v
"LNK4197:"
222 .IF
"$(PRODUCT)"!="full"
224 LINKFLAGS
=/MAP
/OPT
:NOREF
227 .IF
"$(linkinc)" != ""
228 LINKFLAGS
=-NODEFAULTLIB
-INCREMENTAL
:YES
-DEBUG
231 .ELSE
# "$(linkinc)" != ""
233 .IF
"$(PRODUCT)"!="full"
234 LINKFLAGS
+= -NODEFAULTLIB
-DEBUG
235 .ELSE
# "$(PRODUCT)"!="full"
236 LINKFLAGS
+= -NODEFAULTLIB
-RELEASE
-DEBUG
-INCREMENTAL
:NO
237 .ENDIF
# "$(PRODUCT)"!="full"
239 .ENDIF
# "$(linkinc)" != ""
241 .IF
"$(bndchk)" != ""
242 LINK
=nmlink
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
243 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
246 .IF
"$(truetime)" != ""
247 LINK
=nmlink
/NMttOn
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
248 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
251 .IF
"$(COMEX)" == "11"
252 LINKFLAGSAPPGUI
=/SUBSYSTEM
:WINDOWS
,4.0
253 LINKFLAGSSHLGUI
=/SUBSYSTEM
:WINDOWS
,4.0 /DLL
255 LINKFLAGSAPPGUI
=/SUBSYSTEM
:WINDOWS
256 LINKFLAGSSHLGUI
=/SUBSYSTEM
:WINDOWS
/DLL
257 .ENDIF
# "$(COMEX)" == "11"
258 LINKFLAGSAPPCUI
=/SUBSYSTEM
:CONSOLE
/BASE
:0x1b000000
259 LINKFLAGSSHLCUI
=/SUBSYSTEM
:CONSOLE
/DLL
260 LINKFLAGSTACK
=/STACK
:
261 LINKFLAGSPROF
=/DEBUG
:mapped
,partial
/DEBUGTYPE
:coff cap.lib
262 LINKFLAGSWST
=/DEBUG
:mapped
,partial
/DEBUGTYPE
:coff wst.lib
/NODEFAULTLIB
263 LINKFLAGSDEBUG
=-DEBUG
266 UWINAPILIB
*=uwinapi.lib
267 .IF
"$(DYNAMIC_CRT)"!=""
268 .IF
"$(USE_STLP_DEBUG)" != ""
270 .ELSE
# "$(USE_STLP_DEBUG)" != ""
272 .ENDIF
# "$(USE_STLP_DEBUG)" != ""
273 .ELSE
# "$(DYNAMIC_CRT)"!=""
274 .IF
"$(USE_STLP_DEBUG)" != ""
277 .ELSE
# "$(USE_STLP_DEBUG)" != ""
279 .ENDIF
# "$(USE_STLP_DEBUG)" != ""
280 .ENDIF
# "$(DYNAMIC_CRT)"!=""
282 STDOBJVCL
=$(L
)/salmain.obj
288 STDLIBGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
289 STDLIBCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
290 STDSHLGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
291 STDSHLCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
293 .IF
"$(USE_STLP_DEBUG)" != ""
294 LIBSTLPORT
=stlport_vc71_stldebug.lib
295 LIBSTLPORTST
=stlport_vc71_stldebug_static.lib
297 LIBSTLPORT
=stlport_vc71.lib
298 LIBSTLPORTST
=stlport_vc71_static.lib
301 .IF
"$(PROF_EDITION)" == ""
302 ATL_INCLUDE
*=$(COMPATH
)/PlatformSDK
/include/atl
303 ATL_LIB
*=$(COMPATH
)/atlmfc
/lib
304 MFC_INCLUDE
*=$(COMPATH
)/PlatformSDK
/include/mfc
305 MFC_LIB
*=$(COMPATH
)/atlmfc
/lib
307 ATL_INCLUDE
*=$(COMPATH
)/atlmfc
/include
308 ATL_LIB
*=$(COMPATH
)/atlmfc
/lib
309 MFC_INCLUDE
*=$(COMPATH
)/atlmfc
/include
310 MFC_LIB
*=$(COMPATH
)/atlmfc
/lib
317 IMPLIBFLAGS
=-machine
:IX86
323 RCFLAGS
=-r
-DWIN32
-fo
$@
$(RCFILES
)
335 ADVAPI32LIB
=advapi32.lib
336 SHELL32LIB
=shell32.lib
339 OLEAUT32LIB
=oleaut32.lib
341 WINSPOOLLIB
=winspool.lib
343 VERSIONLIB
=version.lib
345 WSOCK32LIB
=wsock32.lib
348 KERNEL32LIB
=kernel32.lib
350 COMDLG32LIB
=comdlg32.lib
351 COMCTL32LIB
=comctl32.lib
352 CRYPT32LIB
=crypt32.lib
353 GDIPLUSLIB
=gdiplus.lib
354 DBGHELPLIB
=dbghelp.lib
357 SHLWAPILIB
=shlwapi.lib
359 UNICOWSLIB
=unicows.lib
360 WININETLIB
=wininet.lib
361 OLDNAMESLIB
=oldnames.lib
362 MSIMG32LIB
=msimg32.lib