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