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