xref: /aoo41x/main/solenv/inc/set_wntx64.mk (revision 752c0af7)
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