xref: /trunk/main/solenv/inc/_tg_def.mk (revision 534c536d)
1# unroll begin
2
3.IF "$(DEF1TARGETN)"!=""
4
5#to make intuitiv naming work
6.IF "$(DEF1LIBNAME)"!=""
7DEFLIB1NAME*=$(DEF1LIBNAME)
8.ENDIF			# "$(DEF1LIBNAME)"!=""
9
10.IF "$(DEFLIB1NAME)"!=""
11DEF1DEPN+=$(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib)
12.ENDIF
13
14.IF "$(SHL1VERSIONMAP)"!=""
15.IF "$(DEF1EXPORTFILE)"==""
16.IF "$(GUI)"=="WNT"
17DEF1EXPORTFILE=$(MISC)/$(SHL1VERSIONMAP:b)_$(SHL1TARGET).dxp
18.IF "$(COM)"=="GCC"
19$(DEF1EXPORTFILE) : $(SHL1OBJS) $(SHL1LIBS)
20.ENDIF # .IF "$(COM)"=="GCC"
21
22$(DEF1EXPORTFILE) : $(SHL1VERSIONMAP)
23	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
24.IF "$(COM)"=="GCC"
25	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
26	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
27# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
28# Extract RTTI symbols from all the objects that will be used to build a shared library
29	$(COMMAND_ECHO)nm -gP $(SHL1OBJS) \
30		`$(TYPE) /dev/null $(foreach,j,$(SHL1LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
31		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
32# overwrite the map file generate into the local output tree with the generated
33# exported symbols list
34	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
35.ENDIF # .IF "$(COM)"=="GCC"
36
37.ENDIF			# "$(GUI)"=="WNT"
38
39.IF "$(GUI)"=="OS2"
40DEF1EXPORTFILE=$(MISC)/$(SHL1VERSIONMAP:b)_$(SHL1TARGET).dxp
41$(DEF1EXPORTFILE) : $(SHL1VERSIONMAP)
42	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
43.ENDIF			# "$(GUI)"=="OS2"
44
45.ENDIF			# "$(DEF1EXPORTFILE)"==""
46.ENDIF			# "$(SHL1VERSIONMAP)"!=""
47
48.IF "$(GUI)"=="WNT"
49
50DEF1FILTER=$(SOLARENV)/inc/dummy.flt
51
52RMHACK1:=$(RM)
53
54.IF "$(DEF1CEXP)"!=""
55EXPORT_ALL_SWITCH=-A $(DEF1CEXP)
56.ENDIF
57
58.IF "$(link_always)"==""
59$(DEF1TARGETN) : \
60		$(DEF1DEPN) \
61		$(DEF1EXPORTFILE)
62.ELSE			# "$(link_always)"==""
63$(DEF1TARGETN) .PHONY :
64.ENDIF			# "$(link_always)"==""
65	@-$(RM) $@.tmpfile
66	@echo "Making:    module definition file" $(@:f)
67	@echo LIBRARY	  $(EMQ)"$(SHL1TARGETN:f)$(EMQ)" 								 >$@.tmpfile
68.IF "$(COM)"!="GCC"
69	@echo HEAPSIZE	  0 											>>$@.tmpfile
70.ENDIF
71	@echo EXPORTS													>>$@.tmpfile
72.IF "$(VERSIONOBJ)"!=""
73#	getversioninfo fuer alle!!
74	@echo GetVersionInfo		>>$@.tmpfile
75.ENDIF
76.IF "$(DEFLIB1NAME)"!=""
77.IF "$(COM)"=="GCC"
78	@-$(RM) $(MISC)/$(SHL1TARGET).exp
79	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL1TARGET).exp --export-all-symbols \
80		`$(TYPE) $(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
81	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL1TARGET).exp | sed '/^;/d' >>$@.tmpfile
82	@-$(RM) $(MISC)/$(SHL1TARGET).exp
83.ELSE
84.IF "$(SHL1USE_EXPORTS)"==""
85	@-$(RMHACK1) $(MISC)/$(SHL1TARGET).exp
86	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL1TARGET).exp $(SLB)/$(DEFLIB1NAME).lib
87	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL1TARGET).flt $(MISC)/$(SHL1TARGET).exp			   >>$@.tmpfile
88	$(COMMAND_ECHO)$(RMHACK1) $(MISC)/$(SHL1TARGET).exp
89.ELSE			# "$(SHL1USE_EXPORTS)"==""
90	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL1TARGET).direct
91	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF1FILTER) $(MISC)/$(SHL1TARGET).direct >>$@.tmpfile
92.ENDIF			# "$(SHL1USE_EXPORTS)"==""
93.ENDIF
94.ENDIF				# "$(DEFLIB1NAME)"!=""
95.IF "$(DEF1EXPORT1)"!=""
96	@echo $(DEF1EXPORT1)										>>$@.tmpfile
97.ENDIF
98.IF "$(DEF1EXPORT2)"!=""
99	@echo $(DEF1EXPORT2)										>>$@.tmpfile
100.ENDIF
101.IF "$(DEF1EXPORT3)"!=""
102	@echo $(DEF1EXPORT3)										>>$@.tmpfile
103.ENDIF
104.IF "$(DEF1EXPORT4)"!=""
105	@echo $(DEF1EXPORT4)										>>$@.tmpfile
106.ENDIF
107.IF "$(DEF1EXPORT5)"!=""
108	@echo $(DEF1EXPORT5)										>>$@.tmpfile
109.ENDIF
110.IF "$(DEF1EXPORT6)"!=""
111	@echo $(DEF1EXPORT6)										>>$@.tmpfile
112.ENDIF
113.IF "$(DEF1EXPORT7)"!=""
114	@echo $(DEF1EXPORT7)										>>$@.tmpfile
115.ENDIF
116.IF "$(DEF1EXPORT8)"!=""
117	@echo $(DEF1EXPORT8)										>>$@.tmpfile
118.ENDIF
119.IF "$(DEF1EXPORT9)"!=""
120	@echo $(DEF1EXPORT9)										>>$@.tmpfile
121.ENDIF
122.IF "$(DEF1EXPORT10)"!=""
123	@echo $(DEF1EXPORT10)										>>$@.tmpfile
124.ENDIF
125.IF "$(DEF1EXPORT11)"!=""
126	@echo $(DEF1EXPORT11)										>>$@.tmpfile
127.ENDIF
128.IF "$(DEF1EXPORT12)"!=""
129	@echo $(DEF1EXPORT12)										>>$@.tmpfile
130.ENDIF
131.IF "$(DEF1EXPORT13)"!=""
132	@echo $(DEF1EXPORT13)										>>$@.tmpfile
133.ENDIF
134.IF "$(DEF1EXPORT14)"!=""
135	@echo $(DEF1EXPORT14)										>>$@.tmpfile
136.ENDIF
137.IF "$(DEF1EXPORT15)"!=""
138	@echo $(DEF1EXPORT15)										>>$@.tmpfile
139.ENDIF
140.IF "$(DEF1EXPORT16)"!=""
141	@echo $(DEF1EXPORT16)										>>$@.tmpfile
142.ENDIF
143.IF "$(DEF1EXPORT17)"!=""
144	@echo $(DEF1EXPORT17)										>>$@.tmpfile
145.ENDIF
146.IF "$(DEF1EXPORT18)"!=""
147	@echo $(DEF1EXPORT18)										>>$@.tmpfile
148.ENDIF
149.IF "$(DEF1EXPORT19)"!=""
150	@echo $(DEF1EXPORT19)										>>$@.tmpfile
151.ENDIF
152.IF "$(DEF1EXPORT20)"!=""
153	@echo $(DEF1EXPORT20)										>>$@.tmpfile
154.ENDIF
155.IF "$(DEF1EXPORTFILE)"!=""
156.IF "$(COM)"=="GCC"
157	$(COMMAND_ECHO)$(TYPE) $(DEF1EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
158.ELSE
159	$(COMMAND_ECHO)$(TYPE) $(DEF1EXPORTFILE) >> $@.tmpfile
160.ENDIF
161.ENDIF
162	@-$(RM) $@
163	@$(RENAME) $@.tmpfile $@
164.ENDIF			# "$(GUI)"=="WNT"
165
166.IF "$(GUI)"=="OS2"
167
168#21/02/2006 YD dll names must be 8.3, invoke fix script
169#check osl/os2/module.c/osl_loadModule()
170SHL1TARGET8=$(shell @fix_shl.cmd $(SHL1TARGETN:f))
171
172DEF1FILTER=$(SOLARENV)/inc/dummy.flt
173DEF1NAMELIST=$(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib)
174
175.IF "$(link_always)"==""
176$(DEF1TARGETN) : \
177		$(DEF1DEPN) \
178		$(DEF1EXPORTFILE)
179.ELSE			# "$(link_always)"==""
180$(DEF1TARGETN) .PHONY :
181.ENDIF			# "$(link_always)"==""
182	@+-$(RM) $@.tmpfile
183	@echo "Making:    module definition file" $(@:f)
184	@echo LIBRARY	  $(SHL1TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
185	@echo DATA MULTIPLE	 >>$@.tmpfile
186	@echo EXPORTS													>>$@.tmpfile
187.IF "$(VERSIONOBJ)"!=""
188#	getversioninfo fuer alle!!
189	@echo _GetVersionInfo		>$@.tmp_ord
190.ENDIF
191
192.IF "$(DEFLIB1NAME)"!=""
193	@+echo $(SLB)/$(DEFLIB1NAME).lib
194	@+emxexpr $(DEF1NAMELIST) | fix_exp_file >> $@.tmp_ord
195.ENDIF				# "$(DEFLIB1NAME)"!=""
196
197.IF "$(DEF1EXPORT1)"!=""
198	@echo $(DEF1EXPORT1)										>>$@.tmpfile
199.ENDIF
200.IF "$(DEF1EXPORT2)"!=""
201	@echo $(DEF1EXPORT2)										>>$@.tmpfile
202.ENDIF
203.IF "$(DEF1EXPORT3)"!=""
204	@echo $(DEF1EXPORT3)										>>$@.tmpfile
205.ENDIF
206.IF "$(DEF1EXPORT4)"!=""
207	@echo $(DEF1EXPORT4)										>>$@.tmpfile
208.ENDIF
209.IF "$(DEF1EXPORT5)"!=""
210	@echo $(DEF1EXPORT5)										>>$@.tmpfile
211.ENDIF
212.IF "$(DEF1EXPORT6)"!=""
213	@echo $(DEF1EXPORT6)										>>$@.tmpfile
214.ENDIF
215.IF "$(DEF1EXPORT7)"!=""
216	@echo $(DEF1EXPORT7)										>>$@.tmpfile
217.ENDIF
218.IF "$(DEF1EXPORT8)"!=""
219	@echo $(DEF1EXPORT8)										>>$@.tmpfile
220.ENDIF
221.IF "$(DEF1EXPORT9)"!=""
222	@echo $(DEF1EXPORT9)										>>$@.tmpfile
223.ENDIF
224.IF "$(DEF1EXPORT10)"!=""
225	@echo $(DEF1EXPORT10)										>>$@.tmpfile
226.ENDIF
227.IF "$(DEF1EXPORT11)"!=""
228	@echo $(DEF1EXPORT11)										>>$@.tmpfile
229.ENDIF
230.IF "$(DEF1EXPORT12)"!=""
231	@echo $(DEF1EXPORT12)										>>$@.tmpfile
232.ENDIF
233.IF "$(DEF1EXPORT13)"!=""
234	@echo $(DEF1EXPORT13)										>>$@.tmpfile
235.ENDIF
236.IF "$(DEF1EXPORT14)"!=""
237	@echo $(DEF1EXPORT14)										>>$@.tmpfile
238.ENDIF
239.IF "$(DEF1EXPORT15)"!=""
240	@echo $(DEF1EXPORT15)										>>$@.tmpfile
241.ENDIF
242.IF "$(DEF1EXPORT16)"!=""
243	@echo $(DEF1EXPORT16)										>>$@.tmpfile
244.ENDIF
245.IF "$(DEF1EXPORT17)"!=""
246	@echo $(DEF1EXPORT17)										>>$@.tmpfile
247.ENDIF
248.IF "$(DEF1EXPORT18)"!=""
249	@echo $(DEF1EXPORT18)										>>$@.tmpfile
250.ENDIF
251.IF "$(DEF1EXPORT19)"!=""
252	@echo $(DEF1EXPORT19)										>>$@.tmpfile
253.ENDIF
254.IF "$(DEF1EXPORT20)"!=""
255	@echo $(DEF1EXPORT20)										>>$@.tmpfile
256.ENDIF
257.IF "$(DEF1EXPORTFILE)"!=""
258	@fix_def_file < $(DEF1EXPORTFILE) >> $@.tmp_ord
259.ENDIF
260	@sort < $@.tmp_ord | uniq > $@.exptmpfile
261	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
262	@+-$(RM) $@
263	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
264	@+-$(RM) $@.tmp_ord
265	@+-$(RM) $@.exptmpfile
266	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL1IMPLIBN:s/.lib/.a/) $@
267	$(COMMAND_ECHO)+emxomf -o $(SHL1IMPLIBN) $(SHL1IMPLIBN:s/.lib/.a/)
268
269.ENDIF			# "$(GUI)"=="OS2"
270
271.IF "$(GUI)"=="UNX"
272$(DEF1TARGETN): \
273		$(DEF1DEPN) \
274		$(DEF1EXPORTFILE)
275	@echo just a dummy for UNIX > $@
276.ENDIF
277.ENDIF			# "$(DEF1TARGETN)"!=""
278
279
280# Anweisungen fuer das Linken
281# unroll begin
282
283.IF "$(DEF2TARGETN)"!=""
284
285#to make intuitiv naming work
286.IF "$(DEF2LIBNAME)"!=""
287DEFLIB2NAME*=$(DEF2LIBNAME)
288.ENDIF			# "$(DEF2LIBNAME)"!=""
289
290.IF "$(DEFLIB2NAME)"!=""
291DEF2DEPN+=$(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib)
292.ENDIF
293
294.IF "$(SHL2VERSIONMAP)"!=""
295.IF "$(DEF2EXPORTFILE)"==""
296.IF "$(GUI)"=="WNT"
297DEF2EXPORTFILE=$(MISC)/$(SHL2VERSIONMAP:b)_$(SHL2TARGET).dxp
298.IF "$(COM)"=="GCC"
299$(DEF2EXPORTFILE) : $(SHL2OBJS) $(SHL2LIBS)
300.ENDIF # .IF "$(COM)"=="GCC"
301
302$(DEF2EXPORTFILE) : $(SHL2VERSIONMAP)
303	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
304.IF "$(COM)"=="GCC"
305	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
306	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
307# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
308# Extract RTTI symbols from all the objects that will be used to build a shared library
309	$(COMMAND_ECHO)nm -gP $(SHL2OBJS) \
310		`$(TYPE) /dev/null $(foreach,j,$(SHL2LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
311		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
312# overwrite the map file generate into the local output tree with the generated
313# exported symbols list
314	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
315.ENDIF # .IF "$(COM)"=="GCC"
316
317.ENDIF			# "$(GUI)"=="WNT"
318
319.IF "$(GUI)"=="OS2"
320DEF2EXPORTFILE=$(MISC)/$(SHL2VERSIONMAP:b)_$(SHL2TARGET).dxp
321$(DEF2EXPORTFILE) : $(SHL2VERSIONMAP)
322	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
323.ENDIF			# "$(GUI)"=="OS2"
324
325.ENDIF			# "$(DEF2EXPORTFILE)"==""
326.ENDIF			# "$(SHL2VERSIONMAP)"!=""
327
328.IF "$(GUI)"=="WNT"
329
330DEF2FILTER=$(SOLARENV)/inc/dummy.flt
331
332RMHACK2:=$(RM)
333
334.IF "$(DEF2CEXP)"!=""
335EXPORT_ALL_SWITCH=-A $(DEF2CEXP)
336.ENDIF
337
338.IF "$(link_always)"==""
339$(DEF2TARGETN) : \
340		$(DEF2DEPN) \
341		$(DEF2EXPORTFILE)
342.ELSE			# "$(link_always)"==""
343$(DEF2TARGETN) .PHONY :
344.ENDIF			# "$(link_always)"==""
345	@-$(RM) $@.tmpfile
346	@echo "Making:    module definition file" $(@:f)
347	@echo LIBRARY	  $(EMQ)"$(SHL2TARGETN:f)$(EMQ)" 								 >$@.tmpfile
348.IF "$(COM)"!="GCC"
349	@echo HEAPSIZE	  0 											>>$@.tmpfile
350.ENDIF
351	@echo EXPORTS													>>$@.tmpfile
352.IF "$(VERSIONOBJ)"!=""
353#	getversioninfo fuer alle!!
354	@echo GetVersionInfo		>>$@.tmpfile
355.ENDIF
356.IF "$(DEFLIB2NAME)"!=""
357.IF "$(COM)"=="GCC"
358	@-$(RM) $(MISC)/$(SHL2TARGET).exp
359	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL2TARGET).exp --export-all-symbols \
360		`$(TYPE) $(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
361	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL2TARGET).exp | sed '/^;/d' >>$@.tmpfile
362	@-$(RM) $(MISC)/$(SHL2TARGET).exp
363.ELSE
364.IF "$(SHL2USE_EXPORTS)"==""
365	@-$(RMHACK2) $(MISC)/$(SHL2TARGET).exp
366	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL2TARGET).exp $(SLB)/$(DEFLIB2NAME).lib
367	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL2TARGET).flt $(MISC)/$(SHL2TARGET).exp			   >>$@.tmpfile
368	$(COMMAND_ECHO)$(RMHACK2) $(MISC)/$(SHL2TARGET).exp
369.ELSE			# "$(SHL2USE_EXPORTS)"==""
370	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL2TARGET).direct
371	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF2FILTER) $(MISC)/$(SHL2TARGET).direct >>$@.tmpfile
372.ENDIF			# "$(SHL2USE_EXPORTS)"==""
373.ENDIF
374.ENDIF				# "$(DEFLIB2NAME)"!=""
375.IF "$(DEF2EXPORT1)"!=""
376	@echo $(DEF2EXPORT1)										>>$@.tmpfile
377.ENDIF
378.IF "$(DEF2EXPORT2)"!=""
379	@echo $(DEF2EXPORT2)										>>$@.tmpfile
380.ENDIF
381.IF "$(DEF2EXPORT3)"!=""
382	@echo $(DEF2EXPORT3)										>>$@.tmpfile
383.ENDIF
384.IF "$(DEF2EXPORT4)"!=""
385	@echo $(DEF2EXPORT4)										>>$@.tmpfile
386.ENDIF
387.IF "$(DEF2EXPORT5)"!=""
388	@echo $(DEF2EXPORT5)										>>$@.tmpfile
389.ENDIF
390.IF "$(DEF2EXPORT6)"!=""
391	@echo $(DEF2EXPORT6)										>>$@.tmpfile
392.ENDIF
393.IF "$(DEF2EXPORT7)"!=""
394	@echo $(DEF2EXPORT7)										>>$@.tmpfile
395.ENDIF
396.IF "$(DEF2EXPORT8)"!=""
397	@echo $(DEF2EXPORT8)										>>$@.tmpfile
398.ENDIF
399.IF "$(DEF2EXPORT9)"!=""
400	@echo $(DEF2EXPORT9)										>>$@.tmpfile
401.ENDIF
402.IF "$(DEF2EXPORT10)"!=""
403	@echo $(DEF2EXPORT10)										>>$@.tmpfile
404.ENDIF
405.IF "$(DEF2EXPORT11)"!=""
406	@echo $(DEF2EXPORT11)										>>$@.tmpfile
407.ENDIF
408.IF "$(DEF2EXPORT12)"!=""
409	@echo $(DEF2EXPORT12)										>>$@.tmpfile
410.ENDIF
411.IF "$(DEF2EXPORT13)"!=""
412	@echo $(DEF2EXPORT13)										>>$@.tmpfile
413.ENDIF
414.IF "$(DEF2EXPORT14)"!=""
415	@echo $(DEF2EXPORT14)										>>$@.tmpfile
416.ENDIF
417.IF "$(DEF2EXPORT15)"!=""
418	@echo $(DEF2EXPORT15)										>>$@.tmpfile
419.ENDIF
420.IF "$(DEF2EXPORT16)"!=""
421	@echo $(DEF2EXPORT16)										>>$@.tmpfile
422.ENDIF
423.IF "$(DEF2EXPORT17)"!=""
424	@echo $(DEF2EXPORT17)										>>$@.tmpfile
425.ENDIF
426.IF "$(DEF2EXPORT18)"!=""
427	@echo $(DEF2EXPORT18)										>>$@.tmpfile
428.ENDIF
429.IF "$(DEF2EXPORT19)"!=""
430	@echo $(DEF2EXPORT19)										>>$@.tmpfile
431.ENDIF
432.IF "$(DEF2EXPORT20)"!=""
433	@echo $(DEF2EXPORT20)										>>$@.tmpfile
434.ENDIF
435.IF "$(DEF2EXPORTFILE)"!=""
436.IF "$(COM)"=="GCC"
437	$(COMMAND_ECHO)$(TYPE) $(DEF2EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
438.ELSE
439	$(COMMAND_ECHO)$(TYPE) $(DEF2EXPORTFILE) >> $@.tmpfile
440.ENDIF
441.ENDIF
442	@-$(RM) $@
443	@$(RENAME) $@.tmpfile $@
444.ENDIF			# "$(GUI)"=="WNT"
445
446.IF "$(GUI)"=="OS2"
447
448#21/02/2006 YD dll names must be 8.3, invoke fix script
449#check osl/os2/module.c/osl_loadModule()
450SHL2TARGET8=$(shell @fix_shl.cmd $(SHL2TARGETN:f))
451
452DEF2FILTER=$(SOLARENV)/inc/dummy.flt
453DEF2NAMELIST=$(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib)
454
455.IF "$(link_always)"==""
456$(DEF2TARGETN) : \
457		$(DEF2DEPN) \
458		$(DEF2EXPORTFILE)
459.ELSE			# "$(link_always)"==""
460$(DEF2TARGETN) .PHONY :
461.ENDIF			# "$(link_always)"==""
462	@+-$(RM) $@.tmpfile
463	@echo "Making:    module definition file" $(@:f)
464	@echo LIBRARY	  $(SHL2TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
465	@echo DATA MULTIPLE	 >>$@.tmpfile
466	@echo EXPORTS													>>$@.tmpfile
467.IF "$(VERSIONOBJ)"!=""
468#	getversioninfo fuer alle!!
469	@echo _GetVersionInfo		>$@.tmp_ord
470.ENDIF
471
472.IF "$(DEFLIB2NAME)"!=""
473	@+echo $(SLB)/$(DEFLIB2NAME).lib
474	@+emxexpr $(DEF2NAMELIST) | fix_exp_file >> $@.tmp_ord
475.ENDIF				# "$(DEFLIB2NAME)"!=""
476
477.IF "$(DEF2EXPORT1)"!=""
478	@echo $(DEF2EXPORT1)										>>$@.tmpfile
479.ENDIF
480.IF "$(DEF2EXPORT2)"!=""
481	@echo $(DEF2EXPORT2)										>>$@.tmpfile
482.ENDIF
483.IF "$(DEF2EXPORT3)"!=""
484	@echo $(DEF2EXPORT3)										>>$@.tmpfile
485.ENDIF
486.IF "$(DEF2EXPORT4)"!=""
487	@echo $(DEF2EXPORT4)										>>$@.tmpfile
488.ENDIF
489.IF "$(DEF2EXPORT5)"!=""
490	@echo $(DEF2EXPORT5)										>>$@.tmpfile
491.ENDIF
492.IF "$(DEF2EXPORT6)"!=""
493	@echo $(DEF2EXPORT6)										>>$@.tmpfile
494.ENDIF
495.IF "$(DEF2EXPORT7)"!=""
496	@echo $(DEF2EXPORT7)										>>$@.tmpfile
497.ENDIF
498.IF "$(DEF2EXPORT8)"!=""
499	@echo $(DEF2EXPORT8)										>>$@.tmpfile
500.ENDIF
501.IF "$(DEF2EXPORT9)"!=""
502	@echo $(DEF2EXPORT9)										>>$@.tmpfile
503.ENDIF
504.IF "$(DEF2EXPORT10)"!=""
505	@echo $(DEF2EXPORT10)										>>$@.tmpfile
506.ENDIF
507.IF "$(DEF2EXPORT11)"!=""
508	@echo $(DEF2EXPORT11)										>>$@.tmpfile
509.ENDIF
510.IF "$(DEF2EXPORT12)"!=""
511	@echo $(DEF2EXPORT12)										>>$@.tmpfile
512.ENDIF
513.IF "$(DEF2EXPORT13)"!=""
514	@echo $(DEF2EXPORT13)										>>$@.tmpfile
515.ENDIF
516.IF "$(DEF2EXPORT14)"!=""
517	@echo $(DEF2EXPORT14)										>>$@.tmpfile
518.ENDIF
519.IF "$(DEF2EXPORT15)"!=""
520	@echo $(DEF2EXPORT15)										>>$@.tmpfile
521.ENDIF
522.IF "$(DEF2EXPORT16)"!=""
523	@echo $(DEF2EXPORT16)										>>$@.tmpfile
524.ENDIF
525.IF "$(DEF2EXPORT17)"!=""
526	@echo $(DEF2EXPORT17)										>>$@.tmpfile
527.ENDIF
528.IF "$(DEF2EXPORT18)"!=""
529	@echo $(DEF2EXPORT18)										>>$@.tmpfile
530.ENDIF
531.IF "$(DEF2EXPORT19)"!=""
532	@echo $(DEF2EXPORT19)										>>$@.tmpfile
533.ENDIF
534.IF "$(DEF2EXPORT20)"!=""
535	@echo $(DEF2EXPORT20)										>>$@.tmpfile
536.ENDIF
537.IF "$(DEF2EXPORTFILE)"!=""
538	@fix_def_file < $(DEF2EXPORTFILE) >> $@.tmp_ord
539.ENDIF
540	@sort < $@.tmp_ord | uniq > $@.exptmpfile
541	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
542	@+-$(RM) $@
543	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
544	@+-$(RM) $@.tmp_ord
545	@+-$(RM) $@.exptmpfile
546	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL2IMPLIBN:s/.lib/.a/) $@
547	$(COMMAND_ECHO)+emxomf -o $(SHL2IMPLIBN) $(SHL2IMPLIBN:s/.lib/.a/)
548
549.ENDIF			# "$(GUI)"=="OS2"
550
551.IF "$(GUI)"=="UNX"
552$(DEF2TARGETN): \
553		$(DEF2DEPN) \
554		$(DEF2EXPORTFILE)
555	@echo just a dummy for UNIX > $@
556.ENDIF
557.ENDIF			# "$(DEF2TARGETN)"!=""
558
559
560# Anweisungen fuer das Linken
561# unroll begin
562
563.IF "$(DEF3TARGETN)"!=""
564
565#to make intuitiv naming work
566.IF "$(DEF3LIBNAME)"!=""
567DEFLIB3NAME*=$(DEF3LIBNAME)
568.ENDIF			# "$(DEF3LIBNAME)"!=""
569
570.IF "$(DEFLIB3NAME)"!=""
571DEF3DEPN+=$(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib)
572.ENDIF
573
574.IF "$(SHL3VERSIONMAP)"!=""
575.IF "$(DEF3EXPORTFILE)"==""
576.IF "$(GUI)"=="WNT"
577DEF3EXPORTFILE=$(MISC)/$(SHL3VERSIONMAP:b)_$(SHL3TARGET).dxp
578.IF "$(COM)"=="GCC"
579$(DEF3EXPORTFILE) : $(SHL3OBJS) $(SHL3LIBS)
580.ENDIF # .IF "$(COM)"=="GCC"
581
582$(DEF3EXPORTFILE) : $(SHL3VERSIONMAP)
583	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
584.IF "$(COM)"=="GCC"
585	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
586	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
587# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
588# Extract RTTI symbols from all the objects that will be used to build a shared library
589	$(COMMAND_ECHO)nm -gP $(SHL3OBJS) \
590		`$(TYPE) /dev/null $(foreach,j,$(SHL3LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
591		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
592# overwrite the map file generate into the local output tree with the generated
593# exported symbols list
594	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
595.ENDIF # .IF "$(COM)"=="GCC"
596
597.ENDIF			# "$(GUI)"=="WNT"
598
599.IF "$(GUI)"=="OS2"
600DEF3EXPORTFILE=$(MISC)/$(SHL3VERSIONMAP:b)_$(SHL3TARGET).dxp
601$(DEF3EXPORTFILE) : $(SHL3VERSIONMAP)
602	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
603.ENDIF			# "$(GUI)"=="OS2"
604
605.ENDIF			# "$(DEF3EXPORTFILE)"==""
606.ENDIF			# "$(SHL3VERSIONMAP)"!=""
607
608.IF "$(GUI)"=="WNT"
609
610DEF3FILTER=$(SOLARENV)/inc/dummy.flt
611
612RMHACK3:=$(RM)
613
614.IF "$(DEF3CEXP)"!=""
615EXPORT_ALL_SWITCH=-A $(DEF3CEXP)
616.ENDIF
617
618.IF "$(link_always)"==""
619$(DEF3TARGETN) : \
620		$(DEF3DEPN) \
621		$(DEF3EXPORTFILE)
622.ELSE			# "$(link_always)"==""
623$(DEF3TARGETN) .PHONY :
624.ENDIF			# "$(link_always)"==""
625	@-$(RM) $@.tmpfile
626	@echo "Making:    module definition file" $(@:f)
627	@echo LIBRARY	  $(EMQ)"$(SHL3TARGETN:f)$(EMQ)" 								 >$@.tmpfile
628.IF "$(COM)"!="GCC"
629	@echo HEAPSIZE	  0 											>>$@.tmpfile
630.ENDIF
631	@echo EXPORTS													>>$@.tmpfile
632.IF "$(VERSIONOBJ)"!=""
633#	getversioninfo fuer alle!!
634	@echo GetVersionInfo		>>$@.tmpfile
635.ENDIF
636.IF "$(DEFLIB3NAME)"!=""
637.IF "$(COM)"=="GCC"
638	@-$(RM) $(MISC)/$(SHL3TARGET).exp
639	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL3TARGET).exp --export-all-symbols \
640		`$(TYPE) $(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
641	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL3TARGET).exp | sed '/^;/d' >>$@.tmpfile
642	@-$(RM) $(MISC)/$(SHL3TARGET).exp
643.ELSE
644.IF "$(SHL3USE_EXPORTS)"==""
645	@-$(RMHACK3) $(MISC)/$(SHL3TARGET).exp
646	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL3TARGET).exp $(SLB)/$(DEFLIB3NAME).lib
647	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL3TARGET).flt $(MISC)/$(SHL3TARGET).exp			   >>$@.tmpfile
648	$(COMMAND_ECHO)$(RMHACK3) $(MISC)/$(SHL3TARGET).exp
649.ELSE			# "$(SHL3USE_EXPORTS)"==""
650	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL3TARGET).direct
651	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF3FILTER) $(MISC)/$(SHL3TARGET).direct >>$@.tmpfile
652.ENDIF			# "$(SHL3USE_EXPORTS)"==""
653.ENDIF
654.ENDIF				# "$(DEFLIB3NAME)"!=""
655.IF "$(DEF3EXPORT1)"!=""
656	@echo $(DEF3EXPORT1)										>>$@.tmpfile
657.ENDIF
658.IF "$(DEF3EXPORT2)"!=""
659	@echo $(DEF3EXPORT2)										>>$@.tmpfile
660.ENDIF
661.IF "$(DEF3EXPORT3)"!=""
662	@echo $(DEF3EXPORT3)										>>$@.tmpfile
663.ENDIF
664.IF "$(DEF3EXPORT4)"!=""
665	@echo $(DEF3EXPORT4)										>>$@.tmpfile
666.ENDIF
667.IF "$(DEF3EXPORT5)"!=""
668	@echo $(DEF3EXPORT5)										>>$@.tmpfile
669.ENDIF
670.IF "$(DEF3EXPORT6)"!=""
671	@echo $(DEF3EXPORT6)										>>$@.tmpfile
672.ENDIF
673.IF "$(DEF3EXPORT7)"!=""
674	@echo $(DEF3EXPORT7)										>>$@.tmpfile
675.ENDIF
676.IF "$(DEF3EXPORT8)"!=""
677	@echo $(DEF3EXPORT8)										>>$@.tmpfile
678.ENDIF
679.IF "$(DEF3EXPORT9)"!=""
680	@echo $(DEF3EXPORT9)										>>$@.tmpfile
681.ENDIF
682.IF "$(DEF3EXPORT10)"!=""
683	@echo $(DEF3EXPORT10)										>>$@.tmpfile
684.ENDIF
685.IF "$(DEF3EXPORT11)"!=""
686	@echo $(DEF3EXPORT11)										>>$@.tmpfile
687.ENDIF
688.IF "$(DEF3EXPORT12)"!=""
689	@echo $(DEF3EXPORT12)										>>$@.tmpfile
690.ENDIF
691.IF "$(DEF3EXPORT13)"!=""
692	@echo $(DEF3EXPORT13)										>>$@.tmpfile
693.ENDIF
694.IF "$(DEF3EXPORT14)"!=""
695	@echo $(DEF3EXPORT14)										>>$@.tmpfile
696.ENDIF
697.IF "$(DEF3EXPORT15)"!=""
698	@echo $(DEF3EXPORT15)										>>$@.tmpfile
699.ENDIF
700.IF "$(DEF3EXPORT16)"!=""
701	@echo $(DEF3EXPORT16)										>>$@.tmpfile
702.ENDIF
703.IF "$(DEF3EXPORT17)"!=""
704	@echo $(DEF3EXPORT17)										>>$@.tmpfile
705.ENDIF
706.IF "$(DEF3EXPORT18)"!=""
707	@echo $(DEF3EXPORT18)										>>$@.tmpfile
708.ENDIF
709.IF "$(DEF3EXPORT19)"!=""
710	@echo $(DEF3EXPORT19)										>>$@.tmpfile
711.ENDIF
712.IF "$(DEF3EXPORT20)"!=""
713	@echo $(DEF3EXPORT20)										>>$@.tmpfile
714.ENDIF
715.IF "$(DEF3EXPORTFILE)"!=""
716.IF "$(COM)"=="GCC"
717	$(COMMAND_ECHO)$(TYPE) $(DEF3EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
718.ELSE
719	$(COMMAND_ECHO)$(TYPE) $(DEF3EXPORTFILE) >> $@.tmpfile
720.ENDIF
721.ENDIF
722	@-$(RM) $@
723	@$(RENAME) $@.tmpfile $@
724.ENDIF			# "$(GUI)"=="WNT"
725
726.IF "$(GUI)"=="OS2"
727
728#21/02/2006 YD dll names must be 8.3, invoke fix script
729#check osl/os2/module.c/osl_loadModule()
730SHL3TARGET8=$(shell @fix_shl.cmd $(SHL3TARGETN:f))
731
732DEF3FILTER=$(SOLARENV)/inc/dummy.flt
733DEF3NAMELIST=$(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib)
734
735.IF "$(link_always)"==""
736$(DEF3TARGETN) : \
737		$(DEF3DEPN) \
738		$(DEF3EXPORTFILE)
739.ELSE			# "$(link_always)"==""
740$(DEF3TARGETN) .PHONY :
741.ENDIF			# "$(link_always)"==""
742	@+-$(RM) $@.tmpfile
743	@echo "Making:    module definition file" $(@:f)
744	@echo LIBRARY	  $(SHL3TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
745	@echo DATA MULTIPLE	 >>$@.tmpfile
746	@echo EXPORTS													>>$@.tmpfile
747.IF "$(VERSIONOBJ)"!=""
748#	getversioninfo fuer alle!!
749	@echo _GetVersionInfo		>$@.tmp_ord
750.ENDIF
751
752.IF "$(DEFLIB3NAME)"!=""
753	@+echo $(SLB)/$(DEFLIB3NAME).lib
754	@+emxexpr $(DEF3NAMELIST) | fix_exp_file >> $@.tmp_ord
755.ENDIF				# "$(DEFLIB3NAME)"!=""
756
757.IF "$(DEF3EXPORT1)"!=""
758	@echo $(DEF3EXPORT1)										>>$@.tmpfile
759.ENDIF
760.IF "$(DEF3EXPORT2)"!=""
761	@echo $(DEF3EXPORT2)										>>$@.tmpfile
762.ENDIF
763.IF "$(DEF3EXPORT3)"!=""
764	@echo $(DEF3EXPORT3)										>>$@.tmpfile
765.ENDIF
766.IF "$(DEF3EXPORT4)"!=""
767	@echo $(DEF3EXPORT4)										>>$@.tmpfile
768.ENDIF
769.IF "$(DEF3EXPORT5)"!=""
770	@echo $(DEF3EXPORT5)										>>$@.tmpfile
771.ENDIF
772.IF "$(DEF3EXPORT6)"!=""
773	@echo $(DEF3EXPORT6)										>>$@.tmpfile
774.ENDIF
775.IF "$(DEF3EXPORT7)"!=""
776	@echo $(DEF3EXPORT7)										>>$@.tmpfile
777.ENDIF
778.IF "$(DEF3EXPORT8)"!=""
779	@echo $(DEF3EXPORT8)										>>$@.tmpfile
780.ENDIF
781.IF "$(DEF3EXPORT9)"!=""
782	@echo $(DEF3EXPORT9)										>>$@.tmpfile
783.ENDIF
784.IF "$(DEF3EXPORT10)"!=""
785	@echo $(DEF3EXPORT10)										>>$@.tmpfile
786.ENDIF
787.IF "$(DEF3EXPORT11)"!=""
788	@echo $(DEF3EXPORT11)										>>$@.tmpfile
789.ENDIF
790.IF "$(DEF3EXPORT12)"!=""
791	@echo $(DEF3EXPORT12)										>>$@.tmpfile
792.ENDIF
793.IF "$(DEF3EXPORT13)"!=""
794	@echo $(DEF3EXPORT13)										>>$@.tmpfile
795.ENDIF
796.IF "$(DEF3EXPORT14)"!=""
797	@echo $(DEF3EXPORT14)										>>$@.tmpfile
798.ENDIF
799.IF "$(DEF3EXPORT15)"!=""
800	@echo $(DEF3EXPORT15)										>>$@.tmpfile
801.ENDIF
802.IF "$(DEF3EXPORT16)"!=""
803	@echo $(DEF3EXPORT16)										>>$@.tmpfile
804.ENDIF
805.IF "$(DEF3EXPORT17)"!=""
806	@echo $(DEF3EXPORT17)										>>$@.tmpfile
807.ENDIF
808.IF "$(DEF3EXPORT18)"!=""
809	@echo $(DEF3EXPORT18)										>>$@.tmpfile
810.ENDIF
811.IF "$(DEF3EXPORT19)"!=""
812	@echo $(DEF3EXPORT19)										>>$@.tmpfile
813.ENDIF
814.IF "$(DEF3EXPORT20)"!=""
815	@echo $(DEF3EXPORT20)										>>$@.tmpfile
816.ENDIF
817.IF "$(DEF3EXPORTFILE)"!=""
818	@fix_def_file < $(DEF3EXPORTFILE) >> $@.tmp_ord
819.ENDIF
820	@sort < $@.tmp_ord | uniq > $@.exptmpfile
821	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
822	@+-$(RM) $@
823	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
824	@+-$(RM) $@.tmp_ord
825	@+-$(RM) $@.exptmpfile
826	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL3IMPLIBN:s/.lib/.a/) $@
827	$(COMMAND_ECHO)+emxomf -o $(SHL3IMPLIBN) $(SHL3IMPLIBN:s/.lib/.a/)
828
829.ENDIF			# "$(GUI)"=="OS2"
830
831.IF "$(GUI)"=="UNX"
832$(DEF3TARGETN): \
833		$(DEF3DEPN) \
834		$(DEF3EXPORTFILE)
835	@echo just a dummy for UNIX > $@
836.ENDIF
837.ENDIF			# "$(DEF3TARGETN)"!=""
838
839
840# Anweisungen fuer das Linken
841# unroll begin
842
843.IF "$(DEF4TARGETN)"!=""
844
845#to make intuitiv naming work
846.IF "$(DEF4LIBNAME)"!=""
847DEFLIB4NAME*=$(DEF4LIBNAME)
848.ENDIF			# "$(DEF4LIBNAME)"!=""
849
850.IF "$(DEFLIB4NAME)"!=""
851DEF4DEPN+=$(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib)
852.ENDIF
853
854.IF "$(SHL4VERSIONMAP)"!=""
855.IF "$(DEF4EXPORTFILE)"==""
856.IF "$(GUI)"=="WNT"
857DEF4EXPORTFILE=$(MISC)/$(SHL4VERSIONMAP:b)_$(SHL4TARGET).dxp
858.IF "$(COM)"=="GCC"
859$(DEF4EXPORTFILE) : $(SHL4OBJS) $(SHL4LIBS)
860.ENDIF # .IF "$(COM)"=="GCC"
861
862$(DEF4EXPORTFILE) : $(SHL4VERSIONMAP)
863	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
864.IF "$(COM)"=="GCC"
865	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
866	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
867# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
868# Extract RTTI symbols from all the objects that will be used to build a shared library
869	$(COMMAND_ECHO)nm -gP $(SHL4OBJS) \
870		`$(TYPE) /dev/null $(foreach,j,$(SHL4LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
871		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
872# overwrite the map file generate into the local output tree with the generated
873# exported symbols list
874	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
875.ENDIF # .IF "$(COM)"=="GCC"
876
877.ENDIF			# "$(GUI)"=="WNT"
878
879.IF "$(GUI)"=="OS2"
880DEF4EXPORTFILE=$(MISC)/$(SHL4VERSIONMAP:b)_$(SHL4TARGET).dxp
881$(DEF4EXPORTFILE) : $(SHL4VERSIONMAP)
882	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
883.ENDIF			# "$(GUI)"=="OS2"
884
885.ENDIF			# "$(DEF4EXPORTFILE)"==""
886.ENDIF			# "$(SHL4VERSIONMAP)"!=""
887
888.IF "$(GUI)"=="WNT"
889
890DEF4FILTER=$(SOLARENV)/inc/dummy.flt
891
892RMHACK4:=$(RM)
893
894.IF "$(DEF4CEXP)"!=""
895EXPORT_ALL_SWITCH=-A $(DEF4CEXP)
896.ENDIF
897
898.IF "$(link_always)"==""
899$(DEF4TARGETN) : \
900		$(DEF4DEPN) \
901		$(DEF4EXPORTFILE)
902.ELSE			# "$(link_always)"==""
903$(DEF4TARGETN) .PHONY :
904.ENDIF			# "$(link_always)"==""
905	@-$(RM) $@.tmpfile
906	@echo "Making:    module definition file" $(@:f)
907	@echo LIBRARY	  $(EMQ)"$(SHL4TARGETN:f)$(EMQ)" 								 >$@.tmpfile
908.IF "$(COM)"!="GCC"
909	@echo HEAPSIZE	  0 											>>$@.tmpfile
910.ENDIF
911	@echo EXPORTS													>>$@.tmpfile
912.IF "$(VERSIONOBJ)"!=""
913#	getversioninfo fuer alle!!
914	@echo GetVersionInfo		>>$@.tmpfile
915.ENDIF
916.IF "$(DEFLIB4NAME)"!=""
917.IF "$(COM)"=="GCC"
918	@-$(RM) $(MISC)/$(SHL4TARGET).exp
919	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL4TARGET).exp --export-all-symbols \
920		`$(TYPE) $(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
921	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL4TARGET).exp | sed '/^;/d' >>$@.tmpfile
922	@-$(RM) $(MISC)/$(SHL4TARGET).exp
923.ELSE
924.IF "$(SHL4USE_EXPORTS)"==""
925	@-$(RMHACK4) $(MISC)/$(SHL4TARGET).exp
926	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL4TARGET).exp $(SLB)/$(DEFLIB4NAME).lib
927	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL4TARGET).flt $(MISC)/$(SHL4TARGET).exp			   >>$@.tmpfile
928	$(COMMAND_ECHO)$(RMHACK4) $(MISC)/$(SHL4TARGET).exp
929.ELSE			# "$(SHL4USE_EXPORTS)"==""
930	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL4TARGET).direct
931	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF4FILTER) $(MISC)/$(SHL4TARGET).direct >>$@.tmpfile
932.ENDIF			# "$(SHL4USE_EXPORTS)"==""
933.ENDIF
934.ENDIF				# "$(DEFLIB4NAME)"!=""
935.IF "$(DEF4EXPORT1)"!=""
936	@echo $(DEF4EXPORT1)										>>$@.tmpfile
937.ENDIF
938.IF "$(DEF4EXPORT2)"!=""
939	@echo $(DEF4EXPORT2)										>>$@.tmpfile
940.ENDIF
941.IF "$(DEF4EXPORT3)"!=""
942	@echo $(DEF4EXPORT3)										>>$@.tmpfile
943.ENDIF
944.IF "$(DEF4EXPORT4)"!=""
945	@echo $(DEF4EXPORT4)										>>$@.tmpfile
946.ENDIF
947.IF "$(DEF4EXPORT5)"!=""
948	@echo $(DEF4EXPORT5)										>>$@.tmpfile
949.ENDIF
950.IF "$(DEF4EXPORT6)"!=""
951	@echo $(DEF4EXPORT6)										>>$@.tmpfile
952.ENDIF
953.IF "$(DEF4EXPORT7)"!=""
954	@echo $(DEF4EXPORT7)										>>$@.tmpfile
955.ENDIF
956.IF "$(DEF4EXPORT8)"!=""
957	@echo $(DEF4EXPORT8)										>>$@.tmpfile
958.ENDIF
959.IF "$(DEF4EXPORT9)"!=""
960	@echo $(DEF4EXPORT9)										>>$@.tmpfile
961.ENDIF
962.IF "$(DEF4EXPORT10)"!=""
963	@echo $(DEF4EXPORT10)										>>$@.tmpfile
964.ENDIF
965.IF "$(DEF4EXPORT11)"!=""
966	@echo $(DEF4EXPORT11)										>>$@.tmpfile
967.ENDIF
968.IF "$(DEF4EXPORT12)"!=""
969	@echo $(DEF4EXPORT12)										>>$@.tmpfile
970.ENDIF
971.IF "$(DEF4EXPORT13)"!=""
972	@echo $(DEF4EXPORT13)										>>$@.tmpfile
973.ENDIF
974.IF "$(DEF4EXPORT14)"!=""
975	@echo $(DEF4EXPORT14)										>>$@.tmpfile
976.ENDIF
977.IF "$(DEF4EXPORT15)"!=""
978	@echo $(DEF4EXPORT15)										>>$@.tmpfile
979.ENDIF
980.IF "$(DEF4EXPORT16)"!=""
981	@echo $(DEF4EXPORT16)										>>$@.tmpfile
982.ENDIF
983.IF "$(DEF4EXPORT17)"!=""
984	@echo $(DEF4EXPORT17)										>>$@.tmpfile
985.ENDIF
986.IF "$(DEF4EXPORT18)"!=""
987	@echo $(DEF4EXPORT18)										>>$@.tmpfile
988.ENDIF
989.IF "$(DEF4EXPORT19)"!=""
990	@echo $(DEF4EXPORT19)										>>$@.tmpfile
991.ENDIF
992.IF "$(DEF4EXPORT20)"!=""
993	@echo $(DEF4EXPORT20)										>>$@.tmpfile
994.ENDIF
995.IF "$(DEF4EXPORTFILE)"!=""
996.IF "$(COM)"=="GCC"
997	$(COMMAND_ECHO)$(TYPE) $(DEF4EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
998.ELSE
999	$(COMMAND_ECHO)$(TYPE) $(DEF4EXPORTFILE) >> $@.tmpfile
1000.ENDIF
1001.ENDIF
1002	@-$(RM) $@
1003	@$(RENAME) $@.tmpfile $@
1004.ENDIF			# "$(GUI)"=="WNT"
1005
1006.IF "$(GUI)"=="OS2"
1007
1008#21/02/2006 YD dll names must be 8.3, invoke fix script
1009#check osl/os2/module.c/osl_loadModule()
1010SHL4TARGET8=$(shell @fix_shl.cmd $(SHL4TARGETN:f))
1011
1012DEF4FILTER=$(SOLARENV)/inc/dummy.flt
1013DEF4NAMELIST=$(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib)
1014
1015.IF "$(link_always)"==""
1016$(DEF4TARGETN) : \
1017		$(DEF4DEPN) \
1018		$(DEF4EXPORTFILE)
1019.ELSE			# "$(link_always)"==""
1020$(DEF4TARGETN) .PHONY :
1021.ENDIF			# "$(link_always)"==""
1022	@+-$(RM) $@.tmpfile
1023	@echo "Making:    module definition file" $(@:f)
1024	@echo LIBRARY	  $(SHL4TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
1025	@echo DATA MULTIPLE	 >>$@.tmpfile
1026	@echo EXPORTS													>>$@.tmpfile
1027.IF "$(VERSIONOBJ)"!=""
1028#	getversioninfo fuer alle!!
1029	@echo _GetVersionInfo		>$@.tmp_ord
1030.ENDIF
1031
1032.IF "$(DEFLIB4NAME)"!=""
1033	@+echo $(SLB)/$(DEFLIB4NAME).lib
1034	@+emxexpr $(DEF4NAMELIST) | fix_exp_file >> $@.tmp_ord
1035.ENDIF				# "$(DEFLIB4NAME)"!=""
1036
1037.IF "$(DEF4EXPORT1)"!=""
1038	@echo $(DEF4EXPORT1)										>>$@.tmpfile
1039.ENDIF
1040.IF "$(DEF4EXPORT2)"!=""
1041	@echo $(DEF4EXPORT2)										>>$@.tmpfile
1042.ENDIF
1043.IF "$(DEF4EXPORT3)"!=""
1044	@echo $(DEF4EXPORT3)										>>$@.tmpfile
1045.ENDIF
1046.IF "$(DEF4EXPORT4)"!=""
1047	@echo $(DEF4EXPORT4)										>>$@.tmpfile
1048.ENDIF
1049.IF "$(DEF4EXPORT5)"!=""
1050	@echo $(DEF4EXPORT5)										>>$@.tmpfile
1051.ENDIF
1052.IF "$(DEF4EXPORT6)"!=""
1053	@echo $(DEF4EXPORT6)										>>$@.tmpfile
1054.ENDIF
1055.IF "$(DEF4EXPORT7)"!=""
1056	@echo $(DEF4EXPORT7)										>>$@.tmpfile
1057.ENDIF
1058.IF "$(DEF4EXPORT8)"!=""
1059	@echo $(DEF4EXPORT8)										>>$@.tmpfile
1060.ENDIF
1061.IF "$(DEF4EXPORT9)"!=""
1062	@echo $(DEF4EXPORT9)										>>$@.tmpfile
1063.ENDIF
1064.IF "$(DEF4EXPORT10)"!=""
1065	@echo $(DEF4EXPORT10)										>>$@.tmpfile
1066.ENDIF
1067.IF "$(DEF4EXPORT11)"!=""
1068	@echo $(DEF4EXPORT11)										>>$@.tmpfile
1069.ENDIF
1070.IF "$(DEF4EXPORT12)"!=""
1071	@echo $(DEF4EXPORT12)										>>$@.tmpfile
1072.ENDIF
1073.IF "$(DEF4EXPORT13)"!=""
1074	@echo $(DEF4EXPORT13)										>>$@.tmpfile
1075.ENDIF
1076.IF "$(DEF4EXPORT14)"!=""
1077	@echo $(DEF4EXPORT14)										>>$@.tmpfile
1078.ENDIF
1079.IF "$(DEF4EXPORT15)"!=""
1080	@echo $(DEF4EXPORT15)										>>$@.tmpfile
1081.ENDIF
1082.IF "$(DEF4EXPORT16)"!=""
1083	@echo $(DEF4EXPORT16)										>>$@.tmpfile
1084.ENDIF
1085.IF "$(DEF4EXPORT17)"!=""
1086	@echo $(DEF4EXPORT17)										>>$@.tmpfile
1087.ENDIF
1088.IF "$(DEF4EXPORT18)"!=""
1089	@echo $(DEF4EXPORT18)										>>$@.tmpfile
1090.ENDIF
1091.IF "$(DEF4EXPORT19)"!=""
1092	@echo $(DEF4EXPORT19)										>>$@.tmpfile
1093.ENDIF
1094.IF "$(DEF4EXPORT20)"!=""
1095	@echo $(DEF4EXPORT20)										>>$@.tmpfile
1096.ENDIF
1097.IF "$(DEF4EXPORTFILE)"!=""
1098	@fix_def_file < $(DEF4EXPORTFILE) >> $@.tmp_ord
1099.ENDIF
1100	@sort < $@.tmp_ord | uniq > $@.exptmpfile
1101	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
1102	@+-$(RM) $@
1103	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
1104	@+-$(RM) $@.tmp_ord
1105	@+-$(RM) $@.exptmpfile
1106	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL4IMPLIBN:s/.lib/.a/) $@
1107	$(COMMAND_ECHO)+emxomf -o $(SHL4IMPLIBN) $(SHL4IMPLIBN:s/.lib/.a/)
1108
1109.ENDIF			# "$(GUI)"=="OS2"
1110
1111.IF "$(GUI)"=="UNX"
1112$(DEF4TARGETN): \
1113		$(DEF4DEPN) \
1114		$(DEF4EXPORTFILE)
1115	@echo just a dummy for UNIX > $@
1116.ENDIF
1117.ENDIF			# "$(DEF4TARGETN)"!=""
1118
1119
1120# Anweisungen fuer das Linken
1121# unroll begin
1122
1123.IF "$(DEF5TARGETN)"!=""
1124
1125#to make intuitiv naming work
1126.IF "$(DEF5LIBNAME)"!=""
1127DEFLIB5NAME*=$(DEF5LIBNAME)
1128.ENDIF			# "$(DEF5LIBNAME)"!=""
1129
1130.IF "$(DEFLIB5NAME)"!=""
1131DEF5DEPN+=$(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib)
1132.ENDIF
1133
1134.IF "$(SHL5VERSIONMAP)"!=""
1135.IF "$(DEF5EXPORTFILE)"==""
1136.IF "$(GUI)"=="WNT"
1137DEF5EXPORTFILE=$(MISC)/$(SHL5VERSIONMAP:b)_$(SHL5TARGET).dxp
1138.IF "$(COM)"=="GCC"
1139$(DEF5EXPORTFILE) : $(SHL5OBJS) $(SHL5LIBS)
1140.ENDIF # .IF "$(COM)"=="GCC"
1141
1142$(DEF5EXPORTFILE) : $(SHL5VERSIONMAP)
1143	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
1144.IF "$(COM)"=="GCC"
1145	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
1146	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
1147# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
1148# Extract RTTI symbols from all the objects that will be used to build a shared library
1149	$(COMMAND_ECHO)nm -gP $(SHL5OBJS) \
1150		`$(TYPE) /dev/null $(foreach,j,$(SHL5LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
1151		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
1152# overwrite the map file generate into the local output tree with the generated
1153# exported symbols list
1154	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
1155.ENDIF # .IF "$(COM)"=="GCC"
1156
1157.ENDIF			# "$(GUI)"=="WNT"
1158
1159.IF "$(GUI)"=="OS2"
1160DEF5EXPORTFILE=$(MISC)/$(SHL5VERSIONMAP:b)_$(SHL5TARGET).dxp
1161$(DEF5EXPORTFILE) : $(SHL5VERSIONMAP)
1162	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
1163.ENDIF			# "$(GUI)"=="OS2"
1164
1165.ENDIF			# "$(DEF5EXPORTFILE)"==""
1166.ENDIF			# "$(SHL5VERSIONMAP)"!=""
1167
1168.IF "$(GUI)"=="WNT"
1169
1170DEF5FILTER=$(SOLARENV)/inc/dummy.flt
1171
1172RMHACK5:=$(RM)
1173
1174.IF "$(DEF5CEXP)"!=""
1175EXPORT_ALL_SWITCH=-A $(DEF5CEXP)
1176.ENDIF
1177
1178.IF "$(link_always)"==""
1179$(DEF5TARGETN) : \
1180		$(DEF5DEPN) \
1181		$(DEF5EXPORTFILE)
1182.ELSE			# "$(link_always)"==""
1183$(DEF5TARGETN) .PHONY :
1184.ENDIF			# "$(link_always)"==""
1185	@-$(RM) $@.tmpfile
1186	@echo "Making:    module definition file" $(@:f)
1187	@echo LIBRARY	  $(EMQ)"$(SHL5TARGETN:f)$(EMQ)" 								 >$@.tmpfile
1188.IF "$(COM)"!="GCC"
1189	@echo HEAPSIZE	  0 											>>$@.tmpfile
1190.ENDIF
1191	@echo EXPORTS													>>$@.tmpfile
1192.IF "$(VERSIONOBJ)"!=""
1193#	getversioninfo fuer alle!!
1194	@echo GetVersionInfo		>>$@.tmpfile
1195.ENDIF
1196.IF "$(DEFLIB5NAME)"!=""
1197.IF "$(COM)"=="GCC"
1198	@-$(RM) $(MISC)/$(SHL5TARGET).exp
1199	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL5TARGET).exp --export-all-symbols \
1200		`$(TYPE) $(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
1201	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL5TARGET).exp | sed '/^;/d' >>$@.tmpfile
1202	@-$(RM) $(MISC)/$(SHL5TARGET).exp
1203.ELSE
1204.IF "$(SHL5USE_EXPORTS)"==""
1205	@-$(RMHACK5) $(MISC)/$(SHL5TARGET).exp
1206	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL5TARGET).exp $(SLB)/$(DEFLIB5NAME).lib
1207	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL5TARGET).flt $(MISC)/$(SHL5TARGET).exp			   >>$@.tmpfile
1208	$(COMMAND_ECHO)$(RMHACK5) $(MISC)/$(SHL5TARGET).exp
1209.ELSE			# "$(SHL5USE_EXPORTS)"==""
1210	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL5TARGET).direct
1211	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF5FILTER) $(MISC)/$(SHL5TARGET).direct >>$@.tmpfile
1212.ENDIF			# "$(SHL5USE_EXPORTS)"==""
1213.ENDIF
1214.ENDIF				# "$(DEFLIB5NAME)"!=""
1215.IF "$(DEF5EXPORT1)"!=""
1216	@echo $(DEF5EXPORT1)										>>$@.tmpfile
1217.ENDIF
1218.IF "$(DEF5EXPORT2)"!=""
1219	@echo $(DEF5EXPORT2)										>>$@.tmpfile
1220.ENDIF
1221.IF "$(DEF5EXPORT3)"!=""
1222	@echo $(DEF5EXPORT3)										>>$@.tmpfile
1223.ENDIF
1224.IF "$(DEF5EXPORT4)"!=""
1225	@echo $(DEF5EXPORT4)										>>$@.tmpfile
1226.ENDIF
1227.IF "$(DEF5EXPORT5)"!=""
1228	@echo $(DEF5EXPORT5)										>>$@.tmpfile
1229.ENDIF
1230.IF "$(DEF5EXPORT6)"!=""
1231	@echo $(DEF5EXPORT6)										>>$@.tmpfile
1232.ENDIF
1233.IF "$(DEF5EXPORT7)"!=""
1234	@echo $(DEF5EXPORT7)										>>$@.tmpfile
1235.ENDIF
1236.IF "$(DEF5EXPORT8)"!=""
1237	@echo $(DEF5EXPORT8)										>>$@.tmpfile
1238.ENDIF
1239.IF "$(DEF5EXPORT9)"!=""
1240	@echo $(DEF5EXPORT9)										>>$@.tmpfile
1241.ENDIF
1242.IF "$(DEF5EXPORT10)"!=""
1243	@echo $(DEF5EXPORT10)										>>$@.tmpfile
1244.ENDIF
1245.IF "$(DEF5EXPORT11)"!=""
1246	@echo $(DEF5EXPORT11)										>>$@.tmpfile
1247.ENDIF
1248.IF "$(DEF5EXPORT12)"!=""
1249	@echo $(DEF5EXPORT12)										>>$@.tmpfile
1250.ENDIF
1251.IF "$(DEF5EXPORT13)"!=""
1252	@echo $(DEF5EXPORT13)										>>$@.tmpfile
1253.ENDIF
1254.IF "$(DEF5EXPORT14)"!=""
1255	@echo $(DEF5EXPORT14)										>>$@.tmpfile
1256.ENDIF
1257.IF "$(DEF5EXPORT15)"!=""
1258	@echo $(DEF5EXPORT15)										>>$@.tmpfile
1259.ENDIF
1260.IF "$(DEF5EXPORT16)"!=""
1261	@echo $(DEF5EXPORT16)										>>$@.tmpfile
1262.ENDIF
1263.IF "$(DEF5EXPORT17)"!=""
1264	@echo $(DEF5EXPORT17)										>>$@.tmpfile
1265.ENDIF
1266.IF "$(DEF5EXPORT18)"!=""
1267	@echo $(DEF5EXPORT18)										>>$@.tmpfile
1268.ENDIF
1269.IF "$(DEF5EXPORT19)"!=""
1270	@echo $(DEF5EXPORT19)										>>$@.tmpfile
1271.ENDIF
1272.IF "$(DEF5EXPORT20)"!=""
1273	@echo $(DEF5EXPORT20)										>>$@.tmpfile
1274.ENDIF
1275.IF "$(DEF5EXPORTFILE)"!=""
1276.IF "$(COM)"=="GCC"
1277	$(COMMAND_ECHO)$(TYPE) $(DEF5EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
1278.ELSE
1279	$(COMMAND_ECHO)$(TYPE) $(DEF5EXPORTFILE) >> $@.tmpfile
1280.ENDIF
1281.ENDIF
1282	@-$(RM) $@
1283	@$(RENAME) $@.tmpfile $@
1284.ENDIF			# "$(GUI)"=="WNT"
1285
1286.IF "$(GUI)"=="OS2"
1287
1288#21/02/2006 YD dll names must be 8.3, invoke fix script
1289#check osl/os2/module.c/osl_loadModule()
1290SHL5TARGET8=$(shell @fix_shl.cmd $(SHL5TARGETN:f))
1291
1292DEF5FILTER=$(SOLARENV)/inc/dummy.flt
1293DEF5NAMELIST=$(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib)
1294
1295.IF "$(link_always)"==""
1296$(DEF5TARGETN) : \
1297		$(DEF5DEPN) \
1298		$(DEF5EXPORTFILE)
1299.ELSE			# "$(link_always)"==""
1300$(DEF5TARGETN) .PHONY :
1301.ENDIF			# "$(link_always)"==""
1302	@+-$(RM) $@.tmpfile
1303	@echo "Making:    module definition file" $(@:f)
1304	@echo LIBRARY	  $(SHL5TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
1305	@echo DATA MULTIPLE	 >>$@.tmpfile
1306	@echo EXPORTS													>>$@.tmpfile
1307.IF "$(VERSIONOBJ)"!=""
1308#	getversioninfo fuer alle!!
1309	@echo _GetVersionInfo		>$@.tmp_ord
1310.ENDIF
1311
1312.IF "$(DEFLIB5NAME)"!=""
1313	@+echo $(SLB)/$(DEFLIB5NAME).lib
1314	@+emxexpr $(DEF5NAMELIST) | fix_exp_file >> $@.tmp_ord
1315.ENDIF				# "$(DEFLIB5NAME)"!=""
1316
1317.IF "$(DEF5EXPORT1)"!=""
1318	@echo $(DEF5EXPORT1)										>>$@.tmpfile
1319.ENDIF
1320.IF "$(DEF5EXPORT2)"!=""
1321	@echo $(DEF5EXPORT2)										>>$@.tmpfile
1322.ENDIF
1323.IF "$(DEF5EXPORT3)"!=""
1324	@echo $(DEF5EXPORT3)										>>$@.tmpfile
1325.ENDIF
1326.IF "$(DEF5EXPORT4)"!=""
1327	@echo $(DEF5EXPORT4)										>>$@.tmpfile
1328.ENDIF
1329.IF "$(DEF5EXPORT5)"!=""
1330	@echo $(DEF5EXPORT5)										>>$@.tmpfile
1331.ENDIF
1332.IF "$(DEF5EXPORT6)"!=""
1333	@echo $(DEF5EXPORT6)										>>$@.tmpfile
1334.ENDIF
1335.IF "$(DEF5EXPORT7)"!=""
1336	@echo $(DEF5EXPORT7)										>>$@.tmpfile
1337.ENDIF
1338.IF "$(DEF5EXPORT8)"!=""
1339	@echo $(DEF5EXPORT8)										>>$@.tmpfile
1340.ENDIF
1341.IF "$(DEF5EXPORT9)"!=""
1342	@echo $(DEF5EXPORT9)										>>$@.tmpfile
1343.ENDIF
1344.IF "$(DEF5EXPORT10)"!=""
1345	@echo $(DEF5EXPORT10)										>>$@.tmpfile
1346.ENDIF
1347.IF "$(DEF5EXPORT11)"!=""
1348	@echo $(DEF5EXPORT11)										>>$@.tmpfile
1349.ENDIF
1350.IF "$(DEF5EXPORT12)"!=""
1351	@echo $(DEF5EXPORT12)										>>$@.tmpfile
1352.ENDIF
1353.IF "$(DEF5EXPORT13)"!=""
1354	@echo $(DEF5EXPORT13)										>>$@.tmpfile
1355.ENDIF
1356.IF "$(DEF5EXPORT14)"!=""
1357	@echo $(DEF5EXPORT14)										>>$@.tmpfile
1358.ENDIF
1359.IF "$(DEF5EXPORT15)"!=""
1360	@echo $(DEF5EXPORT15)										>>$@.tmpfile
1361.ENDIF
1362.IF "$(DEF5EXPORT16)"!=""
1363	@echo $(DEF5EXPORT16)										>>$@.tmpfile
1364.ENDIF
1365.IF "$(DEF5EXPORT17)"!=""
1366	@echo $(DEF5EXPORT17)										>>$@.tmpfile
1367.ENDIF
1368.IF "$(DEF5EXPORT18)"!=""
1369	@echo $(DEF5EXPORT18)										>>$@.tmpfile
1370.ENDIF
1371.IF "$(DEF5EXPORT19)"!=""
1372	@echo $(DEF5EXPORT19)										>>$@.tmpfile
1373.ENDIF
1374.IF "$(DEF5EXPORT20)"!=""
1375	@echo $(DEF5EXPORT20)										>>$@.tmpfile
1376.ENDIF
1377.IF "$(DEF5EXPORTFILE)"!=""
1378	@fix_def_file < $(DEF5EXPORTFILE) >> $@.tmp_ord
1379.ENDIF
1380	@sort < $@.tmp_ord | uniq > $@.exptmpfile
1381	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
1382	@+-$(RM) $@
1383	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
1384	@+-$(RM) $@.tmp_ord
1385	@+-$(RM) $@.exptmpfile
1386	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL5IMPLIBN:s/.lib/.a/) $@
1387	$(COMMAND_ECHO)+emxomf -o $(SHL5IMPLIBN) $(SHL5IMPLIBN:s/.lib/.a/)
1388
1389.ENDIF			# "$(GUI)"=="OS2"
1390
1391.IF "$(GUI)"=="UNX"
1392$(DEF5TARGETN): \
1393		$(DEF5DEPN) \
1394		$(DEF5EXPORTFILE)
1395	@echo just a dummy for UNIX > $@
1396.ENDIF
1397.ENDIF			# "$(DEF5TARGETN)"!=""
1398
1399
1400# Anweisungen fuer das Linken
1401# unroll begin
1402
1403.IF "$(DEF6TARGETN)"!=""
1404
1405#to make intuitiv naming work
1406.IF "$(DEF6LIBNAME)"!=""
1407DEFLIB6NAME*=$(DEF6LIBNAME)
1408.ENDIF			# "$(DEF6LIBNAME)"!=""
1409
1410.IF "$(DEFLIB6NAME)"!=""
1411DEF6DEPN+=$(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib)
1412.ENDIF
1413
1414.IF "$(SHL6VERSIONMAP)"!=""
1415.IF "$(DEF6EXPORTFILE)"==""
1416.IF "$(GUI)"=="WNT"
1417DEF6EXPORTFILE=$(MISC)/$(SHL6VERSIONMAP:b)_$(SHL6TARGET).dxp
1418.IF "$(COM)"=="GCC"
1419$(DEF6EXPORTFILE) : $(SHL6OBJS) $(SHL6LIBS)
1420.ENDIF # .IF "$(COM)"=="GCC"
1421
1422$(DEF6EXPORTFILE) : $(SHL6VERSIONMAP)
1423	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
1424.IF "$(COM)"=="GCC"
1425	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
1426	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
1427# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
1428# Extract RTTI symbols from all the objects that will be used to build a shared library
1429	$(COMMAND_ECHO)nm -gP $(SHL6OBJS) \
1430		`$(TYPE) /dev/null $(foreach,j,$(SHL6LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
1431		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
1432# overwrite the map file generate into the local output tree with the generated
1433# exported symbols list
1434	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
1435.ENDIF # .IF "$(COM)"=="GCC"
1436
1437.ENDIF			# "$(GUI)"=="WNT"
1438
1439.IF "$(GUI)"=="OS2"
1440DEF6EXPORTFILE=$(MISC)/$(SHL6VERSIONMAP:b)_$(SHL6TARGET).dxp
1441$(DEF6EXPORTFILE) : $(SHL6VERSIONMAP)
1442	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
1443.ENDIF			# "$(GUI)"=="OS2"
1444
1445.ENDIF			# "$(DEF6EXPORTFILE)"==""
1446.ENDIF			# "$(SHL6VERSIONMAP)"!=""
1447
1448.IF "$(GUI)"=="WNT"
1449
1450DEF6FILTER=$(SOLARENV)/inc/dummy.flt
1451
1452RMHACK6:=$(RM)
1453
1454.IF "$(DEF6CEXP)"!=""
1455EXPORT_ALL_SWITCH=-A $(DEF6CEXP)
1456.ENDIF
1457
1458.IF "$(link_always)"==""
1459$(DEF6TARGETN) : \
1460		$(DEF6DEPN) \
1461		$(DEF6EXPORTFILE)
1462.ELSE			# "$(link_always)"==""
1463$(DEF6TARGETN) .PHONY :
1464.ENDIF			# "$(link_always)"==""
1465	@-$(RM) $@.tmpfile
1466	@echo "Making:    module definition file" $(@:f)
1467	@echo LIBRARY	  $(EMQ)"$(SHL6TARGETN:f)$(EMQ)" 								 >$@.tmpfile
1468.IF "$(COM)"!="GCC"
1469	@echo HEAPSIZE	  0 											>>$@.tmpfile
1470.ENDIF
1471	@echo EXPORTS													>>$@.tmpfile
1472.IF "$(VERSIONOBJ)"!=""
1473#	getversioninfo fuer alle!!
1474	@echo GetVersionInfo		>>$@.tmpfile
1475.ENDIF
1476.IF "$(DEFLIB6NAME)"!=""
1477.IF "$(COM)"=="GCC"
1478	@-$(RM) $(MISC)/$(SHL6TARGET).exp
1479	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL6TARGET).exp --export-all-symbols \
1480		`$(TYPE) $(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
1481	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL6TARGET).exp | sed '/^;/d' >>$@.tmpfile
1482	@-$(RM) $(MISC)/$(SHL6TARGET).exp
1483.ELSE
1484.IF "$(SHL6USE_EXPORTS)"==""
1485	@-$(RMHACK6) $(MISC)/$(SHL6TARGET).exp
1486	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL6TARGET).exp $(SLB)/$(DEFLIB6NAME).lib
1487	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL6TARGET).flt $(MISC)/$(SHL6TARGET).exp			   >>$@.tmpfile
1488	$(COMMAND_ECHO)$(RMHACK6) $(MISC)/$(SHL6TARGET).exp
1489.ELSE			# "$(SHL6USE_EXPORTS)"==""
1490	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL6TARGET).direct
1491	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF6FILTER) $(MISC)/$(SHL6TARGET).direct >>$@.tmpfile
1492.ENDIF			# "$(SHL6USE_EXPORTS)"==""
1493.ENDIF
1494.ENDIF				# "$(DEFLIB6NAME)"!=""
1495.IF "$(DEF6EXPORT1)"!=""
1496	@echo $(DEF6EXPORT1)										>>$@.tmpfile
1497.ENDIF
1498.IF "$(DEF6EXPORT2)"!=""
1499	@echo $(DEF6EXPORT2)										>>$@.tmpfile
1500.ENDIF
1501.IF "$(DEF6EXPORT3)"!=""
1502	@echo $(DEF6EXPORT3)										>>$@.tmpfile
1503.ENDIF
1504.IF "$(DEF6EXPORT4)"!=""
1505	@echo $(DEF6EXPORT4)										>>$@.tmpfile
1506.ENDIF
1507.IF "$(DEF6EXPORT5)"!=""
1508	@echo $(DEF6EXPORT5)										>>$@.tmpfile
1509.ENDIF
1510.IF "$(DEF6EXPORT6)"!=""
1511	@echo $(DEF6EXPORT6)										>>$@.tmpfile
1512.ENDIF
1513.IF "$(DEF6EXPORT7)"!=""
1514	@echo $(DEF6EXPORT7)										>>$@.tmpfile
1515.ENDIF
1516.IF "$(DEF6EXPORT8)"!=""
1517	@echo $(DEF6EXPORT8)										>>$@.tmpfile
1518.ENDIF
1519.IF "$(DEF6EXPORT9)"!=""
1520	@echo $(DEF6EXPORT9)										>>$@.tmpfile
1521.ENDIF
1522.IF "$(DEF6EXPORT10)"!=""
1523	@echo $(DEF6EXPORT10)										>>$@.tmpfile
1524.ENDIF
1525.IF "$(DEF6EXPORT11)"!=""
1526	@echo $(DEF6EXPORT11)										>>$@.tmpfile
1527.ENDIF
1528.IF "$(DEF6EXPORT12)"!=""
1529	@echo $(DEF6EXPORT12)										>>$@.tmpfile
1530.ENDIF
1531.IF "$(DEF6EXPORT13)"!=""
1532	@echo $(DEF6EXPORT13)										>>$@.tmpfile
1533.ENDIF
1534.IF "$(DEF6EXPORT14)"!=""
1535	@echo $(DEF6EXPORT14)										>>$@.tmpfile
1536.ENDIF
1537.IF "$(DEF6EXPORT15)"!=""
1538	@echo $(DEF6EXPORT15)										>>$@.tmpfile
1539.ENDIF
1540.IF "$(DEF6EXPORT16)"!=""
1541	@echo $(DEF6EXPORT16)										>>$@.tmpfile
1542.ENDIF
1543.IF "$(DEF6EXPORT17)"!=""
1544	@echo $(DEF6EXPORT17)										>>$@.tmpfile
1545.ENDIF
1546.IF "$(DEF6EXPORT18)"!=""
1547	@echo $(DEF6EXPORT18)										>>$@.tmpfile
1548.ENDIF
1549.IF "$(DEF6EXPORT19)"!=""
1550	@echo $(DEF6EXPORT19)										>>$@.tmpfile
1551.ENDIF
1552.IF "$(DEF6EXPORT20)"!=""
1553	@echo $(DEF6EXPORT20)										>>$@.tmpfile
1554.ENDIF
1555.IF "$(DEF6EXPORTFILE)"!=""
1556.IF "$(COM)"=="GCC"
1557	$(COMMAND_ECHO)$(TYPE) $(DEF6EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
1558.ELSE
1559	$(COMMAND_ECHO)$(TYPE) $(DEF6EXPORTFILE) >> $@.tmpfile
1560.ENDIF
1561.ENDIF
1562	@-$(RM) $@
1563	@$(RENAME) $@.tmpfile $@
1564.ENDIF			# "$(GUI)"=="WNT"
1565
1566.IF "$(GUI)"=="OS2"
1567
1568#21/02/2006 YD dll names must be 8.3, invoke fix script
1569#check osl/os2/module.c/osl_loadModule()
1570SHL6TARGET8=$(shell @fix_shl.cmd $(SHL6TARGETN:f))
1571
1572DEF6FILTER=$(SOLARENV)/inc/dummy.flt
1573DEF6NAMELIST=$(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib)
1574
1575.IF "$(link_always)"==""
1576$(DEF6TARGETN) : \
1577		$(DEF6DEPN) \
1578		$(DEF6EXPORTFILE)
1579.ELSE			# "$(link_always)"==""
1580$(DEF6TARGETN) .PHONY :
1581.ENDIF			# "$(link_always)"==""
1582	@+-$(RM) $@.tmpfile
1583	@echo "Making:    module definition file" $(@:f)
1584	@echo LIBRARY	  $(SHL6TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
1585	@echo DATA MULTIPLE	 >>$@.tmpfile
1586	@echo EXPORTS													>>$@.tmpfile
1587.IF "$(VERSIONOBJ)"!=""
1588#	getversioninfo fuer alle!!
1589	@echo _GetVersionInfo		>$@.tmp_ord
1590.ENDIF
1591
1592.IF "$(DEFLIB6NAME)"!=""
1593	@+echo $(SLB)/$(DEFLIB6NAME).lib
1594	@+emxexpr $(DEF6NAMELIST) | fix_exp_file >> $@.tmp_ord
1595.ENDIF				# "$(DEFLIB6NAME)"!=""
1596
1597.IF "$(DEF6EXPORT1)"!=""
1598	@echo $(DEF6EXPORT1)										>>$@.tmpfile
1599.ENDIF
1600.IF "$(DEF6EXPORT2)"!=""
1601	@echo $(DEF6EXPORT2)										>>$@.tmpfile
1602.ENDIF
1603.IF "$(DEF6EXPORT3)"!=""
1604	@echo $(DEF6EXPORT3)										>>$@.tmpfile
1605.ENDIF
1606.IF "$(DEF6EXPORT4)"!=""
1607	@echo $(DEF6EXPORT4)										>>$@.tmpfile
1608.ENDIF
1609.IF "$(DEF6EXPORT5)"!=""
1610	@echo $(DEF6EXPORT5)										>>$@.tmpfile
1611.ENDIF
1612.IF "$(DEF6EXPORT6)"!=""
1613	@echo $(DEF6EXPORT6)										>>$@.tmpfile
1614.ENDIF
1615.IF "$(DEF6EXPORT7)"!=""
1616	@echo $(DEF6EXPORT7)										>>$@.tmpfile
1617.ENDIF
1618.IF "$(DEF6EXPORT8)"!=""
1619	@echo $(DEF6EXPORT8)										>>$@.tmpfile
1620.ENDIF
1621.IF "$(DEF6EXPORT9)"!=""
1622	@echo $(DEF6EXPORT9)										>>$@.tmpfile
1623.ENDIF
1624.IF "$(DEF6EXPORT10)"!=""
1625	@echo $(DEF6EXPORT10)										>>$@.tmpfile
1626.ENDIF
1627.IF "$(DEF6EXPORT11)"!=""
1628	@echo $(DEF6EXPORT11)										>>$@.tmpfile
1629.ENDIF
1630.IF "$(DEF6EXPORT12)"!=""
1631	@echo $(DEF6EXPORT12)										>>$@.tmpfile
1632.ENDIF
1633.IF "$(DEF6EXPORT13)"!=""
1634	@echo $(DEF6EXPORT13)										>>$@.tmpfile
1635.ENDIF
1636.IF "$(DEF6EXPORT14)"!=""
1637	@echo $(DEF6EXPORT14)										>>$@.tmpfile
1638.ENDIF
1639.IF "$(DEF6EXPORT15)"!=""
1640	@echo $(DEF6EXPORT15)										>>$@.tmpfile
1641.ENDIF
1642.IF "$(DEF6EXPORT16)"!=""
1643	@echo $(DEF6EXPORT16)										>>$@.tmpfile
1644.ENDIF
1645.IF "$(DEF6EXPORT17)"!=""
1646	@echo $(DEF6EXPORT17)										>>$@.tmpfile
1647.ENDIF
1648.IF "$(DEF6EXPORT18)"!=""
1649	@echo $(DEF6EXPORT18)										>>$@.tmpfile
1650.ENDIF
1651.IF "$(DEF6EXPORT19)"!=""
1652	@echo $(DEF6EXPORT19)										>>$@.tmpfile
1653.ENDIF
1654.IF "$(DEF6EXPORT20)"!=""
1655	@echo $(DEF6EXPORT20)										>>$@.tmpfile
1656.ENDIF
1657.IF "$(DEF6EXPORTFILE)"!=""
1658	@fix_def_file < $(DEF6EXPORTFILE) >> $@.tmp_ord
1659.ENDIF
1660	@sort < $@.tmp_ord | uniq > $@.exptmpfile
1661	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
1662	@+-$(RM) $@
1663	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
1664	@+-$(RM) $@.tmp_ord
1665	@+-$(RM) $@.exptmpfile
1666	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL6IMPLIBN:s/.lib/.a/) $@
1667	$(COMMAND_ECHO)+emxomf -o $(SHL6IMPLIBN) $(SHL6IMPLIBN:s/.lib/.a/)
1668
1669.ENDIF			# "$(GUI)"=="OS2"
1670
1671.IF "$(GUI)"=="UNX"
1672$(DEF6TARGETN): \
1673		$(DEF6DEPN) \
1674		$(DEF6EXPORTFILE)
1675	@echo just a dummy for UNIX > $@
1676.ENDIF
1677.ENDIF			# "$(DEF6TARGETN)"!=""
1678
1679
1680# Anweisungen fuer das Linken
1681# unroll begin
1682
1683.IF "$(DEF7TARGETN)"!=""
1684
1685#to make intuitiv naming work
1686.IF "$(DEF7LIBNAME)"!=""
1687DEFLIB7NAME*=$(DEF7LIBNAME)
1688.ENDIF			# "$(DEF7LIBNAME)"!=""
1689
1690.IF "$(DEFLIB7NAME)"!=""
1691DEF7DEPN+=$(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib)
1692.ENDIF
1693
1694.IF "$(SHL7VERSIONMAP)"!=""
1695.IF "$(DEF7EXPORTFILE)"==""
1696.IF "$(GUI)"=="WNT"
1697DEF7EXPORTFILE=$(MISC)/$(SHL7VERSIONMAP:b)_$(SHL7TARGET).dxp
1698.IF "$(COM)"=="GCC"
1699$(DEF7EXPORTFILE) : $(SHL7OBJS) $(SHL7LIBS)
1700.ENDIF # .IF "$(COM)"=="GCC"
1701
1702$(DEF7EXPORTFILE) : $(SHL7VERSIONMAP)
1703	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
1704.IF "$(COM)"=="GCC"
1705	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
1706	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
1707# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
1708# Extract RTTI symbols from all the objects that will be used to build a shared library
1709	$(COMMAND_ECHO)nm -gP $(SHL7OBJS) \
1710		`$(TYPE) /dev/null $(foreach,j,$(SHL7LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
1711		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
1712# overwrite the map file generate into the local output tree with the generated
1713# exported symbols list
1714	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
1715.ENDIF # .IF "$(COM)"=="GCC"
1716
1717.ENDIF			# "$(GUI)"=="WNT"
1718
1719.IF "$(GUI)"=="OS2"
1720DEF7EXPORTFILE=$(MISC)/$(SHL7VERSIONMAP:b)_$(SHL7TARGET).dxp
1721$(DEF7EXPORTFILE) : $(SHL7VERSIONMAP)
1722	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
1723.ENDIF			# "$(GUI)"=="OS2"
1724
1725.ENDIF			# "$(DEF7EXPORTFILE)"==""
1726.ENDIF			# "$(SHL7VERSIONMAP)"!=""
1727
1728.IF "$(GUI)"=="WNT"
1729
1730DEF7FILTER=$(SOLARENV)/inc/dummy.flt
1731
1732RMHACK7:=$(RM)
1733
1734.IF "$(DEF7CEXP)"!=""
1735EXPORT_ALL_SWITCH=-A $(DEF7CEXP)
1736.ENDIF
1737
1738.IF "$(link_always)"==""
1739$(DEF7TARGETN) : \
1740		$(DEF7DEPN) \
1741		$(DEF7EXPORTFILE)
1742.ELSE			# "$(link_always)"==""
1743$(DEF7TARGETN) .PHONY :
1744.ENDIF			# "$(link_always)"==""
1745	@-$(RM) $@.tmpfile
1746	@echo "Making:    module definition file" $(@:f)
1747	@echo LIBRARY	  $(EMQ)"$(SHL7TARGETN:f)$(EMQ)" 								 >$@.tmpfile
1748.IF "$(COM)"!="GCC"
1749	@echo HEAPSIZE	  0 											>>$@.tmpfile
1750.ENDIF
1751	@echo EXPORTS													>>$@.tmpfile
1752.IF "$(VERSIONOBJ)"!=""
1753#	getversioninfo fuer alle!!
1754	@echo GetVersionInfo		>>$@.tmpfile
1755.ENDIF
1756.IF "$(DEFLIB7NAME)"!=""
1757.IF "$(COM)"=="GCC"
1758	@-$(RM) $(MISC)/$(SHL7TARGET).exp
1759	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL7TARGET).exp --export-all-symbols \
1760		`$(TYPE) $(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
1761	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL7TARGET).exp | sed '/^;/d' >>$@.tmpfile
1762	@-$(RM) $(MISC)/$(SHL7TARGET).exp
1763.ELSE
1764.IF "$(SHL7USE_EXPORTS)"==""
1765	@-$(RMHACK7) $(MISC)/$(SHL7TARGET).exp
1766	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL7TARGET).exp $(SLB)/$(DEFLIB7NAME).lib
1767	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL7TARGET).flt $(MISC)/$(SHL7TARGET).exp			   >>$@.tmpfile
1768	$(COMMAND_ECHO)$(RMHACK7) $(MISC)/$(SHL7TARGET).exp
1769.ELSE			# "$(SHL7USE_EXPORTS)"==""
1770	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL7TARGET).direct
1771	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF7FILTER) $(MISC)/$(SHL7TARGET).direct >>$@.tmpfile
1772.ENDIF			# "$(SHL7USE_EXPORTS)"==""
1773.ENDIF
1774.ENDIF				# "$(DEFLIB7NAME)"!=""
1775.IF "$(DEF7EXPORT1)"!=""
1776	@echo $(DEF7EXPORT1)										>>$@.tmpfile
1777.ENDIF
1778.IF "$(DEF7EXPORT2)"!=""
1779	@echo $(DEF7EXPORT2)										>>$@.tmpfile
1780.ENDIF
1781.IF "$(DEF7EXPORT3)"!=""
1782	@echo $(DEF7EXPORT3)										>>$@.tmpfile
1783.ENDIF
1784.IF "$(DEF7EXPORT4)"!=""
1785	@echo $(DEF7EXPORT4)										>>$@.tmpfile
1786.ENDIF
1787.IF "$(DEF7EXPORT5)"!=""
1788	@echo $(DEF7EXPORT5)										>>$@.tmpfile
1789.ENDIF
1790.IF "$(DEF7EXPORT6)"!=""
1791	@echo $(DEF7EXPORT6)										>>$@.tmpfile
1792.ENDIF
1793.IF "$(DEF7EXPORT7)"!=""
1794	@echo $(DEF7EXPORT7)										>>$@.tmpfile
1795.ENDIF
1796.IF "$(DEF7EXPORT8)"!=""
1797	@echo $(DEF7EXPORT8)										>>$@.tmpfile
1798.ENDIF
1799.IF "$(DEF7EXPORT9)"!=""
1800	@echo $(DEF7EXPORT9)										>>$@.tmpfile
1801.ENDIF
1802.IF "$(DEF7EXPORT10)"!=""
1803	@echo $(DEF7EXPORT10)										>>$@.tmpfile
1804.ENDIF
1805.IF "$(DEF7EXPORT11)"!=""
1806	@echo $(DEF7EXPORT11)										>>$@.tmpfile
1807.ENDIF
1808.IF "$(DEF7EXPORT12)"!=""
1809	@echo $(DEF7EXPORT12)										>>$@.tmpfile
1810.ENDIF
1811.IF "$(DEF7EXPORT13)"!=""
1812	@echo $(DEF7EXPORT13)										>>$@.tmpfile
1813.ENDIF
1814.IF "$(DEF7EXPORT14)"!=""
1815	@echo $(DEF7EXPORT14)										>>$@.tmpfile
1816.ENDIF
1817.IF "$(DEF7EXPORT15)"!=""
1818	@echo $(DEF7EXPORT15)										>>$@.tmpfile
1819.ENDIF
1820.IF "$(DEF7EXPORT16)"!=""
1821	@echo $(DEF7EXPORT16)										>>$@.tmpfile
1822.ENDIF
1823.IF "$(DEF7EXPORT17)"!=""
1824	@echo $(DEF7EXPORT17)										>>$@.tmpfile
1825.ENDIF
1826.IF "$(DEF7EXPORT18)"!=""
1827	@echo $(DEF7EXPORT18)										>>$@.tmpfile
1828.ENDIF
1829.IF "$(DEF7EXPORT19)"!=""
1830	@echo $(DEF7EXPORT19)										>>$@.tmpfile
1831.ENDIF
1832.IF "$(DEF7EXPORT20)"!=""
1833	@echo $(DEF7EXPORT20)										>>$@.tmpfile
1834.ENDIF
1835.IF "$(DEF7EXPORTFILE)"!=""
1836.IF "$(COM)"=="GCC"
1837	$(COMMAND_ECHO)$(TYPE) $(DEF7EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
1838.ELSE
1839	$(COMMAND_ECHO)$(TYPE) $(DEF7EXPORTFILE) >> $@.tmpfile
1840.ENDIF
1841.ENDIF
1842	@-$(RM) $@
1843	@$(RENAME) $@.tmpfile $@
1844.ENDIF			# "$(GUI)"=="WNT"
1845
1846.IF "$(GUI)"=="OS2"
1847
1848#21/02/2006 YD dll names must be 8.3, invoke fix script
1849#check osl/os2/module.c/osl_loadModule()
1850SHL7TARGET8=$(shell @fix_shl.cmd $(SHL7TARGETN:f))
1851
1852DEF7FILTER=$(SOLARENV)/inc/dummy.flt
1853DEF7NAMELIST=$(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib)
1854
1855.IF "$(link_always)"==""
1856$(DEF7TARGETN) : \
1857		$(DEF7DEPN) \
1858		$(DEF7EXPORTFILE)
1859.ELSE			# "$(link_always)"==""
1860$(DEF7TARGETN) .PHONY :
1861.ENDIF			# "$(link_always)"==""
1862	@+-$(RM) $@.tmpfile
1863	@echo "Making:    module definition file" $(@:f)
1864	@echo LIBRARY	  $(SHL7TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
1865	@echo DATA MULTIPLE	 >>$@.tmpfile
1866	@echo EXPORTS													>>$@.tmpfile
1867.IF "$(VERSIONOBJ)"!=""
1868#	getversioninfo fuer alle!!
1869	@echo _GetVersionInfo		>$@.tmp_ord
1870.ENDIF
1871
1872.IF "$(DEFLIB7NAME)"!=""
1873	@+echo $(SLB)/$(DEFLIB7NAME).lib
1874	@+emxexpr $(DEF7NAMELIST) | fix_exp_file >> $@.tmp_ord
1875.ENDIF				# "$(DEFLIB7NAME)"!=""
1876
1877.IF "$(DEF7EXPORT1)"!=""
1878	@echo $(DEF7EXPORT1)										>>$@.tmpfile
1879.ENDIF
1880.IF "$(DEF7EXPORT2)"!=""
1881	@echo $(DEF7EXPORT2)										>>$@.tmpfile
1882.ENDIF
1883.IF "$(DEF7EXPORT3)"!=""
1884	@echo $(DEF7EXPORT3)										>>$@.tmpfile
1885.ENDIF
1886.IF "$(DEF7EXPORT4)"!=""
1887	@echo $(DEF7EXPORT4)										>>$@.tmpfile
1888.ENDIF
1889.IF "$(DEF7EXPORT5)"!=""
1890	@echo $(DEF7EXPORT5)										>>$@.tmpfile
1891.ENDIF
1892.IF "$(DEF7EXPORT6)"!=""
1893	@echo $(DEF7EXPORT6)										>>$@.tmpfile
1894.ENDIF
1895.IF "$(DEF7EXPORT7)"!=""
1896	@echo $(DEF7EXPORT7)										>>$@.tmpfile
1897.ENDIF
1898.IF "$(DEF7EXPORT8)"!=""
1899	@echo $(DEF7EXPORT8)										>>$@.tmpfile
1900.ENDIF
1901.IF "$(DEF7EXPORT9)"!=""
1902	@echo $(DEF7EXPORT9)										>>$@.tmpfile
1903.ENDIF
1904.IF "$(DEF7EXPORT10)"!=""
1905	@echo $(DEF7EXPORT10)										>>$@.tmpfile
1906.ENDIF
1907.IF "$(DEF7EXPORT11)"!=""
1908	@echo $(DEF7EXPORT11)										>>$@.tmpfile
1909.ENDIF
1910.IF "$(DEF7EXPORT12)"!=""
1911	@echo $(DEF7EXPORT12)										>>$@.tmpfile
1912.ENDIF
1913.IF "$(DEF7EXPORT13)"!=""
1914	@echo $(DEF7EXPORT13)										>>$@.tmpfile
1915.ENDIF
1916.IF "$(DEF7EXPORT14)"!=""
1917	@echo $(DEF7EXPORT14)										>>$@.tmpfile
1918.ENDIF
1919.IF "$(DEF7EXPORT15)"!=""
1920	@echo $(DEF7EXPORT15)										>>$@.tmpfile
1921.ENDIF
1922.IF "$(DEF7EXPORT16)"!=""
1923	@echo $(DEF7EXPORT16)										>>$@.tmpfile
1924.ENDIF
1925.IF "$(DEF7EXPORT17)"!=""
1926	@echo $(DEF7EXPORT17)										>>$@.tmpfile
1927.ENDIF
1928.IF "$(DEF7EXPORT18)"!=""
1929	@echo $(DEF7EXPORT18)										>>$@.tmpfile
1930.ENDIF
1931.IF "$(DEF7EXPORT19)"!=""
1932	@echo $(DEF7EXPORT19)										>>$@.tmpfile
1933.ENDIF
1934.IF "$(DEF7EXPORT20)"!=""
1935	@echo $(DEF7EXPORT20)										>>$@.tmpfile
1936.ENDIF
1937.IF "$(DEF7EXPORTFILE)"!=""
1938	@fix_def_file < $(DEF7EXPORTFILE) >> $@.tmp_ord
1939.ENDIF
1940	@sort < $@.tmp_ord | uniq > $@.exptmpfile
1941	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
1942	@+-$(RM) $@
1943	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
1944	@+-$(RM) $@.tmp_ord
1945	@+-$(RM) $@.exptmpfile
1946	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL7IMPLIBN:s/.lib/.a/) $@
1947	$(COMMAND_ECHO)+emxomf -o $(SHL7IMPLIBN) $(SHL7IMPLIBN:s/.lib/.a/)
1948
1949.ENDIF			# "$(GUI)"=="OS2"
1950
1951.IF "$(GUI)"=="UNX"
1952$(DEF7TARGETN): \
1953		$(DEF7DEPN) \
1954		$(DEF7EXPORTFILE)
1955	@echo just a dummy for UNIX > $@
1956.ENDIF
1957.ENDIF			# "$(DEF7TARGETN)"!=""
1958
1959
1960# Anweisungen fuer das Linken
1961# unroll begin
1962
1963.IF "$(DEF8TARGETN)"!=""
1964
1965#to make intuitiv naming work
1966.IF "$(DEF8LIBNAME)"!=""
1967DEFLIB8NAME*=$(DEF8LIBNAME)
1968.ENDIF			# "$(DEF8LIBNAME)"!=""
1969
1970.IF "$(DEFLIB8NAME)"!=""
1971DEF8DEPN+=$(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib)
1972.ENDIF
1973
1974.IF "$(SHL8VERSIONMAP)"!=""
1975.IF "$(DEF8EXPORTFILE)"==""
1976.IF "$(GUI)"=="WNT"
1977DEF8EXPORTFILE=$(MISC)/$(SHL8VERSIONMAP:b)_$(SHL8TARGET).dxp
1978.IF "$(COM)"=="GCC"
1979$(DEF8EXPORTFILE) : $(SHL8OBJS) $(SHL8LIBS)
1980.ENDIF # .IF "$(COM)"=="GCC"
1981
1982$(DEF8EXPORTFILE) : $(SHL8VERSIONMAP)
1983	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
1984.IF "$(COM)"=="GCC"
1985	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
1986	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
1987# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
1988# Extract RTTI symbols from all the objects that will be used to build a shared library
1989	$(COMMAND_ECHO)nm -gP $(SHL8OBJS) \
1990		`$(TYPE) /dev/null $(foreach,j,$(SHL8LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
1991		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
1992# overwrite the map file generate into the local output tree with the generated
1993# exported symbols list
1994	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
1995.ENDIF # .IF "$(COM)"=="GCC"
1996
1997.ENDIF			# "$(GUI)"=="WNT"
1998
1999.IF "$(GUI)"=="OS2"
2000DEF8EXPORTFILE=$(MISC)/$(SHL8VERSIONMAP:b)_$(SHL8TARGET).dxp
2001$(DEF8EXPORTFILE) : $(SHL8VERSIONMAP)
2002	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
2003.ENDIF			# "$(GUI)"=="OS2"
2004
2005.ENDIF			# "$(DEF8EXPORTFILE)"==""
2006.ENDIF			# "$(SHL8VERSIONMAP)"!=""
2007
2008.IF "$(GUI)"=="WNT"
2009
2010DEF8FILTER=$(SOLARENV)/inc/dummy.flt
2011
2012RMHACK8:=$(RM)
2013
2014.IF "$(DEF8CEXP)"!=""
2015EXPORT_ALL_SWITCH=-A $(DEF8CEXP)
2016.ENDIF
2017
2018.IF "$(link_always)"==""
2019$(DEF8TARGETN) : \
2020		$(DEF8DEPN) \
2021		$(DEF8EXPORTFILE)
2022.ELSE			# "$(link_always)"==""
2023$(DEF8TARGETN) .PHONY :
2024.ENDIF			# "$(link_always)"==""
2025	@-$(RM) $@.tmpfile
2026	@echo "Making:    module definition file" $(@:f)
2027	@echo LIBRARY	  $(EMQ)"$(SHL8TARGETN:f)$(EMQ)" 								 >$@.tmpfile
2028.IF "$(COM)"!="GCC"
2029	@echo HEAPSIZE	  0 											>>$@.tmpfile
2030.ENDIF
2031	@echo EXPORTS													>>$@.tmpfile
2032.IF "$(VERSIONOBJ)"!=""
2033#	getversioninfo fuer alle!!
2034	@echo GetVersionInfo		>>$@.tmpfile
2035.ENDIF
2036.IF "$(DEFLIB8NAME)"!=""
2037.IF "$(COM)"=="GCC"
2038	@-$(RM) $(MISC)/$(SHL8TARGET).exp
2039	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL8TARGET).exp --export-all-symbols \
2040		`$(TYPE) $(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
2041	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL8TARGET).exp | sed '/^;/d' >>$@.tmpfile
2042	@-$(RM) $(MISC)/$(SHL8TARGET).exp
2043.ELSE
2044.IF "$(SHL8USE_EXPORTS)"==""
2045	@-$(RMHACK8) $(MISC)/$(SHL8TARGET).exp
2046	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL8TARGET).exp $(SLB)/$(DEFLIB8NAME).lib
2047	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL8TARGET).flt $(MISC)/$(SHL8TARGET).exp			   >>$@.tmpfile
2048	$(COMMAND_ECHO)$(RMHACK8) $(MISC)/$(SHL8TARGET).exp
2049.ELSE			# "$(SHL8USE_EXPORTS)"==""
2050	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL8TARGET).direct
2051	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF8FILTER) $(MISC)/$(SHL8TARGET).direct >>$@.tmpfile
2052.ENDIF			# "$(SHL8USE_EXPORTS)"==""
2053.ENDIF
2054.ENDIF				# "$(DEFLIB8NAME)"!=""
2055.IF "$(DEF8EXPORT1)"!=""
2056	@echo $(DEF8EXPORT1)										>>$@.tmpfile
2057.ENDIF
2058.IF "$(DEF8EXPORT2)"!=""
2059	@echo $(DEF8EXPORT2)										>>$@.tmpfile
2060.ENDIF
2061.IF "$(DEF8EXPORT3)"!=""
2062	@echo $(DEF8EXPORT3)										>>$@.tmpfile
2063.ENDIF
2064.IF "$(DEF8EXPORT4)"!=""
2065	@echo $(DEF8EXPORT4)										>>$@.tmpfile
2066.ENDIF
2067.IF "$(DEF8EXPORT5)"!=""
2068	@echo $(DEF8EXPORT5)										>>$@.tmpfile
2069.ENDIF
2070.IF "$(DEF8EXPORT6)"!=""
2071	@echo $(DEF8EXPORT6)										>>$@.tmpfile
2072.ENDIF
2073.IF "$(DEF8EXPORT7)"!=""
2074	@echo $(DEF8EXPORT7)										>>$@.tmpfile
2075.ENDIF
2076.IF "$(DEF8EXPORT8)"!=""
2077	@echo $(DEF8EXPORT8)										>>$@.tmpfile
2078.ENDIF
2079.IF "$(DEF8EXPORT9)"!=""
2080	@echo $(DEF8EXPORT9)										>>$@.tmpfile
2081.ENDIF
2082.IF "$(DEF8EXPORT10)"!=""
2083	@echo $(DEF8EXPORT10)										>>$@.tmpfile
2084.ENDIF
2085.IF "$(DEF8EXPORT11)"!=""
2086	@echo $(DEF8EXPORT11)										>>$@.tmpfile
2087.ENDIF
2088.IF "$(DEF8EXPORT12)"!=""
2089	@echo $(DEF8EXPORT12)										>>$@.tmpfile
2090.ENDIF
2091.IF "$(DEF8EXPORT13)"!=""
2092	@echo $(DEF8EXPORT13)										>>$@.tmpfile
2093.ENDIF
2094.IF "$(DEF8EXPORT14)"!=""
2095	@echo $(DEF8EXPORT14)										>>$@.tmpfile
2096.ENDIF
2097.IF "$(DEF8EXPORT15)"!=""
2098	@echo $(DEF8EXPORT15)										>>$@.tmpfile
2099.ENDIF
2100.IF "$(DEF8EXPORT16)"!=""
2101	@echo $(DEF8EXPORT16)										>>$@.tmpfile
2102.ENDIF
2103.IF "$(DEF8EXPORT17)"!=""
2104	@echo $(DEF8EXPORT17)										>>$@.tmpfile
2105.ENDIF
2106.IF "$(DEF8EXPORT18)"!=""
2107	@echo $(DEF8EXPORT18)										>>$@.tmpfile
2108.ENDIF
2109.IF "$(DEF8EXPORT19)"!=""
2110	@echo $(DEF8EXPORT19)										>>$@.tmpfile
2111.ENDIF
2112.IF "$(DEF8EXPORT20)"!=""
2113	@echo $(DEF8EXPORT20)										>>$@.tmpfile
2114.ENDIF
2115.IF "$(DEF8EXPORTFILE)"!=""
2116.IF "$(COM)"=="GCC"
2117	$(COMMAND_ECHO)$(TYPE) $(DEF8EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
2118.ELSE
2119	$(COMMAND_ECHO)$(TYPE) $(DEF8EXPORTFILE) >> $@.tmpfile
2120.ENDIF
2121.ENDIF
2122	@-$(RM) $@
2123	@$(RENAME) $@.tmpfile $@
2124.ENDIF			# "$(GUI)"=="WNT"
2125
2126.IF "$(GUI)"=="OS2"
2127
2128#21/02/2006 YD dll names must be 8.3, invoke fix script
2129#check osl/os2/module.c/osl_loadModule()
2130SHL8TARGET8=$(shell @fix_shl.cmd $(SHL8TARGETN:f))
2131
2132DEF8FILTER=$(SOLARENV)/inc/dummy.flt
2133DEF8NAMELIST=$(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib)
2134
2135.IF "$(link_always)"==""
2136$(DEF8TARGETN) : \
2137		$(DEF8DEPN) \
2138		$(DEF8EXPORTFILE)
2139.ELSE			# "$(link_always)"==""
2140$(DEF8TARGETN) .PHONY :
2141.ENDIF			# "$(link_always)"==""
2142	@+-$(RM) $@.tmpfile
2143	@echo "Making:    module definition file" $(@:f)
2144	@echo LIBRARY	  $(SHL8TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
2145	@echo DATA MULTIPLE	 >>$@.tmpfile
2146	@echo EXPORTS													>>$@.tmpfile
2147.IF "$(VERSIONOBJ)"!=""
2148#	getversioninfo fuer alle!!
2149	@echo _GetVersionInfo		>$@.tmp_ord
2150.ENDIF
2151
2152.IF "$(DEFLIB8NAME)"!=""
2153	@+echo $(SLB)/$(DEFLIB8NAME).lib
2154	@+emxexpr $(DEF8NAMELIST) | fix_exp_file >> $@.tmp_ord
2155.ENDIF				# "$(DEFLIB8NAME)"!=""
2156
2157.IF "$(DEF8EXPORT1)"!=""
2158	@echo $(DEF8EXPORT1)										>>$@.tmpfile
2159.ENDIF
2160.IF "$(DEF8EXPORT2)"!=""
2161	@echo $(DEF8EXPORT2)										>>$@.tmpfile
2162.ENDIF
2163.IF "$(DEF8EXPORT3)"!=""
2164	@echo $(DEF8EXPORT3)										>>$@.tmpfile
2165.ENDIF
2166.IF "$(DEF8EXPORT4)"!=""
2167	@echo $(DEF8EXPORT4)										>>$@.tmpfile
2168.ENDIF
2169.IF "$(DEF8EXPORT5)"!=""
2170	@echo $(DEF8EXPORT5)										>>$@.tmpfile
2171.ENDIF
2172.IF "$(DEF8EXPORT6)"!=""
2173	@echo $(DEF8EXPORT6)										>>$@.tmpfile
2174.ENDIF
2175.IF "$(DEF8EXPORT7)"!=""
2176	@echo $(DEF8EXPORT7)										>>$@.tmpfile
2177.ENDIF
2178.IF "$(DEF8EXPORT8)"!=""
2179	@echo $(DEF8EXPORT8)										>>$@.tmpfile
2180.ENDIF
2181.IF "$(DEF8EXPORT9)"!=""
2182	@echo $(DEF8EXPORT9)										>>$@.tmpfile
2183.ENDIF
2184.IF "$(DEF8EXPORT10)"!=""
2185	@echo $(DEF8EXPORT10)										>>$@.tmpfile
2186.ENDIF
2187.IF "$(DEF8EXPORT11)"!=""
2188	@echo $(DEF8EXPORT11)										>>$@.tmpfile
2189.ENDIF
2190.IF "$(DEF8EXPORT12)"!=""
2191	@echo $(DEF8EXPORT12)										>>$@.tmpfile
2192.ENDIF
2193.IF "$(DEF8EXPORT13)"!=""
2194	@echo $(DEF8EXPORT13)										>>$@.tmpfile
2195.ENDIF
2196.IF "$(DEF8EXPORT14)"!=""
2197	@echo $(DEF8EXPORT14)										>>$@.tmpfile
2198.ENDIF
2199.IF "$(DEF8EXPORT15)"!=""
2200	@echo $(DEF8EXPORT15)										>>$@.tmpfile
2201.ENDIF
2202.IF "$(DEF8EXPORT16)"!=""
2203	@echo $(DEF8EXPORT16)										>>$@.tmpfile
2204.ENDIF
2205.IF "$(DEF8EXPORT17)"!=""
2206	@echo $(DEF8EXPORT17)										>>$@.tmpfile
2207.ENDIF
2208.IF "$(DEF8EXPORT18)"!=""
2209	@echo $(DEF8EXPORT18)										>>$@.tmpfile
2210.ENDIF
2211.IF "$(DEF8EXPORT19)"!=""
2212	@echo $(DEF8EXPORT19)										>>$@.tmpfile
2213.ENDIF
2214.IF "$(DEF8EXPORT20)"!=""
2215	@echo $(DEF8EXPORT20)										>>$@.tmpfile
2216.ENDIF
2217.IF "$(DEF8EXPORTFILE)"!=""
2218	@fix_def_file < $(DEF8EXPORTFILE) >> $@.tmp_ord
2219.ENDIF
2220	@sort < $@.tmp_ord | uniq > $@.exptmpfile
2221	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
2222	@+-$(RM) $@
2223	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
2224	@+-$(RM) $@.tmp_ord
2225	@+-$(RM) $@.exptmpfile
2226	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL8IMPLIBN:s/.lib/.a/) $@
2227	$(COMMAND_ECHO)+emxomf -o $(SHL8IMPLIBN) $(SHL8IMPLIBN:s/.lib/.a/)
2228
2229.ENDIF			# "$(GUI)"=="OS2"
2230
2231.IF "$(GUI)"=="UNX"
2232$(DEF8TARGETN): \
2233		$(DEF8DEPN) \
2234		$(DEF8EXPORTFILE)
2235	@echo just a dummy for UNIX > $@
2236.ENDIF
2237.ENDIF			# "$(DEF8TARGETN)"!=""
2238
2239
2240# Anweisungen fuer das Linken
2241# unroll begin
2242
2243.IF "$(DEF9TARGETN)"!=""
2244
2245#to make intuitiv naming work
2246.IF "$(DEF9LIBNAME)"!=""
2247DEFLIB9NAME*=$(DEF9LIBNAME)
2248.ENDIF			# "$(DEF9LIBNAME)"!=""
2249
2250.IF "$(DEFLIB9NAME)"!=""
2251DEF9DEPN+=$(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib)
2252.ENDIF
2253
2254.IF "$(SHL9VERSIONMAP)"!=""
2255.IF "$(DEF9EXPORTFILE)"==""
2256.IF "$(GUI)"=="WNT"
2257DEF9EXPORTFILE=$(MISC)/$(SHL9VERSIONMAP:b)_$(SHL9TARGET).dxp
2258.IF "$(COM)"=="GCC"
2259$(DEF9EXPORTFILE) : $(SHL9OBJS) $(SHL9LIBS)
2260.ENDIF # .IF "$(COM)"=="GCC"
2261
2262$(DEF9EXPORTFILE) : $(SHL9VERSIONMAP)
2263	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
2264.IF "$(COM)"=="GCC"
2265	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
2266	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
2267# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
2268# Extract RTTI symbols from all the objects that will be used to build a shared library
2269	$(COMMAND_ECHO)nm -gP $(SHL9OBJS) \
2270		`$(TYPE) /dev/null $(foreach,j,$(SHL9LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
2271		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
2272# overwrite the map file generate into the local output tree with the generated
2273# exported symbols list
2274	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
2275.ENDIF # .IF "$(COM)"=="GCC"
2276
2277.ENDIF			# "$(GUI)"=="WNT"
2278
2279.IF "$(GUI)"=="OS2"
2280DEF9EXPORTFILE=$(MISC)/$(SHL9VERSIONMAP:b)_$(SHL9TARGET).dxp
2281$(DEF9EXPORTFILE) : $(SHL9VERSIONMAP)
2282	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
2283.ENDIF			# "$(GUI)"=="OS2"
2284
2285.ENDIF			# "$(DEF9EXPORTFILE)"==""
2286.ENDIF			# "$(SHL9VERSIONMAP)"!=""
2287
2288.IF "$(GUI)"=="WNT"
2289
2290DEF9FILTER=$(SOLARENV)/inc/dummy.flt
2291
2292RMHACK9:=$(RM)
2293
2294.IF "$(DEF9CEXP)"!=""
2295EXPORT_ALL_SWITCH=-A $(DEF9CEXP)
2296.ENDIF
2297
2298.IF "$(link_always)"==""
2299$(DEF9TARGETN) : \
2300		$(DEF9DEPN) \
2301		$(DEF9EXPORTFILE)
2302.ELSE			# "$(link_always)"==""
2303$(DEF9TARGETN) .PHONY :
2304.ENDIF			# "$(link_always)"==""
2305	@-$(RM) $@.tmpfile
2306	@echo "Making:    module definition file" $(@:f)
2307	@echo LIBRARY	  $(EMQ)"$(SHL9TARGETN:f)$(EMQ)" 								 >$@.tmpfile
2308.IF "$(COM)"!="GCC"
2309	@echo HEAPSIZE	  0 											>>$@.tmpfile
2310.ENDIF
2311	@echo EXPORTS													>>$@.tmpfile
2312.IF "$(VERSIONOBJ)"!=""
2313#	getversioninfo fuer alle!!
2314	@echo GetVersionInfo		>>$@.tmpfile
2315.ENDIF
2316.IF "$(DEFLIB9NAME)"!=""
2317.IF "$(COM)"=="GCC"
2318	@-$(RM) $(MISC)/$(SHL9TARGET).exp
2319	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL9TARGET).exp --export-all-symbols \
2320		`$(TYPE) $(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
2321	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL9TARGET).exp | sed '/^;/d' >>$@.tmpfile
2322	@-$(RM) $(MISC)/$(SHL9TARGET).exp
2323.ELSE
2324.IF "$(SHL9USE_EXPORTS)"==""
2325	@-$(RMHACK9) $(MISC)/$(SHL9TARGET).exp
2326	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL9TARGET).exp $(SLB)/$(DEFLIB9NAME).lib
2327	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL9TARGET).flt $(MISC)/$(SHL9TARGET).exp			   >>$@.tmpfile
2328	$(COMMAND_ECHO)$(RMHACK9) $(MISC)/$(SHL9TARGET).exp
2329.ELSE			# "$(SHL9USE_EXPORTS)"==""
2330	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL9TARGET).direct
2331	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF9FILTER) $(MISC)/$(SHL9TARGET).direct >>$@.tmpfile
2332.ENDIF			# "$(SHL9USE_EXPORTS)"==""
2333.ENDIF
2334.ENDIF				# "$(DEFLIB9NAME)"!=""
2335.IF "$(DEF9EXPORT1)"!=""
2336	@echo $(DEF9EXPORT1)										>>$@.tmpfile
2337.ENDIF
2338.IF "$(DEF9EXPORT2)"!=""
2339	@echo $(DEF9EXPORT2)										>>$@.tmpfile
2340.ENDIF
2341.IF "$(DEF9EXPORT3)"!=""
2342	@echo $(DEF9EXPORT3)										>>$@.tmpfile
2343.ENDIF
2344.IF "$(DEF9EXPORT4)"!=""
2345	@echo $(DEF9EXPORT4)										>>$@.tmpfile
2346.ENDIF
2347.IF "$(DEF9EXPORT5)"!=""
2348	@echo $(DEF9EXPORT5)										>>$@.tmpfile
2349.ENDIF
2350.IF "$(DEF9EXPORT6)"!=""
2351	@echo $(DEF9EXPORT6)										>>$@.tmpfile
2352.ENDIF
2353.IF "$(DEF9EXPORT7)"!=""
2354	@echo $(DEF9EXPORT7)										>>$@.tmpfile
2355.ENDIF
2356.IF "$(DEF9EXPORT8)"!=""
2357	@echo $(DEF9EXPORT8)										>>$@.tmpfile
2358.ENDIF
2359.IF "$(DEF9EXPORT9)"!=""
2360	@echo $(DEF9EXPORT9)										>>$@.tmpfile
2361.ENDIF
2362.IF "$(DEF9EXPORT10)"!=""
2363	@echo $(DEF9EXPORT10)										>>$@.tmpfile
2364.ENDIF
2365.IF "$(DEF9EXPORT11)"!=""
2366	@echo $(DEF9EXPORT11)										>>$@.tmpfile
2367.ENDIF
2368.IF "$(DEF9EXPORT12)"!=""
2369	@echo $(DEF9EXPORT12)										>>$@.tmpfile
2370.ENDIF
2371.IF "$(DEF9EXPORT13)"!=""
2372	@echo $(DEF9EXPORT13)										>>$@.tmpfile
2373.ENDIF
2374.IF "$(DEF9EXPORT14)"!=""
2375	@echo $(DEF9EXPORT14)										>>$@.tmpfile
2376.ENDIF
2377.IF "$(DEF9EXPORT15)"!=""
2378	@echo $(DEF9EXPORT15)										>>$@.tmpfile
2379.ENDIF
2380.IF "$(DEF9EXPORT16)"!=""
2381	@echo $(DEF9EXPORT16)										>>$@.tmpfile
2382.ENDIF
2383.IF "$(DEF9EXPORT17)"!=""
2384	@echo $(DEF9EXPORT17)										>>$@.tmpfile
2385.ENDIF
2386.IF "$(DEF9EXPORT18)"!=""
2387	@echo $(DEF9EXPORT18)										>>$@.tmpfile
2388.ENDIF
2389.IF "$(DEF9EXPORT19)"!=""
2390	@echo $(DEF9EXPORT19)										>>$@.tmpfile
2391.ENDIF
2392.IF "$(DEF9EXPORT20)"!=""
2393	@echo $(DEF9EXPORT20)										>>$@.tmpfile
2394.ENDIF
2395.IF "$(DEF9EXPORTFILE)"!=""
2396.IF "$(COM)"=="GCC"
2397	$(COMMAND_ECHO)$(TYPE) $(DEF9EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
2398.ELSE
2399	$(COMMAND_ECHO)$(TYPE) $(DEF9EXPORTFILE) >> $@.tmpfile
2400.ENDIF
2401.ENDIF
2402	@-$(RM) $@
2403	@$(RENAME) $@.tmpfile $@
2404.ENDIF			# "$(GUI)"=="WNT"
2405
2406.IF "$(GUI)"=="OS2"
2407
2408#21/02/2006 YD dll names must be 8.3, invoke fix script
2409#check osl/os2/module.c/osl_loadModule()
2410SHL9TARGET8=$(shell @fix_shl.cmd $(SHL9TARGETN:f))
2411
2412DEF9FILTER=$(SOLARENV)/inc/dummy.flt
2413DEF9NAMELIST=$(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib)
2414
2415.IF "$(link_always)"==""
2416$(DEF9TARGETN) : \
2417		$(DEF9DEPN) \
2418		$(DEF9EXPORTFILE)
2419.ELSE			# "$(link_always)"==""
2420$(DEF9TARGETN) .PHONY :
2421.ENDIF			# "$(link_always)"==""
2422	@+-$(RM) $@.tmpfile
2423	@echo "Making:    module definition file" $(@:f)
2424	@echo LIBRARY	  $(SHL9TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
2425	@echo DATA MULTIPLE	 >>$@.tmpfile
2426	@echo EXPORTS													>>$@.tmpfile
2427.IF "$(VERSIONOBJ)"!=""
2428#	getversioninfo fuer alle!!
2429	@echo _GetVersionInfo		>$@.tmp_ord
2430.ENDIF
2431
2432.IF "$(DEFLIB9NAME)"!=""
2433	@+echo $(SLB)/$(DEFLIB9NAME).lib
2434	@+emxexpr $(DEF9NAMELIST) | fix_exp_file >> $@.tmp_ord
2435.ENDIF				# "$(DEFLIB9NAME)"!=""
2436
2437.IF "$(DEF9EXPORT1)"!=""
2438	@echo $(DEF9EXPORT1)										>>$@.tmpfile
2439.ENDIF
2440.IF "$(DEF9EXPORT2)"!=""
2441	@echo $(DEF9EXPORT2)										>>$@.tmpfile
2442.ENDIF
2443.IF "$(DEF9EXPORT3)"!=""
2444	@echo $(DEF9EXPORT3)										>>$@.tmpfile
2445.ENDIF
2446.IF "$(DEF9EXPORT4)"!=""
2447	@echo $(DEF9EXPORT4)										>>$@.tmpfile
2448.ENDIF
2449.IF "$(DEF9EXPORT5)"!=""
2450	@echo $(DEF9EXPORT5)										>>$@.tmpfile
2451.ENDIF
2452.IF "$(DEF9EXPORT6)"!=""
2453	@echo $(DEF9EXPORT6)										>>$@.tmpfile
2454.ENDIF
2455.IF "$(DEF9EXPORT7)"!=""
2456	@echo $(DEF9EXPORT7)										>>$@.tmpfile
2457.ENDIF
2458.IF "$(DEF9EXPORT8)"!=""
2459	@echo $(DEF9EXPORT8)										>>$@.tmpfile
2460.ENDIF
2461.IF "$(DEF9EXPORT9)"!=""
2462	@echo $(DEF9EXPORT9)										>>$@.tmpfile
2463.ENDIF
2464.IF "$(DEF9EXPORT10)"!=""
2465	@echo $(DEF9EXPORT10)										>>$@.tmpfile
2466.ENDIF
2467.IF "$(DEF9EXPORT11)"!=""
2468	@echo $(DEF9EXPORT11)										>>$@.tmpfile
2469.ENDIF
2470.IF "$(DEF9EXPORT12)"!=""
2471	@echo $(DEF9EXPORT12)										>>$@.tmpfile
2472.ENDIF
2473.IF "$(DEF9EXPORT13)"!=""
2474	@echo $(DEF9EXPORT13)										>>$@.tmpfile
2475.ENDIF
2476.IF "$(DEF9EXPORT14)"!=""
2477	@echo $(DEF9EXPORT14)										>>$@.tmpfile
2478.ENDIF
2479.IF "$(DEF9EXPORT15)"!=""
2480	@echo $(DEF9EXPORT15)										>>$@.tmpfile
2481.ENDIF
2482.IF "$(DEF9EXPORT16)"!=""
2483	@echo $(DEF9EXPORT16)										>>$@.tmpfile
2484.ENDIF
2485.IF "$(DEF9EXPORT17)"!=""
2486	@echo $(DEF9EXPORT17)										>>$@.tmpfile
2487.ENDIF
2488.IF "$(DEF9EXPORT18)"!=""
2489	@echo $(DEF9EXPORT18)										>>$@.tmpfile
2490.ENDIF
2491.IF "$(DEF9EXPORT19)"!=""
2492	@echo $(DEF9EXPORT19)										>>$@.tmpfile
2493.ENDIF
2494.IF "$(DEF9EXPORT20)"!=""
2495	@echo $(DEF9EXPORT20)										>>$@.tmpfile
2496.ENDIF
2497.IF "$(DEF9EXPORTFILE)"!=""
2498	@fix_def_file < $(DEF9EXPORTFILE) >> $@.tmp_ord
2499.ENDIF
2500	@sort < $@.tmp_ord | uniq > $@.exptmpfile
2501	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
2502	@+-$(RM) $@
2503	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
2504	@+-$(RM) $@.tmp_ord
2505	@+-$(RM) $@.exptmpfile
2506	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL9IMPLIBN:s/.lib/.a/) $@
2507	$(COMMAND_ECHO)+emxomf -o $(SHL9IMPLIBN) $(SHL9IMPLIBN:s/.lib/.a/)
2508
2509.ENDIF			# "$(GUI)"=="OS2"
2510
2511.IF "$(GUI)"=="UNX"
2512$(DEF9TARGETN): \
2513		$(DEF9DEPN) \
2514		$(DEF9EXPORTFILE)
2515	@echo just a dummy for UNIX > $@
2516.ENDIF
2517.ENDIF			# "$(DEF9TARGETN)"!=""
2518
2519
2520# Anweisungen fuer das Linken
2521# unroll begin
2522
2523.IF "$(DEF10TARGETN)"!=""
2524
2525#to make intuitiv naming work
2526.IF "$(DEF10LIBNAME)"!=""
2527DEFLIB10NAME*=$(DEF10LIBNAME)
2528.ENDIF			# "$(DEF10LIBNAME)"!=""
2529
2530.IF "$(DEFLIB10NAME)"!=""
2531DEF10DEPN+=$(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib)
2532.ENDIF
2533
2534.IF "$(SHL10VERSIONMAP)"!=""
2535.IF "$(DEF10EXPORTFILE)"==""
2536.IF "$(GUI)"=="WNT"
2537DEF10EXPORTFILE=$(MISC)/$(SHL10VERSIONMAP:b)_$(SHL10TARGET).dxp
2538.IF "$(COM)"=="GCC"
2539$(DEF10EXPORTFILE) : $(SHL10OBJS) $(SHL10LIBS)
2540.ENDIF # .IF "$(COM)"=="GCC"
2541
2542$(DEF10EXPORTFILE) : $(SHL10VERSIONMAP)
2543	$(COMMAND_ECHO)$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
2544.IF "$(COM)"=="GCC"
2545	$(COMMAND_ECHO)-$(GREP) -v "\*\|?" $@ | $(SED) -e 's@#.*@@' > $@.exported-symbols
2546	$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
2547# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
2548# Extract RTTI symbols from all the objects that will be used to build a shared library
2549	$(COMMAND_ECHO)nm -gP $(SHL10OBJS) \
2550		`$(TYPE) /dev/null $(foreach,j,$(SHL10LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
2551		| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
2552# overwrite the map file generate into the local output tree with the generated
2553# exported symbols list
2554	$(COMMAND_ECHO)$(RENAME) $@.exported-symbols $@
2555.ENDIF # .IF "$(COM)"=="GCC"
2556
2557.ENDIF			# "$(GUI)"=="WNT"
2558
2559.IF "$(GUI)"=="OS2"
2560DEF10EXPORTFILE=$(MISC)/$(SHL10VERSIONMAP:b)_$(SHL10TARGET).dxp
2561$(DEF10EXPORTFILE) : $(SHL10VERSIONMAP)
2562	$(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
2563.ENDIF			# "$(GUI)"=="OS2"
2564
2565.ENDIF			# "$(DEF10EXPORTFILE)"==""
2566.ENDIF			# "$(SHL10VERSIONMAP)"!=""
2567
2568.IF "$(GUI)"=="WNT"
2569
2570DEF10FILTER=$(SOLARENV)/inc/dummy.flt
2571
2572RMHACK10:=$(RM)
2573
2574.IF "$(DEF10CEXP)"!=""
2575EXPORT_ALL_SWITCH=-A $(DEF10CEXP)
2576.ENDIF
2577
2578.IF "$(link_always)"==""
2579$(DEF10TARGETN) : \
2580		$(DEF10DEPN) \
2581		$(DEF10EXPORTFILE)
2582.ELSE			# "$(link_always)"==""
2583$(DEF10TARGETN) .PHONY :
2584.ENDIF			# "$(link_always)"==""
2585	@-$(RM) $@.tmpfile
2586	@echo "Making:    module definition file" $(@:f)
2587	@echo LIBRARY	  $(EMQ)"$(SHL10TARGETN:f)$(EMQ)" 								 >$@.tmpfile
2588.IF "$(COM)"!="GCC"
2589	@echo HEAPSIZE	  0 											>>$@.tmpfile
2590.ENDIF
2591	@echo EXPORTS													>>$@.tmpfile
2592.IF "$(VERSIONOBJ)"!=""
2593#	getversioninfo fuer alle!!
2594	@echo GetVersionInfo		>>$@.tmpfile
2595.ENDIF
2596.IF "$(DEFLIB10NAME)"!=""
2597.IF "$(COM)"=="GCC"
2598	@-$(RM) $(MISC)/$(SHL10TARGET).exp
2599	$(COMMAND_ECHO)dlltool --output-def $(MISC)/$(SHL10TARGET).exp --export-all-symbols \
2600		`$(TYPE) $(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib) | sed s#$(ROUT)#$(PRJ)/$(ROUT)#g`
2601	$(COMMAND_ECHO)tail --lines +3 $(MISC)/$(SHL10TARGET).exp | sed '/^;/d' >>$@.tmpfile
2602	@-$(RM) $(MISC)/$(SHL10TARGET).exp
2603.ELSE
2604.IF "$(SHL10USE_EXPORTS)"==""
2605	@-$(RMHACK10) $(MISC)/$(SHL10TARGET).exp
2606	@$(LIBMGR) -EXTRACT:/ /OUT:$(MISC)/$(SHL10TARGET).exp $(SLB)/$(DEFLIB10NAME).lib
2607	@$(LDUMP2) -N $(EXPORT_ALL_SWITCH) -F $(MISC)/$(SHL10TARGET).flt $(MISC)/$(SHL10TARGET).exp			   >>$@.tmpfile
2608	$(COMMAND_ECHO)$(RMHACK10) $(MISC)/$(SHL10TARGET).exp
2609.ELSE			# "$(SHL10USE_EXPORTS)"==""
2610	@$(DUMPBIN) -DIRECTIVES  $(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib) | $(GREP) EXPORT: > $(MISC)/$(SHL10TARGET).direct
2611	@$(LDUMP2) -N -D $(EXPORT_ALL_SWITCH) -F $(DEF10FILTER) $(MISC)/$(SHL10TARGET).direct >>$@.tmpfile
2612.ENDIF			# "$(SHL10USE_EXPORTS)"==""
2613.ENDIF
2614.ENDIF				# "$(DEFLIB10NAME)"!=""
2615.IF "$(DEF10EXPORT1)"!=""
2616	@echo $(DEF10EXPORT1)										>>$@.tmpfile
2617.ENDIF
2618.IF "$(DEF10EXPORT2)"!=""
2619	@echo $(DEF10EXPORT2)										>>$@.tmpfile
2620.ENDIF
2621.IF "$(DEF10EXPORT3)"!=""
2622	@echo $(DEF10EXPORT3)										>>$@.tmpfile
2623.ENDIF
2624.IF "$(DEF10EXPORT4)"!=""
2625	@echo $(DEF10EXPORT4)										>>$@.tmpfile
2626.ENDIF
2627.IF "$(DEF10EXPORT5)"!=""
2628	@echo $(DEF10EXPORT5)										>>$@.tmpfile
2629.ENDIF
2630.IF "$(DEF10EXPORT6)"!=""
2631	@echo $(DEF10EXPORT6)										>>$@.tmpfile
2632.ENDIF
2633.IF "$(DEF10EXPORT7)"!=""
2634	@echo $(DEF10EXPORT7)										>>$@.tmpfile
2635.ENDIF
2636.IF "$(DEF10EXPORT8)"!=""
2637	@echo $(DEF10EXPORT8)										>>$@.tmpfile
2638.ENDIF
2639.IF "$(DEF10EXPORT9)"!=""
2640	@echo $(DEF10EXPORT9)										>>$@.tmpfile
2641.ENDIF
2642.IF "$(DEF10EXPORT10)"!=""
2643	@echo $(DEF10EXPORT10)										>>$@.tmpfile
2644.ENDIF
2645.IF "$(DEF10EXPORT11)"!=""
2646	@echo $(DEF10EXPORT11)										>>$@.tmpfile
2647.ENDIF
2648.IF "$(DEF10EXPORT12)"!=""
2649	@echo $(DEF10EXPORT12)										>>$@.tmpfile
2650.ENDIF
2651.IF "$(DEF10EXPORT13)"!=""
2652	@echo $(DEF10EXPORT13)										>>$@.tmpfile
2653.ENDIF
2654.IF "$(DEF10EXPORT14)"!=""
2655	@echo $(DEF10EXPORT14)										>>$@.tmpfile
2656.ENDIF
2657.IF "$(DEF10EXPORT15)"!=""
2658	@echo $(DEF10EXPORT15)										>>$@.tmpfile
2659.ENDIF
2660.IF "$(DEF10EXPORT16)"!=""
2661	@echo $(DEF10EXPORT16)										>>$@.tmpfile
2662.ENDIF
2663.IF "$(DEF10EXPORT17)"!=""
2664	@echo $(DEF10EXPORT17)										>>$@.tmpfile
2665.ENDIF
2666.IF "$(DEF10EXPORT18)"!=""
2667	@echo $(DEF10EXPORT18)										>>$@.tmpfile
2668.ENDIF
2669.IF "$(DEF10EXPORT19)"!=""
2670	@echo $(DEF10EXPORT19)										>>$@.tmpfile
2671.ENDIF
2672.IF "$(DEF10EXPORT20)"!=""
2673	@echo $(DEF10EXPORT20)										>>$@.tmpfile
2674.ENDIF
2675.IF "$(DEF10EXPORTFILE)"!=""
2676.IF "$(COM)"=="GCC"
2677	$(COMMAND_ECHO)$(TYPE) $(DEF10EXPORTFILE) | sed -e s:PRIVATE:: >> $@.tmpfile
2678.ELSE
2679	$(COMMAND_ECHO)$(TYPE) $(DEF10EXPORTFILE) >> $@.tmpfile
2680.ENDIF
2681.ENDIF
2682	@-$(RM) $@
2683	@$(RENAME) $@.tmpfile $@
2684.ENDIF			# "$(GUI)"=="WNT"
2685
2686.IF "$(GUI)"=="OS2"
2687
2688#21/02/2006 YD dll names must be 8.3, invoke fix script
2689#check osl/os2/module.c/osl_loadModule()
2690SHL10TARGET8=$(shell @fix_shl.cmd $(SHL10TARGETN:f))
2691
2692DEF10FILTER=$(SOLARENV)/inc/dummy.flt
2693DEF10NAMELIST=$(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib)
2694
2695.IF "$(link_always)"==""
2696$(DEF10TARGETN) : \
2697		$(DEF10DEPN) \
2698		$(DEF10EXPORTFILE)
2699.ELSE			# "$(link_always)"==""
2700$(DEF10TARGETN) .PHONY :
2701.ENDIF			# "$(link_always)"==""
2702	@+-$(RM) $@.tmpfile
2703	@echo "Making:    module definition file" $(@:f)
2704	@echo LIBRARY	  $(SHL10TARGET8) INITINSTANCE TERMINSTANCE	 >$@.tmpfile
2705	@echo DATA MULTIPLE	 >>$@.tmpfile
2706	@echo EXPORTS													>>$@.tmpfile
2707.IF "$(VERSIONOBJ)"!=""
2708#	getversioninfo fuer alle!!
2709	@echo _GetVersionInfo		>$@.tmp_ord
2710.ENDIF
2711
2712.IF "$(DEFLIB10NAME)"!=""
2713	@+echo $(SLB)/$(DEFLIB10NAME).lib
2714	@+emxexpr $(DEF10NAMELIST) | fix_exp_file >> $@.tmp_ord
2715.ENDIF				# "$(DEFLIB10NAME)"!=""
2716
2717.IF "$(DEF10EXPORT1)"!=""
2718	@echo $(DEF10EXPORT1)										>>$@.tmpfile
2719.ENDIF
2720.IF "$(DEF10EXPORT2)"!=""
2721	@echo $(DEF10EXPORT2)										>>$@.tmpfile
2722.ENDIF
2723.IF "$(DEF10EXPORT3)"!=""
2724	@echo $(DEF10EXPORT3)										>>$@.tmpfile
2725.ENDIF
2726.IF "$(DEF10EXPORT4)"!=""
2727	@echo $(DEF10EXPORT4)										>>$@.tmpfile
2728.ENDIF
2729.IF "$(DEF10EXPORT5)"!=""
2730	@echo $(DEF10EXPORT5)										>>$@.tmpfile
2731.ENDIF
2732.IF "$(DEF10EXPORT6)"!=""
2733	@echo $(DEF10EXPORT6)										>>$@.tmpfile
2734.ENDIF
2735.IF "$(DEF10EXPORT7)"!=""
2736	@echo $(DEF10EXPORT7)										>>$@.tmpfile
2737.ENDIF
2738.IF "$(DEF10EXPORT8)"!=""
2739	@echo $(DEF10EXPORT8)										>>$@.tmpfile
2740.ENDIF
2741.IF "$(DEF10EXPORT9)"!=""
2742	@echo $(DEF10EXPORT9)										>>$@.tmpfile
2743.ENDIF
2744.IF "$(DEF10EXPORT10)"!=""
2745	@echo $(DEF10EXPORT10)										>>$@.tmpfile
2746.ENDIF
2747.IF "$(DEF10EXPORT11)"!=""
2748	@echo $(DEF10EXPORT11)										>>$@.tmpfile
2749.ENDIF
2750.IF "$(DEF10EXPORT12)"!=""
2751	@echo $(DEF10EXPORT12)										>>$@.tmpfile
2752.ENDIF
2753.IF "$(DEF10EXPORT13)"!=""
2754	@echo $(DEF10EXPORT13)										>>$@.tmpfile
2755.ENDIF
2756.IF "$(DEF10EXPORT14)"!=""
2757	@echo $(DEF10EXPORT14)										>>$@.tmpfile
2758.ENDIF
2759.IF "$(DEF10EXPORT15)"!=""
2760	@echo $(DEF10EXPORT15)										>>$@.tmpfile
2761.ENDIF
2762.IF "$(DEF10EXPORT16)"!=""
2763	@echo $(DEF10EXPORT16)										>>$@.tmpfile
2764.ENDIF
2765.IF "$(DEF10EXPORT17)"!=""
2766	@echo $(DEF10EXPORT17)										>>$@.tmpfile
2767.ENDIF
2768.IF "$(DEF10EXPORT18)"!=""
2769	@echo $(DEF10EXPORT18)										>>$@.tmpfile
2770.ENDIF
2771.IF "$(DEF10EXPORT19)"!=""
2772	@echo $(DEF10EXPORT19)										>>$@.tmpfile
2773.ENDIF
2774.IF "$(DEF10EXPORT20)"!=""
2775	@echo $(DEF10EXPORT20)										>>$@.tmpfile
2776.ENDIF
2777.IF "$(DEF10EXPORTFILE)"!=""
2778	@fix_def_file < $(DEF10EXPORTFILE) >> $@.tmp_ord
2779.ENDIF
2780	@sort < $@.tmp_ord | uniq > $@.exptmpfile
2781	@fix_def_ord < $@.exptmpfile >> $@.tmpfile
2782	@+-$(RM) $@
2783	$(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
2784	@+-$(RM) $@.tmp_ord
2785	@+-$(RM) $@.exptmpfile
2786	$(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL10IMPLIBN:s/.lib/.a/) $@
2787	$(COMMAND_ECHO)+emxomf -o $(SHL10IMPLIBN) $(SHL10IMPLIBN:s/.lib/.a/)
2788
2789.ENDIF			# "$(GUI)"=="OS2"
2790
2791.IF "$(GUI)"=="UNX"
2792$(DEF10TARGETN): \
2793		$(DEF10DEPN) \
2794		$(DEF10EXPORTFILE)
2795	@echo just a dummy for UNIX > $@
2796.ENDIF
2797.ENDIF			# "$(DEF10TARGETN)"!=""
2798
2799
2800# Anweisungen fuer das Linken
2801