xref: /trunk/main/solenv/inc/_tg_def.mk (revision a0b879751046822fac603295d199943e82fd9119)
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