1#************************************************************************* 2# 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# Copyright 2000, 2010 Oracle and/or its affiliates. 6# 7# OpenOffice.org - a multi-platform office productivity suite 8# 9# This file is part of OpenOffice.org. 10# 11# OpenOffice.org is free software: you can redistribute it and/or modify 12# it under the terms of the GNU Lesser General Public License version 3 13# only, as published by the Free Software Foundation. 14# 15# OpenOffice.org is distributed in the hope that it will be useful, 16# but WITHOUT ANY WARRANTY; without even the implied warranty of 17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18# GNU Lesser General Public License version 3 for more details 19# (a copy is included in the LICENSE file that accompanied this code). 20# 21# You should have received a copy of the GNU Lesser General Public License 22# version 3 along with OpenOffice.org. If not, see 23# <http://www.openoffice.org/license.html> 24# for a copy of the LGPLv3 License. 25# 26#************************************************************************* 27############################################### 28# Windows 64 bit special 29# only used for 64 bit shell extension 30# ( Windows Vista ) 31# --------------------------------------------- 32# THIS FILE WILL BE DELETED when a fully ported 33# Windows 64 bit version is available 34############################################### 35 36.IF "$(BUILD_X64)"!="" 37# ----------------- settings for x64 -------------------- 38CC_X64*:=$(WRAPCMD) $(CXX_X64_BINARY) 39CXX_X64*:=$(WRAPCMD) $(CXX_X64_BINARY) 40LINK_X64*:=$(WRAPCMD) $(LINK_X64_BINARY) $(NOLOGO) -MACHINE:X64 41LIBMGR_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY) $(NOLOGO) 42IMPLIB_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY) 43 44USE_CFLAGS_X64=-c -nologo -Gs $(NOLOGO) -Zm500 -Zc:forScope,wchar_t- -GR 45 46# Stack buffer overrun detection. 47CFLAGS+=-GS 48 49USE_CDEFS_X64+= -DWIN32 -D_AMD64_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS 50.IF "$(debug)"!="" 51USE_CFLAGS_X64+=-Zi -Fd$(MISC_X64)/$(@:b).pdb 52USE_CDEFS_X64+=-DDEBUG 53.ENDIF # "$(debug)"!="" 54USE_CFLAGS_X64+=$(CFLAGS_X64) 55USE_CDEFS_X64+=$(CDEFS_X64) 56INCLUDE_X64=$(subst,/stl$(SPACECHAR),dont_use_stl$(SPACECHAR) $(INCLUDE)) 57 58.IF "$(product)" != "" 59USE_CFLAGS_X64+=-Gy 60.ENDIF # "$(product)" != "" 61 62# inline expansion 63USE_CFLAGS_X64+=-Ob1 64 65.IF "$(DYNAMIC_CRT)"!="" 66CDEFSSLOMT_X64+=-D_MT -D_DLL 67CDEFSSLOMT_X64+=-D_MT -D_DLL 68.IF "$(NO_DYNAMIC_OBJ)"=="" 69CDEFSOBJMT_X64+=-D_MT -D_DLL 70CDEFSOBJMT_X64+=-D_MT -D_DLL 71.ELSE 72CDEFSOBJMT_X64+=-D_MT 73CDEFSOBJMT_X64+=-D_MT 74.ENDIF # "$(NO_DYNAMIC_OBJ)"=="" 75.ELSE 76CDEFSSLOMT_X64+=-D_MT 77CDEFSOBJMT_X64+=-D_MT 78.ENDIF # "$(DYNAMIC_CRT)"!="" 79 80.IF "$(PRODUCT)"!="full" 81.ELSE 82LINKFLAGS_X64=/MAP /OPT:NOREF 83.ENDIF 84 85# excetion handling protection 86LINKFLAGS+=-safeseh 87 88# enable DEP 89LINKFLAGS+=-nxcompat 90 91# enable ASLR 92LINKFLAGS+=-dynamicbase 93 94.IF "$(PRODUCT)"!="full" 95LINKFLAGS_X64+= -NODEFAULTLIB -DEBUG 96.ELSE # "$(PRODUCT)"!="full" 97LINKFLAGS_X64+= -NODEFAULTLIB -RELEASE -DEBUG -INCREMENTAL:NO 98.ENDIF # "$(PRODUCT)"!="full" 99MAPFILE=-out:$$@ 100 101.IF "$(debug)" != "" 102LINKFLAGS_X64+= $(LINKFLAGSDEBUG) 103.ENDIF 104 105LINKFLAGSSHLCUI_X64=/SUBSYSTEM:CONSOLE /DLL 106LINKFLAGSSHL_X64=$(LINKFLAGSSHLCUI_X64) 107CDEFSSLO_X64+=$(CDEFSMT_X64) $(CDEFSOBJMT_X64) 108CFLAGSSLO_X64+=-MT 109 110STDOBJGUI_X64= 111STDSLOGUI_X64= 112STDOBJCUI_X64= 113STDSLOCUI_X64= 114 115IMPLIBFLAGS_X64=-machine:X64 116 117LIBPATH_X64=$(PSDK)/lib/x64 118LIBPATH_VC_X64=$(COMPATH)/lib/amd64 119 120ADVAPI32LIB_X64=$(LIBPATH_X64)/advapi32.lib 121SHELL32LIB_X64=$(LIBPATH_X64)/shell32.lib 122GDI32LIB_X64=$(LIBPATH_X64)/gdi32.lib 123OLE32LIB_X64=$(LIBPATH_X64)/ole32.lib 124OLEAUT32LIB_X64=$(LIBPATH_X64)/oleaut32.lib 125UUIDLIB_X64=$(LIBPATH_X64)/uuid.lib 126WINSPOOLLIB_X64=$(LIBPATH_X64)/winspool.lib 127IMM32LIB_X64=$(LIBPATH_X64)/imm32.lib 128VERSIONLIB_X64=$(LIBPATH_X64)/version.lib 129WINMMLIB_X64=$(LIBPATH_X64)/winmm.lib 130WSOCK32LIB_X64=$(LIBPATH_X64)/wsock32.lib 131MPRLIB_X64=$(LIBPATH_X64)/mpr.lib 132WS2_32LIB_X64=$(LIBPATH_X64)/ws2_32.lib 133KERNEL32LIB_X64=$(LIBPATH_X64)/kernel32.lib 134USER32LIB_X64=$(LIBPATH_X64)/user32.lib 135COMDLG32LIB_X64=$(LIBPATH_X64)/comdlg32.lib 136COMCTL32LIB_X64=$(LIBPATH_X64)/comctl32.lib 137CRYPT32LIB_X64=$(LIBPATH_X64)/crypt32.lib 138GDIPLUSLIB_X64=$(LIBPATH_X64)/gdiplus.lib 139DBGHELPLIB_X64=$(LIBPATH_X64)/dbghelp.lib 140PROPSYSLIB_X64=$(LIBPATH_X64)/propsys.lib 141MSILIB_X64=$(LIBPATH_X64)/msi.lib 142DDRAWLIB_X64=$(LIBPATH_X64)/ddraw.lib 143SHLWAPILIB_X64=$(LIBPATH_X64)/shlwapi.lib 144URLMONLIB_X64=$(LIBPATH_X64)/urlmon.lib 145UNICOWSLIB_X64=$(LIBPATH_X64)/unicows.lib 146WININETLIB_X64=$(LIBPATH_X64)/wininet.lib 147OLDNAMESLIB_X64=$(LIBPATH_VC_X64)/oldnames.lib 148MSIMG32LIB_X64=$(LIBPATH_X64)/msimg32.lib 149MSVCPRT_X64=$(LIBPATH_VC_X64)/msvcprt.lib 150MSVCRT_X64=$(LIBPATH_VC_X64)/msvcrt.lib 151 152MISC_X64=$(MISC)/x64 153OBJ_X64=$(OBJ)/x64 154SLO_X64=$(SLO)/x64 155LB_X64=$(LB)/x64 156SLB_X64=$(SLB)/x64 157L_X64=$(SOLARLIBDIR_X64) 158VERSIONOBJ_X64=$(SLO_X64)/_version.obj 159BIN_X64=$(BIN)/x64 160RES_X64=$(RES)/x64 161SOLARLIBDIR_X64=$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT)/x64 162LIB_X64:=$(LB_X64);$(SLB_X64);$(ILIB_X64) 163 164.IF "$(LIBTARGET)"=="" 165.IF "$(OBJFILES_X64)$(IDLOBJFILES_X64)"!="" 166OBJTARGET_X64=$(LB_X64)/$(TARGET).lib 167.ENDIF # "$(OBJFILES_X64)$(IDLOBJFILES_X64)"!="" 168.IF "$(SLOFILES_X64)$(IDLSLOFILES_x64)"!="" 169SLOTARGET_X64=$(SLB_X64)/$(TARGET).lib 170.ENDIF # "$(SLOFILES_X64)$(IDLSLOFILES_x64)"!="" 171.ENDIF # "$(LIBTARGET)"=="" 172 173.IF "$(OBJFILES_X64)"!="" 174.IF "$(LIBTARGET)" != "" 175NOLIBOBJTARGET_X64=$(OBJFILES_X64) 176.ENDIF 177.ENDIF 178 179.IF "$(SLOFILES_X64)"!="" 180.IF "$(LIBTARGET)" != "" 181NOLIBSLOTARGET_X64=$(SLOFILES_X64) 182.ENDIF 183.ENDIF 184 185.IF "$(SHL1TARGET_X64)"!="" 186SHL1TARGETN_X64=$(BIN_X64)/$(DLLPRE)$(SHL1TARGET_X64)$(DLLPOST) 187.ENDIF 188.IF "$(SHL2TARGET_X64)"!="" 189SHL2TARGETN_X64=$(BIN_X64)/$(DLLPRE)$(SHL2TARGET_X64)$(DLLPOST) 190.ENDIF 191.IF "$(LIB1TARGET_X64)" != "" 192LIB1TARGETN_X64=$(LIB1TARGET_X64) 193.ENDIF 194.IF "$(LIB2TARGET_X64)" != "" 195LIB2TARGETN_X64=$(LIB2TARGET_X64) 196.ENDIF 197.IF "$(DEF1NAME_X64)"!="" 198DEF1TARGETN_X64=$(MISC_X64)/$(DEF1NAME_X64).def 199.ENDIF 200.IF "$(DEF2NAME_X64)"!="" 201DEF2TARGETN_X64=$(MISC_X64)/$(DEF2NAME_X64).def 202.ENDIF 203 204$(SLO_X64)/%.obj : $(MISC_X64)/%.c 205 @echo ------------------------------ 206 @echo Making: $@ 207 -$(MKDIR) $(@:d) 208 @-$(MKDIR) $(MISC_X64) 209 @@-$(RM) $@ 210 @$(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 @$(ECHONL) 212 $(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 214.ENDIF # "$(BUILD_X64)"!="" 215 216