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: wntmsci10.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) == WNTMSCI10
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 == 10
76 CFLAGS
+=-Zm500
-Zc
:forScope
-GR
77 CFLAGS
+=-c
-nologo
-Gs
$(NOLOGO
)
81 .IF
"$(product)" != ""
83 .ENDIF
# "$(product)" != ""
86 .IF
"$(VC_STANDARD)"==""
88 .ENDIF
# "$(VC_STANDARD)"==""
91 # flags to enable build with symbols; required for crashdump feature
92 #CFLAGSENABLESYMBOLS=-Zi -Fd$(MISC)/_ooo_st_$(TARGET).PDB
93 # full debug for RE builds only due to size concerns
95 CFLAGSENABLESYMBOLS
=-Z7
-Yd
96 .ELSE
# "$(UPDATER)"!=""
97 # -Zd got higher priority and overrides debug switches
99 CFLAGSENABLESYMBOLS
=-Zd
100 .ENDIF
# "$(debug)"==""
101 .ENDIF
# "$(UPDATER)"!=""
103 .IF
"$(bndchk)" != ""
109 .IF
"$(truetime)" != ""
115 .IF
"$(FULL_DESK)"!=""
121 CFLAGS_NO_EXCEPTIONS
=
123 CFLAGS_CREATE_PCH
=-I
$(INCPCH
) -Fo
$(SLO
)/pchname.obj
-Ycprecompiled_
$(PRJNAME
).hxx
-DPRECOMPILED_HEADERS
124 CFLAGS_USE_PCH
=-I
$(INCPCH
) -Yuprecompiled_
$(PRJNAME
).hxx
-Fp
$(SLO
)/pch
/precompiled_
$(PRJNAME
).hxx
$(PCHPOST
) -DPRECOMPILED_HEADERS
125 CFLAGS_USE_EXCEPTIONS_PCH
=-I
$(INCPCH
) -Yuprecompiled_
$(PRJNAME
).hxx
-Fp
$(SLO
)/pch_ex
/precompiled_
$(PRJNAME
).hxx
$(PCHPOST
) -DPRECOMPILED_HEADERS
126 .IF
"$(CALL_CDECL)"=="TRUE"
128 .ELSE
# "$(CALL_CDECL)"=="TRUE"
130 .ENDIF
# "$(CALL_CDECL)"=="TRUE"
132 CFLAGSCC
=$(ARCH_FLAGS
)
133 .IF
"$(DYNAMIC_CRT)"!=""
134 CDEFSSLOMT
+=-DWIN32
-D_MT
-D_DLL
135 CDEFSSLOMT
+=-DWIN32
-D_MT
-D_DLL
136 .IF
"$(NO_DYNAMIC_OBJ)"==""
137 CDEFSOBJMT
+=-DWIN32
-D_MT
-D_DLL
138 CDEFSOBJMT
+=-DWIN32
-D_MT
-D_DLL
140 CDEFSOBJMT
+=-DWIN32
-D_MT
141 CDEFSOBJMT
+=-DWIN32
-D_MT
144 CDEFSSLOMT
+=-DWIN32
-D_MT
145 CDEFSSLOMT
+=-DWIN32
-D_MT
146 CDEFSOBJMT
+=-DWIN32
-D_MT
147 CDEFSOBJMT
+=-DWIN32
-D_MT
149 CFLAGSPROF
=-Gh
-Fd
$(MISC
)/$(@
:b
).pdb
150 CFLAGSDEBUG
=-Zi
-Fd
$(MISC
)\_ooo_st_
$(TARGET
).PDB
152 .IF
"$(VC_STANDARD)"==""
155 .ELSE
# "$(VC_STANDARD)"==""
158 .ENDIF
# "$(VC_STANDARD)"==""
161 # For C and C++, certain warnings are disabled globally, as they result in
162 # spurious warnings and are hard or impossible to workaround:
163 # - "warning C4061: enumerate in switch of enum is not explicitly handled by a
165 # - "warning C4063: case 'identifier' is not a valid value for switch of enum
167 # - "warning C4127: conditional expression is constant",
168 # - "warning C4191: unsafe conversion from function type to function type",
169 # - "warning C4217: member template functions cannot be used for copy-assignment
170 # or copy-construction",
171 # - "warning C4250: 'class1' : inherits 'class2::member' via dominance",
172 # - "warning C4292: compiler limit : terminating debug information emission",
173 # - "warning C4344: behavior change: use of explicit template arguments results
174 # in call to 'function",
175 # - "warning C4347: behavior change: 'overload A' is called instead of
177 # - "warning C4355: 'this' used in base member initializer list",
178 # - "warning C4503: 'identifier': decorated name length exceeded, name was
179 # truncated" (http://msdn2.microsoft.com/en-us/library/074af4b6.aspx),
180 # - "warning C4511: copy constructor could not be generated",
181 # - "warning C4512: assignment operator could not be generated",
182 # - "warning C4514: unreferenced inline function has been removed",
183 # - "warning C4611: interaction between '_setjmp' and C++ object destruction is
185 # - "warning C4619: warning Cnnnn unknown",
186 # - "warning C4625: copy constructor could not be generated because a base class
187 # copy constructor is inaccessible",
188 # - "warning C4626: assignment operator could not be generated because a base
189 # class assignment operator is inaccessible",
190 # - "warning C4675: resolved overload was found by argument-dependent lookup",
191 # - "warning C4686: possible change in behavior, change in UDT return calling
193 # - "warning C4710: function not inlined",
194 # - "warning C4711: function selected for automatic inline expansion",
195 # - "warning C4820: padding added after member".
196 # For C, certain warnings from system headers (stdlib.h etc.) have to be
197 # disabled globally (for C++, this is not necessary, as the system headers are
198 # wrapped by STLport):
199 # - "warning C4255: no function prototype given: converting '()' to '(void)'".
200 CFLAGSWARNCXX
=-Wall
-wd4061
-wd4063
-wd4127
-wd4191
-wd4217
-wd4250
-wd4251 \
201 -wd4275
-wd4290
-wd4292
-wd4294
-wd4344
-wd4347
-wd4355
-wd4503
-wd4511 \
202 -wd4512
-wd4514
-wd4611
-wd4619
-wd4625
-wd4626
-wd4640
-wd4675
-wd4686 \
203 -wd4710
-wd4711
-wd4786
-wd4800
-wd4820
204 CFLAGSWARNCC
=$(CFLAGSWARNCXX
) -wd4255
205 CFLAGSWALLCC
=$(CFLAGSWARNCC
)
206 CFLAGSWALLCXX
=$(CFLAGSWARNCXX
)
209 # Once all modules on this platform compile without warnings, set
210 # COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
212 MODULES_WITH_WARNINGS
:= \
216 CDEFS
+=-DSTLPORT_VERSION
=$(STLPORT_VER
) -DWINVER
=0x400 -D_WIN32_IE
=0x400
219 COMMENTFLAG
=/COMMENT
:"$(PRJNAME)_$(UPD)_$(VCSID)_"
221 LINK
=link
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
222 LINKOUTPUTFILTER
= $(PIPEERROR
) $(GREP
) -v
"LNK4197:"
223 .IF
"$(PRODUCT)"!="full"
225 LINKFLAGS
=/MAP
/OPT
:NOREF
228 .IF
"$(linkinc)" != ""
229 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
:full
-DEBUGTYPE
:cv
-INCREMENTAL
:YES
231 .ELSE
# "$(linkinc)" != ""
232 .IF
"$(PRODUCT)"!="full"
233 LINKFLAGS
+= -NODEFAULTLIB
-DEBUG
:full
-DEBUGTYPE
:cv
234 .ELSE
# "$(PRODUCT)"!="full"
235 LINKFLAGS
+= -NODEFAULTLIB
-RELEASE
-DEBUG
:full
236 .ENDIF
# "$(PRODUCT)"!="full"
238 .ENDIF
# "$(linkinc)" != ""
240 .IF
"$(bndchk)" != ""
241 LINK
=nmlink
$(COMMENTFLAG
) $(NOLOGO
) -MACHINE
:IX86
242 LINKFLAGS
=-NODEFAULTLIB
-DEBUG
:full
-DEBUGTYPE
:cv
245 .IF
"$(truetime)" != ""
246 LINK
=nmlink
/NMttOn
$(COMMENTFLAG
) $(NOLOGO
) /MACHINE
:IX86
247 LINKFLAGS
=/NODEFAULTLIB
/DEBUG
:full
/DEBUGTYPE
:cv
250 LINKFLAGSAPPGUI
=/SUBSYSTEM
:WINDOWS
,4.0
251 LINKFLAGSSHLGUI
=/SUBSYSTEM
:WINDOWS
,4.0 /DLL
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
:full
-DEBUGTYPE
:cv
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)" != ""
270 .ELSE
# "$(USE_STLP_DEBUG)" != ""
272 .ENDIF
# "$(USE_STLP_DEBUG)" != ""
273 .ENDIF
# "$(DYNAMIC_CRT)"!=""
275 STDOBJVCL
=$(L
)/salmain.obj
281 STDLIBGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib psapi.lib
282 STDLIBCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib psapi.lib
283 STDSHLGUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib psapi.lib
284 STDSHLCUIMT
=$(LIBCMT
) $(UWINAPILIB
) kernel32.lib user32.lib oldnames.lib psapi.lib
286 .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 ATL_INCLUDE
*=$(COMPATH
)/atlmfc
/include
296 ATL_LIB
*=$(COMPATH
)/atlmfc
/lib
302 IMPLIBFLAGS
=-machine
:IX86
308 RCFLAGS
=-r
-DWIN32
-fo
$@
$(RCFILES
)
320 ADVAPI32LIB
=advapi32.lib
321 SHELL32LIB
=shell32.lib
324 OLEAUT32LIB
=oleaut32.lib
326 WINSPOOLLIB
=winspool.lib
328 VERSIONLIB
=version.lib
330 WSOCK32LIB
=wsock32.lib
333 KERNEL32LIB
=kernel32.lib
335 COMDLG32LIB
=comdlg32.lib
336 COMCTL32LIB
=comctl32.lib
337 CRYPT32LIB
=crypt32.lib
338 GDIPLUSLIB
=gdiplus.lib
339 DBGHELPLIB
=dbghelp.lib
342 SHLWAPILIB
=shlwapi.lib
344 UNICOWSLIB
=unicows.lib
345 WININETLIB
=wininet.lib
346 OLDNAMESLIB
=oldnames.lib
347 MSIMG32LIB
=msimg32.lib