xref: /aoo41x/main/solenv/inc/tg_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
38.IF "$(SLOTARGET_X64)"!=""
39$(SLOTARGET_X64): $(SLOFILES_X64) $(IDLSLOFILES_X64)
40.IF "$(MDB)" != ""
41	@echo $(SLOTARGET_X64)
42	@echo $(&:+"\n")
43.ENDIF
44	@echo ------------------------------
45	@echo Making: $@
46	@-$(MKDIR) $(SLB_X64)
47.IF "$(LIBTARGET)"!="NO"
48	@-$(TYPE) $(mktmp $(&:+"\n")) > $(@:s/.lib/.lin/)
49.ENDIF          # "$(LIBTARGET)"!="NO"
50	$(LIBMGR_X64) $(LIBFLAGS_X64) /OUT:$@ @$(mktmp $(&:+"\n"))
51.ENDIF			# "$(SLOTARGET_X64)"!=""
52
53
54# decide how to link
55.IF "$(SHL1CODETYPE)"=="C"
56SHL1LINKFLAGS_X64+=$(LINKCFLAGS_X64)
57.ELSE			# "$(SHL1CODETYPE)"=="C"
58SHL1LINKFLAGS_X64+=$(LINKFLAGS_X64)
59.ENDIF			# "$(SHL1CODETYPE)"=="C"
60
61.IF "$(SHL2CODETYPE)"=="C"
62SHL2LINKFLAGS_X64+=$(LINKCFLAGS_X64)
63.ELSE			# "$(SHL2CODETYPE)"=="C"
64SHL2LINKFLAGS_X64+=$(LINKFLAGS_X64)
65.ENDIF			# "$(SHL2CODETYPE)"=="C"
66
67.IF "$(SHL1IMPLIB_X64)" == ""
68SHL1IMPLIB_X64=i$(TARGET)_t1
69.ENDIF			# "$(SHL1IMPLIB_X64)" == ""
70USE_1IMPLIB_X64=-implib:$(LB_X64)/$(SHL1IMPLIB_X64).lib
71.IF "$(SHL1TARGET_X64)"!=""
72SHL1IMPLIBN_X64=$(LB_X64)/$(SHL1IMPLIB_X64).lib
73.ENDIF # "$(SLOFILES_X64)$(OBJFILES_X64)"!=""
74
75make_x64_dirs :
76	-$(MKDIR) $(BIN_X64)
77	-$(MKDIR) $(MISC_X64)
78	-$(MKDIR) $(LB_X64)
79	-$(MKDIR) $(SLB_X64)
80
81
82.IF "$(LIBTARGET)" == ""
83ALLTAR : $(SHL1IMPLIBN_X64)
84.ENDIF "$(LIBTARGET)" == ""
85
86# ----------------------------- lib ------------------------------------------
87.IF "$(LIB1TARGET_X64)" != ""
88$(LIB1TARGET_X64) :	$(LIB1FILES_X64) \
89						$(LIB1OBJFILES_X64) \
90						$(LIB1DEPN_X64)
91	@echo using: $(LIB1FILES_X64)
92	@echo using: $(LIB1TARGET_X64)
93	@echo ------------------------------
94	@echo Making: $@
95	-$(MKDIR) $(SLB_X64)
96	@@-$(RM) $@
97	$(LIBMGR_X64) $(LIBFLAGS_X64) /OUT:$@ @$(mktmp $(LIB1FILES_X64) $(LIB1OBJFILES_X64))
98    @-$(RM) $(@:s/.lib/.lin/)
99.IF "$(LIB1OBJFILES_X64)"!=""
100	@$(TYPE) $(mktmp $(LIB1OBJFILES_X64)) > $(null,$(LIB1OBJFILES_X64) $(NULLDEV) $(@:s/.lib/.lin/))
101.ENDIF          # "$(LIB1OBJFILES_X64)"!=""
102.IF "$(LIB1FILES_X64)"!=""
103	@-$(TYPE) $(foreach,i,$(LIB1FILES_X64) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
104.ENDIF          # "$(LIB1FILES_X64)"!=""
105	@$(ECHONL)
106.ENDIF          # "$(LIB1TARGET_X64)" != ""
107
108.IF "$(LIB2TARGET_X64)" != ""
109$(LIB2TARGET_X64) :	$(LIB2FILES_X64) \
110						$(LIB2OBJFILES_X64) \
111						$(LIB2DEPN_X64)
112	@echo using: $(LIB2FILES_X64)
113	@echo using: $(LIB2TARGET_X64)
114	@echo ------------------------------
115	@echo Making: $@
116	-$(MKDIR) $(SLB_X64)
117	@@-$(RM) $@
118	$(LIBMGR_X64) $(LIBFLAGS_X64) /OUT:$@ @$(mktmp $(LIB2FILES_X64) $(LIB2OBJFILES_X64))
119    @-$(RM) $(@:s/.lib/.lin/)
120.IF "$(LIB2OBJFILES_X64)"!=""
121	@$(TYPE) $(mktmp $(LIB2OBJFILES_X64)) > $(null,$(LIB2OBJFILES_X64) $(NULLDEV) $(@:s/.lib/.lin/))
122.ENDIF          # "$(LIB2OBJFILES_X64)"!=""
123.IF "$(LIB2FILES_X64)"!=""
124	@-$(TYPE) $(foreach,i,$(LIB2FILES_X64) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
125.ENDIF          # "$(LIB2FILES_X64)"!=""
126	@$(ECHONL)
127.ENDIF          # "$(LIB2TARGET_X64)" != ""
128
129# -------------- def ----------------------
130.IF	"$(DEF1TARGETN_X64)"!=""
131$(DEF1TARGETN_X64) : \
132		$(DEF1DEPN_X64) \
133		$(DEF1EXPORTFILE_X64)
134        @-$(MKDIR) $(MISC_X64)
135	@-$(RM) $@.tmpfile
136	@echo ------------------------------
137	@echo Making Module-Definitionfile : $@
138	@echo LIBRARY	  $(EMQ)"$(SHL1TARGETN:f)$(EMQ)" 								 >$@.tmpfile
139	@echo HEAPSIZE	  0 											>>$@.tmpfile
140	@echo EXPORTS													>>$@.tmpfile
141#	getversioninfo fuer alle!!
142	@echo GetVersionInfo		>>$@.tmpfile
143.IF "$(DEFLIB1NAME_X64)"!=""
144.IF "$(SHL1USE_EXPORTS_X64)"==""
145	@-$(EXPORT1_PROTECT) $(RMHACK1) $(MISC_X64)/$(SHL1TARGET_X64).exp
146	@$(EXPORT1_PROTECT) $(LIBMGR_X64) -EXTRACT:/ /OUT:$(MISC_X64)/$(SHL1TARGET_X64).exp $(SLB_X64)/$(DEFLIB1NAME_X64).lib
147	@$(EXPORT1_PROTECT) $(LDUMP2) -E 20 -F $(MISC_X64)/$(SHL1TARGET_X64).flt $(MISC_X64)/$(SHL1TARGET_X64).exp			   >>$@.tmpfile
148	$(EXPORT1_PROTECT) $(RMHACK1) $(MISC_X64)/$(SHL1TARGET_X64).exp
149.ELSE			# "$(SHL1USE_EXPORTS_X64)"==""
150	@$(EXPORT1_PROTECT) $(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB1NAME_X64) $(SLB_X64)/$(i).lib) | $(GREP) EXPORT: > $(MISC_X64)/$(SHL1TARGET_X64).direct
151.IF "$(SHL1USE_EXPORTS_X64)"!="name"
152	@$(EXPORT1_PROTECT) $(LDUMP2) -D -E 20 -F $(DEF1FILTER_X64) $(MISC_X64)/$(SHL1TARGET_X64).direct >>$@.tmpfile
153.ELSE			# "$(SHL1USE_EXPORTS_X64)"!="name"
154	@$(EXPORT1_PROTECT) $(LDUMP2) -N -D -E 20 -F $(DEF1FILTER_X64) $(MISC_X64)/$(SHL1TARGET_X64).direct >>$@.tmpfile
155.ENDIF			# "$(SHL1USE_EXPORTS_X64)"!="name"
156.ENDIF			# "$(SHL1USE_EXPORTS)"==""
157.ENDIF				# "$(DEFLIB1NAME)"!=""
158.IF "$(DEF1EXPORT1_X64)"!=""
159	@echo $(DEF1EXPORT1_X64)										>>$@.tmpfile
160.ENDIF
161.IF "$(DEF1EXPORTFILE_X64)"!=""
162	$(COMMAND_ECHO)$(TYPE) $(DEF1EXPORTFILE_X64) >> $@.tmpfile
163.ENDIF
164	@-$(RM) $@
165	@$(RENAME) $@.tmpfile $@
166.ENDIF 		# "$(DEF1TARGETN_X64)"!=""
167
168.IF	"$(DEF2TARGETN_X64)"!=""
169$(DEF2TARGETN_X64) : \
170		$(DEF2DEPN_X64) \
171		$(DEF2EXPORTFILE_X64)
172	@-$(MKDIR) $(MISC_X64)
173	@-$(RM) $@.tmpfile
174	@echo Making Module-Definitionfile : $@
175	@echo LIBRARY	  $(EMQ)"$(SHL2TARGETN:f)$(EMQ)" 								 >$@.tmpfile
176	@echo HEAPSIZE	  0 											>>$@.tmpfile
177	@echo EXPORTS													>>$@.tmpfile
178#	getversioninfo fuer alle!!
179	@echo GetVersionInfo		>>$@.tmpfile
180.IF "$(DEFLIB2NAME_X64)"!=""
181.IF "$(SHL2USE_EXPORTS_X64)"==""
182	@-$(EXPORT2_PROTECT) $(RMHACK1) $(MISC_X64)/$(SHL2TARGET_X64).exp
183	@$(EXPORT2_PROTECT) $(LIBMGR_X64) -EXTRACT:/ /OUT:$(MISC_X64)/$(SHL2TARGET_X64).exp $(SLB_X64)/$(DEFLIB2NAME_X64).lib
184	@$(EXPORT2_PROTECT) $(LDUMP2) -E 20 -F $(MISC_X64)/$(SHL2TARGET_X64).flt $(MISC_X64)/$(SHL2TARGET_X64).exp			   >>$@.tmpfile
185	$(EXPORT2_PROTECT) $(RMHACK1) $(MISC_X64)/$(SHL2TARGET_X64).exp
186.ELSE			# "$(SHL2USE_EXPORTS_X64)"==""
187	@$(EXPORT2_PROTECT) $(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB2NAME_X64) $(SLB_X64)/$(i).lib) | $(GREP) EXPORT: > $(MISC_X64)/$(SHL2TARGET_X64).direct
188.IF "$(SHL2USE_EXPORTS_X64)"!="name"
189	@$(EXPORT2_PROTECT) $(LDUMP2) -D -E 20 -F $(DEF2FILTER_X64) $(MISC_X64)/$(SHL2TARGET_X64).direct >>$@.tmpfile
190.ELSE			# "$(SHL2USE_EXPORTS_X64)"!="name"
191	@$(EXPORT2_PROTECT) $(LDUMP2) -N -D -E 20 -F $(DEF2FILTER_X64) $(MISC_X64)/$(SHL2TARGET_X64).direct >>$@.tmpfile
192.ENDIF			# "$(SHL2USE_EXPORTS_X64)"!="name"
193.ENDIF			# "$(SHL2USE_EXPORTS)"==""
194.ENDIF				# "$(DEFLIB1NAME)"!=""
195.IF "$(DEF2EXPORT2_X64)"!=""
196	@echo $(DEF2EXPORT2_X64)										>>$@.tmpfile
197.ENDIF
198.IF "$(DEF2EXPORTFILE_X64)"!=""
199	$(COMMAND_ECHO)$(TYPE) $(DEF2EXPORTFILE_X64) >> $@.tmpfile
200.ENDIF
201	@-$(RM) $@
202	@$(RENAME) $@.tmpfile $@
203.ENDIF 		# "$(DEF2TARGETN_X64)"!=""
204#-----------------------------------------------------------------------------
205
206# -------------------------------- shl -----------------------------------------
207
208.IF "$(SHL1TARGET_X64)"!=""
209.IF "$(VERSIONOBJ_X64)"!=""
210SHL1VERSIONOBJ_X64:=$(VERSIONOBJ_X64:d){$(subst,$(UPD)$(DLLPOSTFIX),_dflt $(SHL1TARGET_X64))}$(VERSIONOBJ_X64:f)
211USE_VERSIONH_X64:=$(INCCOM)/$(SHL1VERSIONOBJ_X64:b).h
212SHL1VERSIONOBJDEP_X64:=$(VERSIONOBJ_X64:d){$(subst,$(UPD)$(DLLPOSTFIX),_dflt $(SHL1TARGET_X64))}$(VERSIONOBJ_X64:f)
213$(MISC_X64)/$(SHL1VERSIONOBJ_X64:b).c : make_x64_dirs $(SOLARENV)/src/version.c $(INCCOM)/$(SHL1VERSIONOBJ_X64:b).h
214	$(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL1VERSIONOBJ_X64:b).h/ > $@
215.INIT : $(SHL1VERSIONOBJDEP_X64)
216.ENDIF
217
218.IF "$(USE_DEFFILE_X64)"==""
219USE_1IMPLIB_DEPS_X64=$(LB_X64)/$(SHL1IMPLIB_X64).lib
220.ENDIF			# "$(USE_DEFFILE_X64)"==""
221
222.IF "$(SHL1RES_X64)"!=""
223SHL1ALLRES_X64+=$(SHL1RES_X64)
224SHL1LINKRES_X64*=$(MISC_X64)/$(SHL1TARGET_X64).res
225SHL1LINKRESO_X64*=$(MISC_X64)/$(SHL1TARGET_X64)_res.o
226.ENDIF			# "$(SHL1RES_X64)"!=""
227
228.IF "$(SHL1DEFAULTRES_X64)$(use_shl_versions)"!=""
229SHL1DEFAULTRES_X64*=$(MISC_X64)/$(SHL1TARGET_X64)_def.res
230SHL1ALLRES_X64+=$(SHL1DEFAULTRES_X64)
231SHL1LINKRES_X64*=$(MISC_X64)/$(SHL1TARGET_X64).res
232SHL1LINKRESO_X64*=$(MISC_X64)/$(SHL1TARGET_X64)_res.o
233.ENDIF			# "$(SHL1DEFAULTRES)$(use_shl_versions)"!=""
234.ENDIF # "$(SHL1TARGET_X64)"=!""
235
236.IF "$(SHL1TARGETN_X64)"!=""
237$(SHL1TARGETN_X64) : \
238					make_x64_dirs \
239					$(SHL1OBJS_X64)\
240					$(SHL1LIBS_X64)\
241					$(USE_1IMPLIB_DEPS_X64)\
242					$(USE_SHL1DEF_X64)\
243					$(USE_SHL1VERSIONMAP_X64)\
244					$(SHL1RES)\
245					$(SHL1DEPN_X64) \
246					$(SHL1LINKLIST_X64)
247	@echo Making: $(SHL1TARGETN_X64)
248.IF "$(SHL1DEFAULTRES_X64)"!=""
249	@@-$(RM) $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
250.IF "$(use_shl_versions)" != ""
251.IF "$(SHL1ADD_VERINFO_X64)"!=""
252	@echo $(EMQ)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
253.ELSE			# "$(SHL1ADD_VERINFO_X64)"!=""
254	@echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
255	@echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
256	@echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
257.ENDIF			# "$(SHL1ADD_VERINFO_X64)"!=""
258	@echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
259	@echo $(EMQ)#define ORG_NAME	$(SHL1TARGET_X64)$(DLLPOST) >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
260	@echo $(EMQ)#define INTERNAL_NAME $(SHL1TARGET_X64:b) >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
261	@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
262.ENDIF			# "$(use_shl_versions)" != ""
263	$(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS_X64) $(MISC_X64)/$(SHL1DEFAULTRES_X64:b).rc
264.ENDIF # "$(SHL1DEFAULTRES_X64)"!=""
265.IF "$(SHL1ALLRES_X64)"!=""
266	$(COMMAND_ECHO)$(TYPE) $(SHL1ALLRES_X64) > $(SHL1LINKRES_X64)
267.ENDIF			# "$(SHL1ALLRES)"!=""
268.IF "$(USE_DEFFILE_X64)"!=""
269	$(LINK_X64) @$(mktmp \
270		$(SHL1LINKFLAGS_X64) \
271		$(LINKFLAGSSHL_X64) \
272		$(SHL1STACK_X64) $(SHL1BASEX_X64)	\
273		-out:$@ \
274		-map:$(MISC_X64)/$(@:b).map \
275		-def:$(SHL1DEF_X64) \
276		$(USE_1IMPLIB_X64) \
277		$(STDOBJ_X64) \
278		$(SHL1VERSIONOBJ_X64) $(SHL1OBJS_X64) \
279		$(SHL1LIBS_X64) \
280		$(SHL1STDLIBS_X64) \
281		$(SHL1STDSHL_X64) $(STDSHL1_X64) \
282		$(SHL1LINKRES_X64) \
283	) $(LINKOUTPUTFILTER_X64)
284# double check if target was really written... still making sense?
285    @@$(LS) $@
286	@echo linking $@.manifest ...
287.IF "$(VISTA_MANIFEST)"!=""
288	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
289	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI)
290.ELSE
291	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI)
292.ENDIF # "$(VISTA_MANIFEST)"!=""
293	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI)
294	$(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI)
295.ELSE			# "$(USE_DEFFILE)"!=""
296	$(LINK_X64) @$(mktmp	$(SHL1LINKFLAGS_X64)			\
297		$(LINKFLAGSSHL_X64) $(SHL1BASEX_X64)		\
298		$(SHL1STACK_X64) -out:$(SHL1TARGETN_X64)	\
299		-map:$(MISC_X64)/$(@:B).map				\
300		$(LB_X64)/$(SHL1IMPLIB_X64).exp				\
301		$(STDOBJ_X64)							\
302		$(SHL1OBJS_X64) $(SHL1VERSIONOBJ_X64) \
303		$(SHL1LIBS_X64)                         \
304		$(SHL1STDLIBS_X64)                      \
305		$(SHL1STDSHL_X64) $(STDSHL1_X64)                           \
306		$(SHL1LINKRES_X64) \
307	) $(LINKOUTPUTFILTER_X64)
308# double check if target was really written... still making sense?
309    @@$(LS) $@
310	@echo linking $@.manifest ...
311.IF "$(VISTA_MANIFEST)"!=""
312	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
313	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI)
314.ELSE
315	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI)
316.ENDIF # "$(VISTA_MANIFEST)"!=""
317	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI)
318	$(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI)
319.ENDIF			# "$(USE_DEFFILE)"!=""
320# ------------------------------------------------------------------------------
321$(SHL1IMPLIBN_X64):	\
322					$(SHL1DEF_X64) \
323					$(USE_SHL1TARGET_X64) \
324					$(USELIB1DEPN_X64) \
325					$(USELIBDEPN_X64)
326	@echo Making: $(SHL1IMPLIBN_X64)
327# bei use_deffile implib von linker erstellt
328	@-mkdir $(LB_X64)
329.IF "$(USE_DEFFILE_X64)"==""
330	$(IMPLIB_X64) $(IMPLIBFLAGS_X64) @$(mktmp -out:$(SHL1IMPLIBN_X64) \
331	-def:$(SHL1DEF_X64) )
332.ELSE			# "$(USE_DEFFILE_X64)==""
333	@echo build of $(SHL1TARGETN_X64) creates $@
334.ENDIF			# "$(USE_DEFFILE_X64)==""
335
336.ENDIF 			# "$(SHL1TARGETN_X64)"!=""
337
338.IF "$(SHL2IMPLIB_X64)" == ""
339SHL2IMPLIB_X64=i$(TARGET)_t2
340.ENDIF			# "$(SHL2IMPLIB_X64)" == ""
341.IF "$(COM)" != "GCC"
342USE_2IMPLIB_X64=-implib:$(LB_X64)/$(SHL2IMPLIB_X64).lib
343.ENDIF			# "$(COM)" != "GCC"
344.IF "$(SHL2TARGET_X64)"!=""
345SHL2IMPLIBN_X64=$(LB_X64)/$(SHL2IMPLIB_X64).lib
346.ENDIF # "$(SLOFILES_X64)$(OBJFILES_X64)"!=""
347
348.IF "$(LIBTARGET)" == ""
349ALLTAR : $(SHL2IMPLIBN_X64)
350.ENDIF # "$(LIBTARGET)" == ""
351
352.IF "$(SHL2TARGET_X64)"!=""
353.IF "$(VERSIONOBJ_X64)"!=""
354SHL2VERSIONOBJ_X64:=$(VERSIONOBJ_X64:d){$(subst,$(UPD)$(DLLPOSTFIX),_dflt $(SHL2TARGET_X64))}$(VERSIONOBJ_X64:f)
355USE_VERSIONH_X64:=$(INCCOM)/$(SHL2VERSIONOBJ_X64:b).h
356SHL2VERSIONOBJDEP_X64:=$(VERSIONOBJ_X64:d){$(subst,$(UPD)$(DLLPOSTFIX),_dflt $(SHL2TARGET_X64))}$(VERSIONOBJ_X64:f)
357$(MISC_X64)/$(SHL2VERSIONOBJ_X64:b).c : make_x64_dirs $(SOLARENV)/src/version.c $(INCCOM)/$(SHL2VERSIONOBJ_X64:b).h
358	$(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL2VERSIONOBJ_X64:b).h/ > $@
359.INIT : $(SHL2VERSIONOBJDEP_X64)
360.ENDIF
361
362.IF "$(USE_DEFFILE_X64)"==""
363USE_2IMPLIB_DEPS_X64=$(LB_X64)/$(SHL2IMPLIB_X64).lib
364.ENDIF			# "$(USE_DEFFILE_X64)"==""
365
366.IF "$(SHL2RES_X64)"!=""
367SHL2ALLRES_X64+=$(SHL2RES_X64)
368SHL2LINKRES_X64*=$(MISC_X64)/$(SHL2TARGET_X64).res
369SHL2LINKRESO_X64*=$(MISC_X64)/$(SHL2TARGET_X64)_res.o
370.ENDIF			# "$(SHL2RES_X64)"!=""
371
372.IF "$(SHL2DEFAULTRES_X64)$(use_shl_versions)"!=""
373SHL2DEFAULTRES_X64*=$(MISC_X64)/$(SHL2TARGET_X64)_def.res
374SHL2ALLRES_X64+=$(SHL2DEFAULTRES_X64)
375SHL2LINKRES_X64*=$(MISC_X64)/$(SHL2TARGET_X64).res
376SHL2LINKRESO_X64*=$(MISC_X64)/$(SHL2TARGET_X64)_res.o
377.ENDIF			# "$(SHL2DEFAULTRES)$(use_shl_versions)"!=""
378.ENDIF # "$(SHL2TARGET_X64)"=!""
379
380.IF "$(SHL2TARGETN_X64)"!=""
381$(SHL2TARGETN_X64) : \
382					make_x64_dirs \
383					$(SHL2OBJS_X64)\
384					$(SHL2LIBS_X64)\
385					$(USE_2IMPLIB_DEPS_X64)\
386					$(USE_SHL2DEF_X64)\
387					$(USE_SHL2VERSIONMAP_X64)\
388					$(SHL2RES)\
389					$(SHL2DEPN_X64) \
390					$(SHL2LINKLIST_X64)
391	@echo Making: $(SHL2TARGETN_X64)
392.IF "$(SHL2DEFAULTRES_X64)"!=""
393	@@-$(RM) $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
394.IF "$(use_shl_versions)" != ""
395.IF "$(SHL2ADD_VERINFO_X64)"!=""
396	@echo $(EMQ)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
397.ELSE			# "$(SHL2ADD_VERINFO_X64)"!=""
398	@echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
399	@echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
400	@echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
401.ENDIF			# "$(SHL1ADD_VERINFO_X64)"!=""
402	@echo $(EMQ)#define VERVARIANT	$(BUILD) >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
403	@echo $(EMQ)#define ORG_NAME	$(SHL2TARGET_X64)$(DLLPOST) >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
404	@echo $(EMQ)#define INTERNAL_NAME $(SHL1TARGET_X64:b) >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
405	@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
406.ENDIF			# "$(use_shl_versions)" != ""
407	$(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS_X64) $(MISC_X64)/$(SHL2DEFAULTRES_X64:b).rc
408.ENDIF # "$(SHL2DEFAULTRES_X64)"!=""
409.IF "$(SHL2ALLRES_X64)"!=""
410	$(COMMAND_ECHO)$(TYPE) $(SHL2ALLRES_X64) > $(SHL2LINKRES_X64)
411.ENDIF			# "$(SHL2ALLRES)"!=""
412.IF "$(USE_DEFFILE_X64)"!=""
413	$(LINK_X64) @$(mktmp \
414		$(SHL2LINKFLAGS_X64) \
415		$(LINKFLAGSSHL_X64) \
416		$(SHL2STACK_X64) $(SHL2BASEX_X64)	\
417		-out:$@ \
418		-map:$(MISC_X64)/$(@:b).map \
419		-def:$(SHL2DEF_X64) \
420		$(USE_2IMPLIB_X64) \
421		$(STDOBJ_X64) \
422		$(SHL2VERSIONOBJ_X64) $(SHL2OBJS_X64) \
423		$(SHL2LIBS_X64) \
424		$(SHL2STDLIBS_X64) \
425		$(SHL2STDSHL_X64) $(STDSHL2_X64) \
426		$(SHL2LINKRES_X64) \
427	) $(LINKOUTPUTFILTER_X64)
428# double check if target was really written... still making sense?
429    @@$(LS) $@
430	@echo linking $@.manifest ...
431.IF "$(VISTA_MANIFEST)"!=""
432	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
433	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI)
434.ELSE
435	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI)
436.ENDIF # "$(VISTA_MANIFEST)"!=""
437	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI)
438	$(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI)
439.ELSE			# "$(USE_DEFFILE)"!=""
440	$(LINK_X64) @$(mktmp	$(SHL2LINKFLAGS_X64)			\
441		$(LINKFLAGSSHL_X64) $(SHL2BASEX_X64)		\
442		$(SHL2STACK_X64) -out:$(SHL2TARGETN_X64)	\
443		-map:$(MISC_X64)/$(@:B).map				\
444		$(LB_X64)/$(SHL2IMPLIB_X64).exp				\
445		$(STDOBJ_X64)							\
446		$(SHL2OBJS_X64) $(SHL2VERSIONOBJ_X64) \
447		$(SHL2LIBS_X64)                         \
448		$(SHL2STDLIBS_X64)                      \
449		$(SHL2STDSHL_X64) $(STDSHL2_X64)                           \
450		$(SHL2LINKRES_X64) \
451	) $(LINKOUTPUTFILTER_X64)
452# double check if target was really written... still making sense?
453    @@$(LS) $@
454	@echo linking $@.manifest ...
455.IF "$(VISTA_MANIFEST)"!=""
456	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI)
457	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI)
458.ELSE
459	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI)
460.ENDIF # "$(VISTA_MANIFEST)"!=""
461	$(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI)
462	$(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI)
463.ENDIF			# "$(USE_DEFFILE)"!=""
464
465$(SHL2IMPLIBN_X64):	\
466					$(SHL2DEF_X64) \
467					$(USE_SHL2TARGET_X64) \
468					$(USELIB2DEPN_X64) \
469					$(USELIBDEPN_X64)
470	@echo Making: $(SHL2IMPLIBN_X64)
471# bei use_deffile implib von linker erstellt
472	@-mkdir $(LB_X64)
473.IF "$(USE_DEFFILE_X64)"==""
474	$(IMPLIB_X64) $(IMPLIBFLAGS_X64) @$(mktmp -out:$(SHL2IMPLIBN_X64) \
475	-def:$(SHL2DEF_X64) )
476.ELSE			# "$(USE_DEFFILE_X64)==""
477	@echo build of $(SHL2TARGETN_X64) creates $@
478.ENDIF			# "$(USE_DEFFILE_X64)==""
479
480.ENDIF 			# "$(SHL2TARGETN_X64)"!=""
481
482
483$(SLO_X64)/%.obj : %.cpp
484    @echo ------------------------------
485    @echo Making: $@
486    @@-$(RM) $@ >& $(NULLDEV)
487    -$(MKDIR) $(@:d)
488    @-$(MKDIR) $(MISC_X64)
489    $(CAPTURE_COMMAND) $(CXX_X64) $(USE_CFLAGS_X64) $(INCLUDE_X64) $(CFLAGSCXX_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CDEFSMT_X64) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(CFLAGSINCXX)$(PWD)/$*.cpp $(CAPTURE_OUTPUT)
490
491$(SLO_X64)/%.obj : %.cxx
492    @echo Making: $@
493    @@-$(RM) $@ >& $(NULLDEV)
494    $(COMMAND_ECHO)-$(MKDIR) $(@:d)
495    $(COMMAND_ECHO)@-$(MKDIR) $(MISC_X64)
496    $(COMMAND_ECHO)$(CAPTURE_COMMAND) $(CXX_X64) $(USE_CFLAGS_X64) $(INCLUDE_X64) $(CFLAGSCXX_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CDEFSMT_X64) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(CFLAGSINCXX)$(PWD)/$*.cxx $(CAPTURE_OUTPUT)
497
498$(SLO_X64)/%.obj : $(MISC)/%.c
499    @echo Making: $@
500    $(COMMAND_ECHO)-$(MKDIR) $(@:d)
501    $(COMMAND_ECHO)@-$(MKDIR) $(MISC_X64)
502    @@-$(RM) $@
503    @$(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)/$*.c )
504    @$(ECHONL)
505    $(COMMAND_ECHO)$(CC_X64) @$(mktmp $(USE_CFLAGS_X64) $(INCLUDE_C) $(CFLAGSCC_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CFLAGSAPPEND_X64) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(MISC)/$*.c )
506
507$(SLO_X64)/%.obj : %.c
508    @echo Making: $@
509    $(COMMAND_ECHO)-$(MKDIR) $(@:d)
510    $(COMMAND_ECHO)@-$(MKDIR) $(MISC_X64)
511    @@-$(RM) $@
512    $(COMMAND_ECHO)$(CC_X64) @$(mktmp $(USE_CFLAGS_X64) $(INCLUDE_C) $(CFLAGSCC_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CDEFSMT_X64) $(CFLAGSAPPEND_X64) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $*.c )
513
514.ENDIF			# "$(BUILD_X64)"!=""
515