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