xref: /trunk/main/solenv/inc/set_wntx64.mk (revision cdf0e10c)
1*cdf0e10cSrcweir#*************************************************************************
2*cdf0e10cSrcweir#
3*cdf0e10cSrcweir# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir#
5*cdf0e10cSrcweir# Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir#
7*cdf0e10cSrcweir# OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir#
9*cdf0e10cSrcweir# This file is part of OpenOffice.org.
10*cdf0e10cSrcweir#
11*cdf0e10cSrcweir# OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir# it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir# only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir#
15*cdf0e10cSrcweir# OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir# but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir# GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir# (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir#
21*cdf0e10cSrcweir# You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir# version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir# <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir# for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir#
26*cdf0e10cSrcweir#*************************************************************************
27*cdf0e10cSrcweir###############################################
28*cdf0e10cSrcweir#        Windows 64 bit special
29*cdf0e10cSrcweir#	only used for 64 bit shell extension
30*cdf0e10cSrcweir#          ( Windows Vista )
31*cdf0e10cSrcweir# ---------------------------------------------
32*cdf0e10cSrcweir# THIS FILE WILL BE DELETED when a fully ported
33*cdf0e10cSrcweir# Windows 64 bit version is available
34*cdf0e10cSrcweir###############################################
35*cdf0e10cSrcweir
36*cdf0e10cSrcweir.IF "$(BUILD_X64)"!=""
37*cdf0e10cSrcweir# ----------------- settings for x64 --------------------
38*cdf0e10cSrcweirCC_X64*:=$(WRAPCMD) $(CXX_X64_BINARY)
39*cdf0e10cSrcweirCXX_X64*:=$(WRAPCMD) $(CXX_X64_BINARY)
40*cdf0e10cSrcweirLINK_X64*:=$(WRAPCMD) $(LINK_X64_BINARY) $(NOLOGO) -MACHINE:X64
41*cdf0e10cSrcweirLIBMGR_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY) $(NOLOGO)
42*cdf0e10cSrcweirIMPLIB_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY)
43*cdf0e10cSrcweir
44*cdf0e10cSrcweirUSE_CFLAGS_X64=-c -nologo -Gs $(NOLOGO) -Zm500 -Zc:forScope,wchar_t- -GR
45*cdf0e10cSrcweir
46*cdf0e10cSrcweir# Stack buffer overrun detection.
47*cdf0e10cSrcweirCFLAGS+=-GS
48*cdf0e10cSrcweir
49*cdf0e10cSrcweirUSE_CDEFS_X64+= -DWIN32 -D_AMD64_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS
50*cdf0e10cSrcweir.IF "$(debug)"!=""
51*cdf0e10cSrcweirUSE_CFLAGS_X64+=-Zi -Fd$(MISC_X64)/$(@:b).pdb
52*cdf0e10cSrcweirUSE_CDEFS_X64+=-DDEBUG
53*cdf0e10cSrcweir.ENDIF # "$(debug)"!=""
54*cdf0e10cSrcweirUSE_CFLAGS_X64+=$(CFLAGS_X64)
55*cdf0e10cSrcweirUSE_CDEFS_X64+=$(CDEFS_X64)
56*cdf0e10cSrcweirINCLUDE_X64=$(subst,/stl$(SPACECHAR),dont_use_stl$(SPACECHAR) $(INCLUDE))
57*cdf0e10cSrcweir
58*cdf0e10cSrcweir.IF "$(product)" != ""
59*cdf0e10cSrcweirUSE_CFLAGS_X64+=-Gy
60*cdf0e10cSrcweir.ENDIF # "$(product)" != ""
61*cdf0e10cSrcweir
62*cdf0e10cSrcweir# inline expansion
63*cdf0e10cSrcweirUSE_CFLAGS_X64+=-Ob1
64*cdf0e10cSrcweir
65*cdf0e10cSrcweir.IF "$(DYNAMIC_CRT)"!=""
66*cdf0e10cSrcweirCDEFSSLOMT_X64+=-D_MT -D_DLL
67*cdf0e10cSrcweirCDEFSSLOMT_X64+=-D_MT -D_DLL
68*cdf0e10cSrcweir.IF "$(NO_DYNAMIC_OBJ)"==""
69*cdf0e10cSrcweirCDEFSOBJMT_X64+=-D_MT -D_DLL
70*cdf0e10cSrcweirCDEFSOBJMT_X64+=-D_MT -D_DLL
71*cdf0e10cSrcweir.ELSE
72*cdf0e10cSrcweirCDEFSOBJMT_X64+=-D_MT
73*cdf0e10cSrcweirCDEFSOBJMT_X64+=-D_MT
74*cdf0e10cSrcweir.ENDIF # "$(NO_DYNAMIC_OBJ)"==""
75*cdf0e10cSrcweir.ELSE
76*cdf0e10cSrcweirCDEFSSLOMT_X64+=-D_MT
77*cdf0e10cSrcweirCDEFSOBJMT_X64+=-D_MT
78*cdf0e10cSrcweir.ENDIF # "$(DYNAMIC_CRT)"!=""
79*cdf0e10cSrcweir
80*cdf0e10cSrcweir.IF "$(PRODUCT)"!="full"
81*cdf0e10cSrcweir.ELSE
82*cdf0e10cSrcweirLINKFLAGS_X64=/MAP /OPT:NOREF
83*cdf0e10cSrcweir.ENDIF
84*cdf0e10cSrcweir
85*cdf0e10cSrcweir# excetion handling protection
86*cdf0e10cSrcweirLINKFLAGS+=-safeseh
87*cdf0e10cSrcweir
88*cdf0e10cSrcweir# enable DEP
89*cdf0e10cSrcweirLINKFLAGS+=-nxcompat
90*cdf0e10cSrcweir
91*cdf0e10cSrcweir# enable ASLR
92*cdf0e10cSrcweirLINKFLAGS+=-dynamicbase
93*cdf0e10cSrcweir
94*cdf0e10cSrcweir.IF "$(PRODUCT)"!="full"
95*cdf0e10cSrcweirLINKFLAGS_X64+= -NODEFAULTLIB -DEBUG
96*cdf0e10cSrcweir.ELSE # "$(PRODUCT)"!="full"
97*cdf0e10cSrcweirLINKFLAGS_X64+= -NODEFAULTLIB -RELEASE -DEBUG -INCREMENTAL:NO
98*cdf0e10cSrcweir.ENDIF # "$(PRODUCT)"!="full"
99*cdf0e10cSrcweirMAPFILE=-out:$$@
100*cdf0e10cSrcweir
101*cdf0e10cSrcweir.IF "$(debug)" != ""
102*cdf0e10cSrcweirLINKFLAGS_X64+= $(LINKFLAGSDEBUG)
103*cdf0e10cSrcweir.ENDIF
104*cdf0e10cSrcweir
105*cdf0e10cSrcweirLINKFLAGSSHLCUI_X64=/SUBSYSTEM:CONSOLE /DLL
106*cdf0e10cSrcweirLINKFLAGSSHL_X64=$(LINKFLAGSSHLCUI_X64)
107*cdf0e10cSrcweirCDEFSSLO_X64+=$(CDEFSMT_X64) $(CDEFSOBJMT_X64)
108*cdf0e10cSrcweirCFLAGSSLO_X64+=-MT
109*cdf0e10cSrcweir
110*cdf0e10cSrcweirSTDOBJGUI_X64=
111*cdf0e10cSrcweirSTDSLOGUI_X64=
112*cdf0e10cSrcweirSTDOBJCUI_X64=
113*cdf0e10cSrcweirSTDSLOCUI_X64=
114*cdf0e10cSrcweir
115*cdf0e10cSrcweirIMPLIBFLAGS_X64=-machine:X64
116*cdf0e10cSrcweir
117*cdf0e10cSrcweirLIBPATH_X64=$(PSDK)/lib/x64
118*cdf0e10cSrcweirLIBPATH_VC_X64=$(COMPATH)/lib/amd64
119*cdf0e10cSrcweir
120*cdf0e10cSrcweirADVAPI32LIB_X64=$(LIBPATH_X64)/advapi32.lib
121*cdf0e10cSrcweirSHELL32LIB_X64=$(LIBPATH_X64)/shell32.lib
122*cdf0e10cSrcweirGDI32LIB_X64=$(LIBPATH_X64)/gdi32.lib
123*cdf0e10cSrcweirOLE32LIB_X64=$(LIBPATH_X64)/ole32.lib
124*cdf0e10cSrcweirOLEAUT32LIB_X64=$(LIBPATH_X64)/oleaut32.lib
125*cdf0e10cSrcweirUUIDLIB_X64=$(LIBPATH_X64)/uuid.lib
126*cdf0e10cSrcweirWINSPOOLLIB_X64=$(LIBPATH_X64)/winspool.lib
127*cdf0e10cSrcweirIMM32LIB_X64=$(LIBPATH_X64)/imm32.lib
128*cdf0e10cSrcweirVERSIONLIB_X64=$(LIBPATH_X64)/version.lib
129*cdf0e10cSrcweirWINMMLIB_X64=$(LIBPATH_X64)/winmm.lib
130*cdf0e10cSrcweirWSOCK32LIB_X64=$(LIBPATH_X64)/wsock32.lib
131*cdf0e10cSrcweirMPRLIB_X64=$(LIBPATH_X64)/mpr.lib
132*cdf0e10cSrcweirWS2_32LIB_X64=$(LIBPATH_X64)/ws2_32.lib
133*cdf0e10cSrcweirKERNEL32LIB_X64=$(LIBPATH_X64)/kernel32.lib
134*cdf0e10cSrcweirUSER32LIB_X64=$(LIBPATH_X64)/user32.lib
135*cdf0e10cSrcweirCOMDLG32LIB_X64=$(LIBPATH_X64)/comdlg32.lib
136*cdf0e10cSrcweirCOMCTL32LIB_X64=$(LIBPATH_X64)/comctl32.lib
137*cdf0e10cSrcweirCRYPT32LIB_X64=$(LIBPATH_X64)/crypt32.lib
138*cdf0e10cSrcweirGDIPLUSLIB_X64=$(LIBPATH_X64)/gdiplus.lib
139*cdf0e10cSrcweirDBGHELPLIB_X64=$(LIBPATH_X64)/dbghelp.lib
140*cdf0e10cSrcweirPROPSYSLIB_X64=$(LIBPATH_X64)/propsys.lib
141*cdf0e10cSrcweirMSILIB_X64=$(LIBPATH_X64)/msi.lib
142*cdf0e10cSrcweirDDRAWLIB_X64=$(LIBPATH_X64)/ddraw.lib
143*cdf0e10cSrcweirSHLWAPILIB_X64=$(LIBPATH_X64)/shlwapi.lib
144*cdf0e10cSrcweirURLMONLIB_X64=$(LIBPATH_X64)/urlmon.lib
145*cdf0e10cSrcweirUNICOWSLIB_X64=$(LIBPATH_X64)/unicows.lib
146*cdf0e10cSrcweirWININETLIB_X64=$(LIBPATH_X64)/wininet.lib
147*cdf0e10cSrcweirOLDNAMESLIB_X64=$(LIBPATH_VC_X64)/oldnames.lib
148*cdf0e10cSrcweirMSIMG32LIB_X64=$(LIBPATH_X64)/msimg32.lib
149*cdf0e10cSrcweirMSVCPRT_X64=$(LIBPATH_VC_X64)/msvcprt.lib
150*cdf0e10cSrcweirMSVCRT_X64=$(LIBPATH_VC_X64)/msvcrt.lib
151*cdf0e10cSrcweir
152*cdf0e10cSrcweirMISC_X64=$(MISC)/x64
153*cdf0e10cSrcweirOBJ_X64=$(OBJ)/x64
154*cdf0e10cSrcweirSLO_X64=$(SLO)/x64
155*cdf0e10cSrcweirLB_X64=$(LB)/x64
156*cdf0e10cSrcweirSLB_X64=$(SLB)/x64
157*cdf0e10cSrcweirL_X64=$(SOLARLIBDIR_X64)
158*cdf0e10cSrcweirVERSIONOBJ_X64=$(SLO_X64)/_version.obj
159*cdf0e10cSrcweirBIN_X64=$(BIN)/x64
160*cdf0e10cSrcweirRES_X64=$(RES)/x64
161*cdf0e10cSrcweirSOLARLIBDIR_X64=$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT)/x64
162*cdf0e10cSrcweirLIB_X64:=$(LB_X64);$(SLB_X64);$(ILIB_X64)
163*cdf0e10cSrcweir
164*cdf0e10cSrcweir.IF "$(LIBTARGET)"==""
165*cdf0e10cSrcweir.IF "$(OBJFILES_X64)$(IDLOBJFILES_X64)"!=""
166*cdf0e10cSrcweirOBJTARGET_X64=$(LB_X64)/$(TARGET).lib
167*cdf0e10cSrcweir.ENDIF # "$(OBJFILES_X64)$(IDLOBJFILES_X64)"!=""
168*cdf0e10cSrcweir.IF "$(SLOFILES_X64)$(IDLSLOFILES_x64)"!=""
169*cdf0e10cSrcweirSLOTARGET_X64=$(SLB_X64)/$(TARGET).lib
170*cdf0e10cSrcweir.ENDIF # "$(SLOFILES_X64)$(IDLSLOFILES_x64)"!=""
171*cdf0e10cSrcweir.ENDIF # "$(LIBTARGET)"==""
172*cdf0e10cSrcweir
173*cdf0e10cSrcweir.IF "$(OBJFILES_X64)"!=""
174*cdf0e10cSrcweir.IF "$(LIBTARGET)" != ""
175*cdf0e10cSrcweirNOLIBOBJTARGET_X64=$(OBJFILES_X64)
176*cdf0e10cSrcweir.ENDIF
177*cdf0e10cSrcweir.ENDIF
178*cdf0e10cSrcweir
179*cdf0e10cSrcweir.IF "$(SLOFILES_X64)"!=""
180*cdf0e10cSrcweir.IF "$(LIBTARGET)" != ""
181*cdf0e10cSrcweirNOLIBSLOTARGET_X64=$(SLOFILES_X64)
182*cdf0e10cSrcweir.ENDIF
183*cdf0e10cSrcweir.ENDIF
184*cdf0e10cSrcweir
185*cdf0e10cSrcweir.IF "$(SHL1TARGET_X64)"!=""
186*cdf0e10cSrcweirSHL1TARGETN_X64=$(BIN_X64)/$(DLLPRE)$(SHL1TARGET_X64)$(DLLPOST)
187*cdf0e10cSrcweir.ENDIF
188*cdf0e10cSrcweir.IF "$(SHL2TARGET_X64)"!=""
189*cdf0e10cSrcweirSHL2TARGETN_X64=$(BIN_X64)/$(DLLPRE)$(SHL2TARGET_X64)$(DLLPOST)
190*cdf0e10cSrcweir.ENDIF
191*cdf0e10cSrcweir.IF "$(LIB1TARGET_X64)" != ""
192*cdf0e10cSrcweirLIB1TARGETN_X64=$(LIB1TARGET_X64)
193*cdf0e10cSrcweir.ENDIF
194*cdf0e10cSrcweir.IF "$(LIB2TARGET_X64)" != ""
195*cdf0e10cSrcweirLIB2TARGETN_X64=$(LIB2TARGET_X64)
196*cdf0e10cSrcweir.ENDIF
197*cdf0e10cSrcweir.IF "$(DEF1NAME_X64)"!=""
198*cdf0e10cSrcweirDEF1TARGETN_X64=$(MISC_X64)/$(DEF1NAME_X64).def
199*cdf0e10cSrcweir.ENDIF
200*cdf0e10cSrcweir.IF "$(DEF2NAME_X64)"!=""
201*cdf0e10cSrcweirDEF2TARGETN_X64=$(MISC_X64)/$(DEF2NAME_X64).def
202*cdf0e10cSrcweir.ENDIF
203*cdf0e10cSrcweir
204*cdf0e10cSrcweir$(SLO_X64)/%.obj : $(MISC_X64)/%.c
205*cdf0e10cSrcweir    @echo ------------------------------
206*cdf0e10cSrcweir    @echo Making: $@
207*cdf0e10cSrcweir    -$(MKDIR) $(@:d)
208*cdf0e10cSrcweir	@-$(MKDIR) $(MISC_X64)
209*cdf0e10cSrcweir    @@-$(RM) $@
210*cdf0e10cSrcweir    @$(TYPE) $(mktmp $(CC_X64) $(USE_CFLAGS_X64) $(INCLUDE_C) $(CFLAGSCC_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CFLAGSAPPEND_X64) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(MISC_X64)/$*.c )
211*cdf0e10cSrcweir    @$(ECHONL)
212*cdf0e10cSrcweir    $(CC_X64) @$(mktmp $(USE_CFLAGS_X64) $(INCLUDE_C) $(CFLAGSCC_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CFLAGSAPPEND_X64) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(MISC_X64)/$*.c )
213*cdf0e10cSrcweir
214*cdf0e10cSrcweir.ENDIF # "$(BUILD_X64)"!=""
215*cdf0e10cSrcweir
216