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