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