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 CFLAGS_CREATE_PCH
=-I
$(INCPCH
) -Fo
$(SLO
)$/pchname.obj
-Ycprecompiled_
$(PRJNAME
).hxx
-DPRECOMPILED_HEADERS
119 CFLAGS_USE_PCH
=-I
$(INCPCH
) -Yuprecompiled_
$(PRJNAME
).hxx
-Fp
$(SLO
)$/pch
/precompiled_
$(PRJNAME
).hxx
$(PCHPOST
) -DPRECOMPILED_HEADERS
120 CFLAGS_USE_EXCEPTIONS_PCH
=-I
$(INCPCH
) -Yuprecompiled_
$(PRJNAME
).hxx
-Fp
$(SLO
)$/pch_ex
/precompiled_
$(PRJNAME
).hxx
$(PCHPOST
) -DPRECOMPILED_HEADERS
121 .IF
"$(CALL_CDECL)"=="TRUE"
123 .ELSE
# "$(CALL_CDECL)"=="TRUE"
125 .ENDIF
# "$(CALL_CDECL)"=="TRUE"
127 CFLAGSCC
=$(ARCH_FLAGS
)
128 .IF
"$(DYNAMIC_CRT)"!=""
129 CDEFSSLOMT
+=-DWIN32
-D_MT
-D_DLL
130 CDEFSSLOMT
+=-DWIN32
-D_MT
-D_DLL
131 .IF
"$(NO_DYNAMIC_OBJ)"==""
132 CDEFSOBJMT
+=-DWIN32
-D_MT
-D_DLL
133 CDEFSOBJMT
+=-DWIN32
-D_MT
-D_DLL
135 CDEFSOBJMT
+=-DWIN32
-D_MT
136 CDEFSOBJMT
+=-DWIN32
-D_MT
137 .ENDIF
# "$(NO_DYNAMIC_OBJ)"==""
139 CDEFSSLOMT
+=-DWIN32
-D_MT
140 CDEFSSLOMT
+=-DWIN32
-D_MT
141 CDEFSOBJMT
+=-DWIN32
-D_MT
142 CDEFSOBJMT
+=-DWIN32
-D_MT
143 .ENDIF
# "$(DYNAMIC_CRT)"!=""
145 CFLAGSPROF
=-Gh
-Fd
$(MISC
)$/$(@
:b
).pdb
146 CFLAGSDEBUG
=-Zi
-Fd
$(MISC
)$/$(@
:b
).pdb
148 .IF
"$(VC_STANDARD)"==""
151 .ELSE
# "$(VC_STANDARD)"==""
154 .ENDIF
# "$(VC_STANDARD)"==""
157 # For C and C++, certain warnings are disabled globally, as they result in
158 # spurious warnings and are hard or impossible to workaround:
159 # - "warning C4061: enumerate in switch of enum is not explicitly handled by a
161 # - "warning C4127: conditional expression is constant",
162 # - "warning C4191: unsafe conversion from function type to function type",
163 # - "warning C4217: member template functions cannot be used for copy-assignment
164 # or copy-construction",
165 # - "warning C4250: 'class1' : inherits 'class2::member' via dominance",
166 # - "warning C4355: 'this' used in base member initializer list",
167 # - "warning C4511: copy constructor could not be generated",
168 # - "warning C4512: assignment operator could not be generated",
169 # - "warning C4514: unreferenced inline function has been removed",
170 # - "warning C4611: interaction between '_setjmp' and C++ object destruction is
172 # - "warning C4625: copy constructor could not be generated because a base class
173 # copy constructor is inaccessible",
174 # - "warning C4626: assignment operator could not be generated because a base
175 # class assignment operator is inaccessible",
176 # - "warning C4675: resolved overload was found by argument-dependent lookup",
177 # - "warning C4710: function not inlined",
178 # - "warning C4711: function selected for automatic inline expansion",
179 # - "warning C4820: padding added after member".
180 # - "warning C4503: 'identifier' : decorated name length exceeded, name was truncated"
181 # (http://msdn2.microsoft.com/en-us/library/074af4b6.aspx)
182 # For C, certain warnings from system headers (stdlib.h etc.) have to be
183 # disabled globally (for C++, this is not necessary, as the system headers are
184 # wrapped by STLport):
185 # - "warning C4255: no function prototype given: converting
187 # - "warning C4365: conversion from ... to ... signed/unsigned mismatch"
189 CFLAGSWARNCXX
=-Wall
-wd4061
-wd4127
-wd4191
-wd4217
-wd4250
-wd4251
-wd4275 \
190 -wd4290
-wd4294
-wd4355
-wd4511
-wd4512
-wd4514
-wd4611
-wd4625
-wd4626 \
191 -wd4640
-wd4675
-wd4710
-wd4711
-wd4786
-wd4800
-wd4820
-wd4503
-wd4619 \
192 -wd4365
-wd4668
-wd4738
-wd4826
-wd4350
-wd4505
-wd4692
-wd4189
-wd4005
193 CFLAGSWARNCC
=$(CFLAGSWARNCXX
) -wd4255
194 CFLAGSWALLCC
=$(CFLAGSWARNCC
)
195 CFLAGSWALLCXX
=$(CFLAGSWARNCXX
)
198 # Once all modules on this platform compile without warnings, set
199 # COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
201 MODULES_WITH_WARNINGS
:= \
205 CDEFS
+=-DSTLPORT_VERSION
=400 -D_MT
206 .IF
"$(COMEX)" == "11"
207 CDEFS
+=-DWINVER
=0x0400 -D_WIN32_IE
=0x0400
208 _VC_MANIFEST_BASENAME
=__VC80
210 CDEFS
+=-DWINVER
=0x0500 -D_WIN32_IE
=0x0500
211 _VC_MANIFEST_BASENAME
=__VC90
214 LINK
=link
$(NOLOGO
) /MACHINE
:IX86
215 LINKOUTPUTFILTER
= $(PIPEERROR
) $(GREP
) -v
"LNK4197:"
216 .IF
"$(PRODUCT)"!="full"
218 LINKFLAGS
=/MAP
/OPT
:NOREF
221 .IF
"$(linkinc)" != ""
222 LINKFLAGS
=-NODEFAULTLIB
-INCREMENTAL
:YES
-DEBUG
225 .ELSE
# "$(linkinc)" != ""
227 .IF
"$(PRODUCT)"!="full"
228 LINKFLAGS
+= -NODEFAULTLIB
-DEBUG
229 .ELSE
# "$(PRODUCT)"!="full"
230 LINKFLAGS
+= -NODEFAULTLIB
-RELEASE
-DEBUG
-INCREMENTAL
:NO
231 .ENDIF
# "$(PRODUCT)"!="full"
233 .ENDIF
# "$(linkinc)" != ""
235 .IF
"$(bndchk)" != ""
236 LINK
=nmlink
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
237 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
240 .IF
"$(truetime)" != ""
241 LINK
=nmlink
/NMttOn
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
242 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
245 .IF
"$(COMEX)" == "11"
246 LINKFLAGSAPPGUI
=/SUBSYSTEM
:WINDOWS
,4.0
247 LINKFLAGSSHLGUI
=/SUBSYSTEM
:WINDOWS
,4.0 /DLL
249 LINKFLAGSAPPGUI
=/SUBSYSTEM
:WINDOWS
250 LINKFLAGSSHLGUI
=/SUBSYSTEM
:WINDOWS
/DLL
251 .ENDIF
# "$(COMEX)" == "11"
252 LINKFLAGSAPPCUI
=/SUBSYSTEM
:CONSOLE
/BASE
:0x1b000000
253 LINKFLAGSSHLCUI
=/SUBSYSTEM
:CONSOLE
/DLL
254 LINKFLAGSTACK
=/STACK
:
255 LINKFLAGSPROF
=/DEBUG
:mapped
,partial
/DEBUGTYPE
:coff cap.lib
256 LINKFLAGSWST
=/DEBUG
:mapped
,partial
/DEBUGTYPE
:coff wst.lib
/NODEFAULTLIB
257 LINKFLAGSDEBUG
=-DEBUG
260 UWINAPILIB
*=uwinapi.lib
261 .IF
"$(DYNAMIC_CRT)"!=""
262 .IF
"$(USE_STLP_DEBUG)" != ""
264 .ELSE
# "$(USE_STLP_DEBUG)" != ""
266 .ENDIF
# "$(USE_STLP_DEBUG)" != ""
267 .ELSE
# "$(DYNAMIC_CRT)"!=""
268 .IF
"$(USE_STLP_DEBUG)" != ""
271 .ELSE
# "$(USE_STLP_DEBUG)" != ""
273 .ENDIF
# "$(USE_STLP_DEBUG)" != ""
274 .ENDIF
# "$(DYNAMIC_CRT)"!=""
276 STDOBJVCL
=$(L
)$/salmain.obj
282 STDLIBGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
283 STDLIBCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
284 STDSHLGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
285 STDSHLCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib
287 .IF
"$(USE_STLP_DEBUG)" != ""
288 LIBSTLPORT
=stlport_vc71_stldebug.lib
289 LIBSTLPORTST
=stlport_vc71_stldebug_static.lib
291 LIBSTLPORT
=stlport_vc71.lib
292 LIBSTLPORTST
=stlport_vc71_static.lib
295 .IF
"$(PROF_EDITION)" == ""
296 ATL_INCLUDE
*=$(COMPATH
)$/PlatformSDK
$/include$/atl
297 ATL_LIB
*=$(COMPATH
)$/atlmfc
$/lib
298 MFC_INCLUDE
*=$(COMPATH
)$/PlatformSDK
$/include$/mfc
299 MFC_LIB
*=$(COMPATH
)$/atlmfc
$/lib
301 ATL_INCLUDE
*=$(COMPATH
)$/atlmfc
$/include
302 ATL_LIB
*=$(COMPATH
)$/atlmfc
$/lib
303 MFC_INCLUDE
*=$(COMPATH
)$/atlmfc
$/include
304 MFC_LIB
*=$(COMPATH
)$/atlmfc
$/lib
311 IMPLIBFLAGS
=-machine
:IX86
317 RCFLAGS
=-r
-DWIN32
-fo
$@
$(RCFILES
)
329 ADVAPI32LIB
=advapi32.lib
330 SHELL32LIB
=shell32.lib
333 OLEAUT32LIB
=oleaut32.lib
335 WINSPOOLLIB
=winspool.lib
337 VERSIONLIB
=version.lib
339 WSOCK32LIB
=wsock32.lib
342 KERNEL32LIB
=kernel32.lib
344 COMDLG32LIB
=comdlg32.lib
345 COMCTL32LIB
=comctl32.lib
346 CRYPT32LIB
=crypt32.lib
347 GDIPLUSLIB
=gdiplus.lib
348 DBGHELPLIB
=dbghelp.lib
351 SHLWAPILIB
=shlwapi.lib
353 UNICOWSLIB
=unicows.lib
354 WININETLIB
=wininet.lib
355 OLDNAMESLIB
=oldnames.lib
356 MSIMG32LIB
=msimg32.lib