3 .IF
"$(SHL1TARGETN)"!=""
9 .IF
"$(SHLLINKARCONLY)" != ""
17 .IF
"$(SHL1CODETYPE)"=="C"
19 SHL1STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
20 SHL1LINKFLAGS
+=$(LINKCFLAGS
)
21 .ELSE
# "$(SHL1CODETYPE)"=="C"
23 SHL1STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
24 SHL1LINKFLAGS
+=$(LINKFLAGS
)
25 .ENDIF
# "$(SHL1CODETYPE)"=="C"
28 LINKFLAGSRUNPATH_
$(SHL1RPATH
)*=/ERROR
:/Bad_SHL1RPATH_value
29 SHL1LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL1RPATH
))
31 .IF
"$(SHL1USE_EXPORTS)"==""
32 SHL1DEF
*=$(MISC
)/$(SHL1TARGET
).def
33 .ENDIF
# "$(SHL1USE_EXPORTS)"==""
35 EXTRALIBPATHS1
=$(EXTRALIBPATHS
)
36 .IF
"$(UPDATER)"=="YES"
37 .IF
"$(SHL1NOCHECK)"==""
38 .IF
"$(SOLAR_STLLIBPATH)"!=""
39 EXTRALIBPATHS1
+=-L
$(SOLAR_STLLIBPATH
)
41 .ENDIF
# "$(SHL1NOCHECK)"!=""
43 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
44 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
45 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
47 .IF
"$(L10N_framework)"==""
48 .IF
"$(VERSIONOBJ)"!=""
49 SHL1VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL1TARGET
))}$(VERSIONOBJ
:f
)
50 USE_VERSIONH
:=$(INCCOM
)/$(SHL1VERSIONOBJ
:b
).h
52 SHL1VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL1TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
53 .ELSE
# "$(GUI)" == "UNX"
54 SHL1VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL1TARGET
))}$(VERSIONOBJ
:f
)
55 .ENDIF
# "$(GUI)" == "UNX"
56 $(MISC
)/$(SHL1VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL1VERSIONOBJ
:b
).h
57 # $(COPY) $(SOLARENV)/src/version.c $@
58 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL1VERSIONOBJ
:b
).h
/ > $@
60 .INIT
: $(SHL1VERSIONOBJDEP
)
61 .ENDIF
# "$(VERSIONOBJ)"!=""
65 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
66 .IF
"$(SHL1IMPLIB)" == ""
67 SHL1IMPLIB
=i
$(TARGET
)_t1
68 .ENDIF
# "$(SHL1IMPLIB)" == ""
70 USE_1IMPLIB
=-implib
:$(LB
)/$(SHL1IMPLIB
).lib
71 .ENDIF
# "$(COM)" != "GCC"
72 SHL1IMPLIBN
=$(LB
)/$(SHL1IMPLIB
).lib
73 ALLTAR
: $(SHL1IMPLIBN
)
75 .IF
"$(USE_DEFFILE)"==""
76 USE_1IMPLIB_DEPS
=$(LB
)/$(SHL1IMPLIB
).lib
77 .ENDIF
# "$(USE_DEFFILE)"==""
78 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
79 USE_SHL1DEF
=$(SHL1DEF
)
80 .ELSE
# "$(GUI)" != "UNX"
82 SHL1DEPN
+:=$(SHL1DEPNU
)
84 .IF
"$(SHL1VERSIONMAP)"==""
85 # to activate vmaps remove "#"
86 USE_SHL1VERSIONMAP
=$(MISC
)/$(SHL1TARGET
).vmap
87 .ENDIF
# "$(SHL1VERSIONMAP)"==""
89 .IF
"$(USE_SHL1VERSIONMAP)"!=""
91 .IF
"$(SHL1FILTERFILE)"!=""
92 .IF
"$(SHL1VERSIONMAP)"!=""
93 #eine von beiden ist zuviel
94 USE_SHL1VERSIONMAP
=$(MISC
)/$(SHL1TARGET
).vmap
95 $(USE_SHL1VERSIONMAP
) .PHONY
:
96 @echo
-----------------------------
97 @echo you should only use versionmap OR exportfile
98 @echo
-----------------------------
99 # force_dmake_to_error
101 .ENDIF
# "$(SHL1VERSIONMAP)"!=""
104 SHL1VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL1VERSIONMAP
)
107 $(USE_SHL1VERSIONMAP
): \
112 .IF
"$(SHL1OBJS)"!=""
113 # dump remaining objects on the fly
114 .IF
"$(OS)"=="MACOSX"
115 @
-nm
$(SHL1OBJS
:s
/.obj
/.o
/) > $@.dump
117 @nm
$(SHL1OBJS
:s
/.obj
/.o
/) > $@.dump
119 .ENDIF
# "$(SHL1OBJS)!"=""
120 @
$(TYPE
) /dev
/null
$(SHL1LIBS
:s
/.lib
/.dump
/) >> $@.dump
121 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL1INTERFACE
) -f
$(SHL1FILTERFILE
) -m
$@
123 .ELSE
# "$(SHL1FILTERFILE)"!=""
124 USE_SHL1VERSIONMAP
=$(MISC
)/$(SHL1TARGET
).vmap
125 $(USE_SHL1VERSIONMAP
) :
126 .IF
"$(VERBOSE)" == "TRUE"
127 @echo
-----------------------------
128 @echo SHL1FILTERFILE not set
!
129 @echo
-----------------------------
131 @echo dummy file to keep the dependencies for later use.
135 # force_dmake_to_error
136 .ENDIF
# "$(SHL1FILTERFILE)"!=""
137 .ELSE
# "$(USE_SHL1VERSIONMAP)"!=""
139 #and now for the plain non-generic way...
140 .IF
"$(SHL1VERSIONMAP)"!=""
141 USE_SHL1VERSIONMAP
=$(MISC
)/$(SHL1VERSIONMAP
:b
)_
$(SHL1TARGET
)$(SHL1VERSIONMAP
:e
)
143 SHL1VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL1VERSIONMAP
)
146 .IF
"$(OS)"=="MACOSX"
147 $(USE_SHL1VERSIONMAP
): $(SHL1OBJS
) $(SHL1LIBS
)
150 $(USE_SHL1VERSIONMAP
): $(SHL1VERSIONMAP
)
152 # The following files will only be generated and needed on Mac OS X as temporary files
153 # in order to generate exported symbols list out of Linux/Solaris map files
154 .IF
"$(OS)"=="MACOSX"
155 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
156 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
158 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
159 # happens if somebody will change it in the future
160 .IF
"$(COMID)"=="gcc3"
161 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL1VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
162 .ELIF
"$(COMNAME)"=="sunpro5"
163 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL1VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
164 .ELSE
# "$(COMID)"=="gcc3"
165 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL1VERSIONMAP
) > $@
166 .ENDIF
# "$(COMID)"=="gcc3"
168 # Mac OS X post-processing generate an exported symbols list from the generated map file
169 # for details on exported symbols list see man ld on Mac OS X
170 .IF
"$(OS)"=="MACOSX"
171 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
172 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
173 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
174 # Extract RTTI symbols from all the objects that will be used to build a shared library
175 .IF
"$(SHL1OBJS)"!=""
176 -echo
$(foreach,i
,$(SHL1OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
178 .IF
"$(SHL1LIBS)"!=""
179 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL1LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
181 # overwrite the map file generate into the local output tree with the generated
182 # exported symbols list
183 cp
$@.exported-symbols
$@
184 .ENDIF
# .IF "$(OS)"=="MACOSX"
185 .ENDIF
# "$(SHL1VERSIONMAP)"!=""
186 .ENDIF
# "$(USE_SHL1VERSIONMAP)"!=""
187 .ENDIF
# "$(GUI)" != "UNX"
189 .IF
"$(UNIXVERSIONNAMES)"!=""
190 .IF
"$(OS)"!="MACOSX"
193 SHL1SONAME
=$(SONAME_SWITCH
)$(SHL1TARGETN
:f
)
195 SHL1SONAME
=\"$(SONAME_SWITCH
)$(SHL1TARGETN
:f
)\"
197 .ENDIF
# "$(GUI)"!="UNX"
198 .ENDIF
# "$(OS)"!="MACOSX"
199 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
202 SHL1ALLRES
+=$(SHL1RES
)
203 SHL1LINKRES
*=$(MISC
)/$(SHL1TARGET
).res
204 SHL1LINKRESO
*=$(MISC
)/$(SHL1TARGET
)_res.o
205 .ENDIF
# "$(SHL1RES)"!=""
207 .IF
"$(SHL1DEFAULTRES)$(use_shl_versions)"!=""
208 SHL1DEFAULTRES
*=$(MISC
)/$(SHL1TARGET
)_def.res
209 SHL1ALLRES
+=$(SHL1DEFAULTRES
)
210 SHL1LINKRES
*=$(MISC
)/$(SHL1TARGET
).res
211 SHL1LINKRESO
*=$(MISC
)/$(SHL1TARGET
)_res.o
212 .ENDIF
# "$(SHL1DEFAULTRES)$(use_shl_versions)"!=""
214 #.IF "$(SHL1TARGETN)"!=""
217 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
218 .IF
"$(SHL1LIBS)"!=""
219 $(MISC
)/$(SHL1TARGET
)_linkinc.ls .PHONY
:
221 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL1LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
222 .ENDIF
# "$(SHL1LIBS)"!=""
225 LINKINCTARGETS
+=$(MISC
)/$(SHL1TARGETN
:b
)_linkinc.ls
226 $(SHL1TARGETN
) : $(LINKINCTARGETS
)
229 .IF
"$(SHL1USE_EXPORTS)"=="name"
230 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
232 .IF
"$(SHL1LIBS)"!=""
233 SHL1LINKLIST
=$(MISC
)/$(SHL1TARGET
)_link.lst
234 SHL1LINKLISTPARAM
=@
$(SHL1LINKLIST
)
235 $(SHL1LINKLIST
) : $(SHL1LIBS
)
237 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL1LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
238 .ENDIF
# "$(SHL1LIBS)"!=""
239 .ENDIF
# "$(COM)"!="GCC"
241 .ENDIF
# "$(SHL1USE_EXPORTS)"=="name"
245 .ENDIF
# "$(linkinc)"!=""
247 .IF
"$(GUI)" == "OS2"
248 #21/02/2006 YD dll names must be 8.3, invoke fix script
249 #check osl/os2/module.c/osl_loadModule()
250 SHL1TARGET8
=$(shell @fix_shl
$(SHL1TARGET
))
253 .IF
"$(GUI)" == "OS2"
254 _SHL1IMP_ORD
= $(SHL1STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL1STDLIBS
:^
"$(LB)/")
255 SHL1IMP_ORD
= $(foreach,i
,$(_SHL1IMP_ORD
) $(shell @
-ls
$i))
266 $(USE_SHL1VERSIONMAP
)\
271 .IF
"$(VERBOSE)" == "TRUE"
272 @echo
------------------------------
274 @echo
"Making: " $(@
:f
)
275 .IF
"$(GUI)" == "WNT"
276 .IF
"$(SHL1DEFAULTRES)"!=""
277 @@
-$(RM
) $(MISC
)/$(SHL1DEFAULTRES
:b
).rc
278 .IF
"$(SHL1ICON)" != ""
279 @echo
1 ICON
$(SHL1ICON
) >> $(MISC
)/$(SHL1DEFAULTRES
:b
).rc
281 .IF
"$(use_shl_versions)" != ""
282 .IF
"$(SHL1ADD_VERINFO)"!=""
283 @echo
$(EMQ
)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc
284 .ELSE
# "$(SHL1ADD_VERINFO)"!=""
285 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL1DEFAULTRES:b).rc
286 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL1DEFAULTRES:b).rc
287 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL1DEFAULTRES:b).rc
288 .ENDIF
# "$(SHL1ADD_VERINFO)"!=""
289 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL1DEFAULTRES:b).rc
290 @echo
$(EMQ
)#define ORG_NAME $(SHL1TARGET)$(DLLPOST) >> $(MISC)/$(SHL1DEFAULTRES:b).rc
291 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL1TARGET:b) >> $(MISC)/$(SHL1DEFAULTRES:b).rc
292 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc
293 .ENDIF
# "$(use_shl_versions)" != ""
294 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL1DEFAULTRES
:b
).rc
295 .ENDIF
# "$(SHL1DEFAULTRES)"!=""
296 .IF
"$(SHL1ALLRES)"!=""
297 $(COMMAND_ECHO
)$(TYPE
) $(SHL1ALLRES
) > $(SHL1LINKRES
)
299 windres
$(SHL1LINKRES
) $(SHL1LINKRESO
)
300 .ENDIF
# "$(COM)"=="GCC"
301 .ENDIF
# "$(SHL1ALLRES)"!=""
302 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
303 @echo dlltool
--input-def
$(SHL1DEF
) \
304 --dllname
$(SHL1TARGET
)$(DLLPOST
) \
305 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
306 @noop
$(assign ALL1OBJLIST
:=$(STDOBJ
) $(SHL1OBJS
) $(SHL1LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL1LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
307 .IF
"$(DEFLIB1NAME)"!="" # do not have to include objs
308 @noop
$(assign DEF1OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB1NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
309 @noop
$(foreach,i
,$(DEF1OBJLIST
) $(assign ALL1OBJLIST
:=$(ALL1OBJLIST
:s?
$i??
)))
310 .ENDIF
# "$(DEFLIB1NAME)"!=""
311 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
312 $(ALL1OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
313 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
314 $(STDOBJ
) $(SHL1VERSIONOBJ
) $(SHL1DESCRIPTIONOBJ
) $(SHL1OBJS
) $(SHL1LINKRESO
) \
315 `$(TYPE) /dev/null $(SHL1LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
316 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL1STDLIBS
) -Wl
,--end-group \
317 $(SHL1STDSHL
) $(STDSHL1
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
318 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
319 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
320 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
323 .IF
"$(SHL1USE_EXPORTS)"!="name"
324 .IF
"$(USE_DEFFILE)"!=""
325 $(SHL1LINKER
) @
$(mktmp \
328 $(SHL1STACK
) $(SHL1BASEX
) \
330 -map
:$(MISC
)/$(@
:b
).map \
334 $(SHL1VERSIONOBJ
) $(SHL1OBJS
) \
337 $(SHL1STDSHL
) $(STDSHL1
) \
339 ) $(LINKOUTPUTFILTER
)
340 # double check if target was really written... still making sense?
342 @echo linking
$@.manifest ...
343 .IF
"$(VISTA_MANIFEST)"!=""
344 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
345 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
347 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
348 .ENDIF
# "$(VISTA_MANIFEST)"!=""
349 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
350 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
351 .ELSE
# "$(USE_DEFFILE)"!=""
352 $(COMMAND_ECHO
)$(SHL1LINKER
) @
$(mktmp
$(SHL1LINKFLAGS
) \
353 $(LINKFLAGSSHL
) $(SHL1BASEX
) \
354 $(SHL1STACK
) -out
:$(SHL1TARGETN
) \
355 -map
:$(MISC
)/$(@
:B
).map \
356 $(LB
)/$(SHL1IMPLIB
).exp \
358 $(SHL1OBJS
) $(SHL1VERSIONOBJ
) \
361 $(SHL1STDSHL
) $(STDSHL1
) \
363 ) $(LINKOUTPUTFILTER
)
364 # double check if target was really written... still making sense?
366 @echo linking
$@.manifest ...
367 .IF
"$(VISTA_MANIFEST)"!=""
368 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
369 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
371 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
372 .ENDIF
# "$(VISTA_MANIFEST)"!=""
373 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
374 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
375 .ENDIF
# "$(USE_DEFFILE)"!=""
376 .ELSE
# "$(SHL1USE_EXPORTS)"!="name"
377 $(COMMAND_ECHO
)$(SHL1LINKER
) @
$(mktmp
$(SHL1LINKFLAGS
) \
378 $(LINKFLAGSSHL
) $(SHL1BASEX
) \
379 $(SHL1STACK
) -out
:$(SHL1TARGETN
) \
380 -map
:$(MISC
)/$(@
:B
).map \
383 $(SHL1OBJS
) $(SHL1VERSIONOBJ
)) \
384 $(SHL1LINKLISTPARAM
) \
385 @
$(mktmp
$(SHL1STDLIBS
) \
386 $(SHL1STDSHL
) $(STDSHL1
) \
389 @echo linking
$@.manifest ...
390 .IF
"$(VISTA_MANIFEST)"!=""
391 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
392 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
394 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
395 .ENDIF
# "$(VISTA_MANIFEST)"!=""
396 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
397 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
398 .ENDIF
# "$(SHL1USE_EXPORTS)"!="name"
399 .ELSE
# "$(linkinc)"==""
400 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL1TARGET
).lnk
401 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL1TARGET
).lst
402 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
404 $(LINKFLAGSSHL
) $(SHL1BASEX
) \
405 $(SHL1STACK
) $(MAPFILE
) \
407 $(LB
)/$(SHL1IMPLIB
).exp \
411 $(SHL1STDSHL
) $(STDSHL1
) \
413 ) >> $(MISC
)/$(SHL1TARGET
).lnk
414 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL1TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL1TARGET
).lnk
415 $(COMMAND_ECHO
)$(SHL1LINKER
) @
$(MISC
)/$(SHL1TARGET
).lnk
416 @echo linking
$@.manifest ...
417 .IF
"$(VISTA_MANIFEST)"!=""
418 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
419 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
421 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
422 .ENDIF
# "$(VISTA_MANIFEST)"!=""
423 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
424 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
425 .ENDIF
# "$(linkinc)"==""
426 .ENDIF
# "$(COM)"=="GCC"
427 .ENDIF
# "$(GUI)" == "WNT"
429 .IF
"$(OS)"=="MACOSX"
430 @
-$(RM
) $(MISC
)/$(@
:b
).list
431 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
432 @echo
$(STDSLO
) $(SHL1OBJS
:s
/.obj
/.o
/) \
434 `cat /dev/null $(SHL1LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
435 @echo
-n
$(SHL1LINKER
) $(SHL1LINKFLAGS
) $(SHL1VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
436 $(SHL1STDLIBS
) $(SHL1ARCHIVES
) $(SHL1STDSHL
) $(STDSHL1
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
437 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
438 `cat $(MISC)/$(TARGET).$(@:b)_1.cmd` \
439 >> $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
440 .IF
"$(VERBOSE)" == "TRUE"
441 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
443 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
444 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
446 @echo
"Making: " $(@
:f
).jnilib
447 @macosx-create-bundle
$@
448 .IF
"$(UPDATER)"=="YES"
449 .IF
"$(SHL1NOCHECK)"==""
450 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS1
) $(SHL1TARGETN
)
451 .ENDIF
# "$(SHL1NOCHECK)"!=""
453 .ELSE
# "$(OS)"=="MACOSX"
454 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
455 @echo
$(SHL1LINKER
) $(SHL1LINKFLAGS
) $(SHL1SONAME
) $(LINKFLAGSSHL
) $(SHL1VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL1OBJS
:s
/.obj
/.o
/) \
456 $(SHL1VERSIONOBJ
) -o
$@ \
457 `cat /dev/null $(SHL1LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
458 $(SHL1STDLIBS
) $(SHL1ARCHIVES
) $(SHL1STDSHL
) $(STDSHL1
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
459 .IF
"$(VERBOSE)" == "TRUE"
460 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
462 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_1.cmd
463 .IF
"$(UPDATER)"=="YES"
464 .IF
"$(SHL1NOCHECK)"==""
465 $(COMMAND_ECHO
)-$(RM
) $(SHL1TARGETN
:d
)check_
$(SHL1TARGETN
:f
)
466 $(COMMAND_ECHO
)$(RENAME
) $(SHL1TARGETN
) $(SHL1TARGETN
:d
)check_
$(SHL1TARGETN
:f
)
467 .IF
"$(VERBOSE)"=="TRUE"
468 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS1
) $(SHL1TARGETN
:d
)check_
$(SHL1TARGETN
:f
)
470 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS1
) -- -s
$(SHL1TARGETN
:d
)check_
$(SHL1TARGETN
:f
)
472 .ENDIF
# "$(SHL1NOCHECK)"!=""
473 .ENDIF
# "$(UPDATER)"=="YES"
474 .ENDIF
# "$(OS)"=="MACOSX"
475 .IF
"$(UNIXVERSIONNAMES)"!=""
476 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL1TARGETN
:b
)
477 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL1TARGETN
:f
) $(SHL1TARGETN
:b
)
478 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
479 .IF
"$(VERBOSE)" == "TRUE"
482 .ENDIF
# "$(GUI)" == "UNX"
484 .IF
"$(GUI)" == "OS2"
486 .IF
"$(SHL1DEFAULTRES)"!=""
487 @
+-$(RM
) $(MISC
)/$(SHL1DEFAULTRES
:b
).rc
>& $(NULLDEV
)
488 .IF
"$(SHL1ICON)" != ""
489 @
-+echo
1 ICON
$(SHL1ICON
) >> $(MISC
)/$(SHL1DEFAULTRES
:b
).rc
491 .IF
"$(use_shl_versions)" != ""
492 .IF
"$(SHL1ADD_VERINFO)"!=""
493 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc
494 .ENDIF
# "$(SHL1ADD_VERINFO)"!=""
495 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL1DEFAULTRES
:b
).rc
496 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL1DEFAULTRES:b).rc
497 .ENDIF
# "$(use_shl_versions)" != ""
498 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
499 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL1DEFAULTRES
:b
).rc
500 .ENDIF
# "$(SHL1DEFAULTRES)"!=""
502 .IF
"$(SHL1ALLRES)"!=""
503 $(COMMAND_ECHO
)+$(TYPE
) $(SHL1ALLRES
) > $(SHL1LINKRES
)
504 .ENDIF
# "$(SHL1ALLRES)"!=""
506 .IF
"$(USE_DEFFILE)"!=""
508 $(COMMAND_ECHO
)$(SHL1LINKER
) $(SHL1LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
512 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
513 $(SHL1OBJS
) $(SHL1VERSIONOBJ
) \
515 $(SHL1STDLIBS
:^
"-l") \
517 $(SHL1STDSHL
:^
"-l") $(STDSHL1
:^
"-l")
519 .ELSE
# "$(USE_DEFFILE)"!=""
521 $(COMMAND_ECHO
)$(SHL1LINKER
) -v
$(SHL1LINKFLAGS
) \
522 $(LINKFLAGSSHL
) $(SHL1BASEX
) \
523 $(SHL1STACK
) -o
$(SHL1TARGETN
) \
527 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
528 $(SHL1OBJS
) $(SHL1VERSIONOBJ
) \
530 $(SHL1STDLIBS
:^
"-l") \
532 $(SHL1STDSHL
:^
"-l") $(STDSHL1
:^
"-l") \
534 @
$(LS
) $@
>& $(NULLDEV
)
536 .ENDIF
# "$(USE_DEFFILE)"!=""
538 .IF
"$(SHL1TARGET8)" != "$(SHL1TARGET)"
539 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL1TARGET8
).dll
542 .ENDIF
# "$(GUI)" == "OS2"
546 .IF
"$(NO_TESTS)"==""
548 ALLTAR
: runtest_
$(SHL1TARGET
)
550 runtest_
$(SHL1TARGET
) : $(SHL1TARGETN
)
551 testshl
$(SHL1TARGETN
) sce
/$(SHL1TARGET
).sce
-msg
-skip
552 .ENDIF
# "$(NO_TESTS)"==""
553 .ENDIF
# "$(TESTDIR)"!=""
554 .ENDIF
# "$(SHL1TARGETN)"!=""
558 .IF
"$(SHL2TARGETN)"!=""
564 .IF
"$(SHLLINKARCONLY)" != ""
572 .IF
"$(SHL2CODETYPE)"=="C"
574 SHL2STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
575 SHL2LINKFLAGS
+=$(LINKCFLAGS
)
576 .ELSE
# "$(SHL2CODETYPE)"=="C"
578 SHL2STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
579 SHL2LINKFLAGS
+=$(LINKFLAGS
)
580 .ENDIF
# "$(SHL2CODETYPE)"=="C"
583 LINKFLAGSRUNPATH_
$(SHL2RPATH
)*=/ERROR
:/Bad_SHL2RPATH_value
584 SHL2LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL2RPATH
))
586 .IF
"$(SHL2USE_EXPORTS)"==""
587 SHL2DEF
*=$(MISC
)/$(SHL2TARGET
).def
588 .ENDIF
# "$(SHL2USE_EXPORTS)"==""
590 EXTRALIBPATHS2
=$(EXTRALIBPATHS
)
591 .IF
"$(UPDATER)"=="YES"
592 .IF
"$(SHL2NOCHECK)"==""
593 .IF
"$(SOLAR_STLLIBPATH)"!=""
594 EXTRALIBPATHS2
+=-L
$(SOLAR_STLLIBPATH
)
596 .ENDIF
# "$(SHL2NOCHECK)"!=""
598 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
599 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
600 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
602 .IF
"$(L10N_framework)"==""
603 .IF
"$(VERSIONOBJ)"!=""
604 SHL2VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL2TARGET
))}$(VERSIONOBJ
:f
)
605 USE_VERSIONH
:=$(INCCOM
)/$(SHL2VERSIONOBJ
:b
).h
606 .IF
"$(GUI)" == "UNX"
607 SHL2VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL2TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
608 .ELSE
# "$(GUI)" == "UNX"
609 SHL2VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL2TARGET
))}$(VERSIONOBJ
:f
)
610 .ENDIF
# "$(GUI)" == "UNX"
611 $(MISC
)/$(SHL2VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL2VERSIONOBJ
:b
).h
612 # $(COPY) $(SOLARENV)/src/version.c $@
613 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL2VERSIONOBJ
:b
).h
/ > $@
615 .INIT
: $(SHL2VERSIONOBJDEP
)
616 .ENDIF
# "$(VERSIONOBJ)"!=""
619 .IF
"$(GUI)" != "UNX"
620 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
621 .IF
"$(SHL2IMPLIB)" == ""
622 SHL2IMPLIB
=i
$(TARGET
)_t2
623 .ENDIF
# "$(SHL2IMPLIB)" == ""
624 .IF
"$(COM)" != "GCC"
625 USE_2IMPLIB
=-implib
:$(LB
)/$(SHL2IMPLIB
).lib
626 .ENDIF
# "$(COM)" != "GCC"
627 SHL2IMPLIBN
=$(LB
)/$(SHL2IMPLIB
).lib
628 ALLTAR
: $(SHL2IMPLIBN
)
630 .IF
"$(USE_DEFFILE)"==""
631 USE_2IMPLIB_DEPS
=$(LB
)/$(SHL2IMPLIB
).lib
632 .ENDIF
# "$(USE_DEFFILE)"==""
633 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
634 USE_SHL2DEF
=$(SHL2DEF
)
635 .ELSE
# "$(GUI)" != "UNX"
637 SHL2DEPN
+:=$(SHL2DEPNU
)
639 .IF
"$(SHL2VERSIONMAP)"==""
640 # to activate vmaps remove "#"
641 USE_SHL2VERSIONMAP
=$(MISC
)/$(SHL2TARGET
).vmap
642 .ENDIF
# "$(SHL2VERSIONMAP)"==""
644 .IF
"$(USE_SHL2VERSIONMAP)"!=""
646 .IF
"$(SHL2FILTERFILE)"!=""
647 .IF
"$(SHL2VERSIONMAP)"!=""
648 #eine von beiden ist zuviel
649 USE_SHL2VERSIONMAP
=$(MISC
)/$(SHL2TARGET
).vmap
650 $(USE_SHL2VERSIONMAP
) .PHONY
:
651 @echo
-----------------------------
652 @echo you should only use versionmap OR exportfile
653 @echo
-----------------------------
654 # force_dmake_to_error
656 .ENDIF
# "$(SHL2VERSIONMAP)"!=""
659 SHL2VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL2VERSIONMAP
)
662 $(USE_SHL2VERSIONMAP
): \
667 .IF
"$(SHL2OBJS)"!=""
668 # dump remaining objects on the fly
669 .IF
"$(OS)"=="MACOSX"
670 @
-nm
$(SHL2OBJS
:s
/.obj
/.o
/) > $@.dump
672 @nm
$(SHL2OBJS
:s
/.obj
/.o
/) > $@.dump
674 .ENDIF
# "$(SHL2OBJS)!"=""
675 @
$(TYPE
) /dev
/null
$(SHL2LIBS
:s
/.lib
/.dump
/) >> $@.dump
676 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL2INTERFACE
) -f
$(SHL2FILTERFILE
) -m
$@
678 .ELSE
# "$(SHL2FILTERFILE)"!=""
679 USE_SHL2VERSIONMAP
=$(MISC
)/$(SHL2TARGET
).vmap
680 $(USE_SHL2VERSIONMAP
) :
681 .IF
"$(VERBOSE)" == "TRUE"
682 @echo
-----------------------------
683 @echo SHL2FILTERFILE not set
!
684 @echo
-----------------------------
686 @echo dummy file to keep the dependencies for later use.
690 # force_dmake_to_error
691 .ENDIF
# "$(SHL2FILTERFILE)"!=""
692 .ELSE
# "$(USE_SHL2VERSIONMAP)"!=""
694 #and now for the plain non-generic way...
695 .IF
"$(SHL2VERSIONMAP)"!=""
696 USE_SHL2VERSIONMAP
=$(MISC
)/$(SHL2VERSIONMAP
:b
)_
$(SHL2TARGET
)$(SHL2VERSIONMAP
:e
)
698 SHL2VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL2VERSIONMAP
)
701 .IF
"$(OS)"=="MACOSX"
702 $(USE_SHL2VERSIONMAP
): $(SHL2OBJS
) $(SHL2LIBS
)
705 $(USE_SHL2VERSIONMAP
): $(SHL2VERSIONMAP
)
707 # The following files will only be generated and needed on Mac OS X as temporary files
708 # in order to generate exported symbols list out of Linux/Solaris map files
709 .IF
"$(OS)"=="MACOSX"
710 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
711 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
713 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
714 # happens if somebody will change it in the future
715 .IF
"$(COMID)"=="gcc3"
716 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL2VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
717 .ELIF
"$(COMNAME)"=="sunpro5"
718 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL2VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
719 .ELSE
# "$(COMID)"=="gcc3"
720 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL2VERSIONMAP
) > $@
721 .ENDIF
# "$(COMID)"=="gcc3"
723 # Mac OS X post-processing generate an exported symbols list from the generated map file
724 # for details on exported symbols list see man ld on Mac OS X
725 .IF
"$(OS)"=="MACOSX"
726 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
727 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
728 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
729 # Extract RTTI symbols from all the objects that will be used to build a shared library
730 .IF
"$(SHL2OBJS)"!=""
731 -echo
$(foreach,i
,$(SHL2OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
733 .IF
"$(SHL2LIBS)"!=""
734 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL2LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
736 # overwrite the map file generate into the local output tree with the generated
737 # exported symbols list
738 cp
$@.exported-symbols
$@
739 .ENDIF
# .IF "$(OS)"=="MACOSX"
740 .ENDIF
# "$(SHL2VERSIONMAP)"!=""
741 .ENDIF
# "$(USE_SHL2VERSIONMAP)"!=""
742 .ENDIF
# "$(GUI)" != "UNX"
744 .IF
"$(UNIXVERSIONNAMES)"!=""
745 .IF
"$(OS)"!="MACOSX"
748 SHL2SONAME
=$(SONAME_SWITCH
)$(SHL2TARGETN
:f
)
750 SHL2SONAME
=\"$(SONAME_SWITCH
)$(SHL2TARGETN
:f
)\"
752 .ENDIF
# "$(GUI)"!="UNX"
753 .ENDIF
# "$(OS)"!="MACOSX"
754 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
757 SHL2ALLRES
+=$(SHL2RES
)
758 SHL2LINKRES
*=$(MISC
)/$(SHL2TARGET
).res
759 SHL2LINKRESO
*=$(MISC
)/$(SHL2TARGET
)_res.o
760 .ENDIF
# "$(SHL2RES)"!=""
762 .IF
"$(SHL2DEFAULTRES)$(use_shl_versions)"!=""
763 SHL2DEFAULTRES
*=$(MISC
)/$(SHL2TARGET
)_def.res
764 SHL2ALLRES
+=$(SHL2DEFAULTRES
)
765 SHL2LINKRES
*=$(MISC
)/$(SHL2TARGET
).res
766 SHL2LINKRESO
*=$(MISC
)/$(SHL2TARGET
)_res.o
767 .ENDIF
# "$(SHL2DEFAULTRES)$(use_shl_versions)"!=""
769 #.IF "$(SHL2TARGETN)"!=""
772 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
773 .IF
"$(SHL2LIBS)"!=""
774 $(MISC
)/$(SHL2TARGET
)_linkinc.ls .PHONY
:
776 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL2LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
777 .ENDIF
# "$(SHL2LIBS)"!=""
780 LINKINCTARGETS
+=$(MISC
)/$(SHL2TARGETN
:b
)_linkinc.ls
781 $(SHL2TARGETN
) : $(LINKINCTARGETS
)
784 .IF
"$(SHL2USE_EXPORTS)"=="name"
785 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
787 .IF
"$(SHL2LIBS)"!=""
788 SHL2LINKLIST
=$(MISC
)/$(SHL2TARGET
)_link.lst
789 SHL2LINKLISTPARAM
=@
$(SHL2LINKLIST
)
790 $(SHL2LINKLIST
) : $(SHL2LIBS
)
792 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL2LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
793 .ENDIF
# "$(SHL2LIBS)"!=""
794 .ENDIF
# "$(COM)"!="GCC"
796 .ENDIF
# "$(SHL2USE_EXPORTS)"=="name"
800 .ENDIF
# "$(linkinc)"!=""
802 .IF
"$(GUI)" == "OS2"
803 #21/02/2006 YD dll names must be 8.3, invoke fix script
804 #check osl/os2/module.c/osl_loadModule()
805 SHL2TARGET8
=$(shell @fix_shl
$(SHL2TARGET
))
808 .IF
"$(GUI)" == "OS2"
809 _SHL2IMP_ORD
= $(SHL2STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL2STDLIBS
:^
"$(LB)/")
810 SHL2IMP_ORD
= $(foreach,i
,$(_SHL2IMP_ORD
) $(shell @
-ls
$i))
821 $(USE_SHL2VERSIONMAP
)\
826 .IF
"$(VERBOSE)" == "TRUE"
827 @echo
------------------------------
829 @echo
"Making: " $(@
:f
)
830 .IF
"$(GUI)" == "WNT"
831 .IF
"$(SHL2DEFAULTRES)"!=""
832 @@
-$(RM
) $(MISC
)/$(SHL2DEFAULTRES
:b
).rc
833 .IF
"$(SHL2ICON)" != ""
834 @echo
1 ICON
$(SHL2ICON
) >> $(MISC
)/$(SHL2DEFAULTRES
:b
).rc
836 .IF
"$(use_shl_versions)" != ""
837 .IF
"$(SHL2ADD_VERINFO)"!=""
838 @echo
$(EMQ
)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc
839 .ELSE
# "$(SHL2ADD_VERINFO)"!=""
840 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL2DEFAULTRES:b).rc
841 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL2DEFAULTRES:b).rc
842 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL2DEFAULTRES:b).rc
843 .ENDIF
# "$(SHL2ADD_VERINFO)"!=""
844 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL2DEFAULTRES:b).rc
845 @echo
$(EMQ
)#define ORG_NAME $(SHL2TARGET)$(DLLPOST) >> $(MISC)/$(SHL2DEFAULTRES:b).rc
846 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL2TARGET:b) >> $(MISC)/$(SHL2DEFAULTRES:b).rc
847 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc
848 .ENDIF
# "$(use_shl_versions)" != ""
849 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL2DEFAULTRES
:b
).rc
850 .ENDIF
# "$(SHL2DEFAULTRES)"!=""
851 .IF
"$(SHL2ALLRES)"!=""
852 $(COMMAND_ECHO
)$(TYPE
) $(SHL2ALLRES
) > $(SHL2LINKRES
)
854 windres
$(SHL2LINKRES
) $(SHL2LINKRESO
)
855 .ENDIF
# "$(COM)"=="GCC"
856 .ENDIF
# "$(SHL2ALLRES)"!=""
857 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
858 @echo dlltool
--input-def
$(SHL2DEF
) \
859 --dllname
$(SHL2TARGET
)$(DLLPOST
) \
860 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
861 @noop
$(assign ALL2OBJLIST
:=$(STDOBJ
) $(SHL2OBJS
) $(SHL2LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL2LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
862 .IF
"$(DEFLIB2NAME)"!="" # do not have to include objs
863 @noop
$(assign DEF2OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB2NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
864 @noop
$(foreach,i
,$(DEF2OBJLIST
) $(assign ALL2OBJLIST
:=$(ALL2OBJLIST
:s?
$i??
)))
865 .ENDIF
# "$(DEFLIB2NAME)"!=""
866 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
867 $(ALL2OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
868 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
869 $(STDOBJ
) $(SHL2VERSIONOBJ
) $(SHL2DESCRIPTIONOBJ
) $(SHL2OBJS
) $(SHL2LINKRESO
) \
870 `$(TYPE) /dev/null $(SHL2LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
871 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL2STDLIBS
) -Wl
,--end-group \
872 $(SHL2STDSHL
) $(STDSHL2
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
873 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
874 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
875 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
878 .IF
"$(SHL2USE_EXPORTS)"!="name"
879 .IF
"$(USE_DEFFILE)"!=""
880 $(SHL2LINKER
) @
$(mktmp \
883 $(SHL2STACK
) $(SHL2BASEX
) \
885 -map
:$(MISC
)/$(@
:b
).map \
889 $(SHL2VERSIONOBJ
) $(SHL2OBJS
) \
892 $(SHL2STDSHL
) $(STDSHL2
) \
894 ) $(LINKOUTPUTFILTER
)
895 # double check if target was really written... still making sense?
897 @echo linking
$@.manifest ...
898 .IF
"$(VISTA_MANIFEST)"!=""
899 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
900 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
902 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
903 .ENDIF
# "$(VISTA_MANIFEST)"!=""
904 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
905 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
906 .ELSE
# "$(USE_DEFFILE)"!=""
907 $(COMMAND_ECHO
)$(SHL2LINKER
) @
$(mktmp
$(SHL2LINKFLAGS
) \
908 $(LINKFLAGSSHL
) $(SHL2BASEX
) \
909 $(SHL2STACK
) -out
:$(SHL2TARGETN
) \
910 -map
:$(MISC
)/$(@
:B
).map \
911 $(LB
)/$(SHL2IMPLIB
).exp \
913 $(SHL2OBJS
) $(SHL2VERSIONOBJ
) \
916 $(SHL2STDSHL
) $(STDSHL2
) \
918 ) $(LINKOUTPUTFILTER
)
919 # double check if target was really written... still making sense?
921 @echo linking
$@.manifest ...
922 .IF
"$(VISTA_MANIFEST)"!=""
923 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
924 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
926 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
927 .ENDIF
# "$(VISTA_MANIFEST)"!=""
928 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
929 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
930 .ENDIF
# "$(USE_DEFFILE)"!=""
931 .ELSE
# "$(SHL2USE_EXPORTS)"!="name"
932 $(COMMAND_ECHO
)$(SHL2LINKER
) @
$(mktmp
$(SHL2LINKFLAGS
) \
933 $(LINKFLAGSSHL
) $(SHL2BASEX
) \
934 $(SHL2STACK
) -out
:$(SHL2TARGETN
) \
935 -map
:$(MISC
)/$(@
:B
).map \
938 $(SHL2OBJS
) $(SHL2VERSIONOBJ
)) \
939 $(SHL2LINKLISTPARAM
) \
940 @
$(mktmp
$(SHL2STDLIBS
) \
941 $(SHL2STDSHL
) $(STDSHL2
) \
944 @echo linking
$@.manifest ...
945 .IF
"$(VISTA_MANIFEST)"!=""
946 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
947 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
949 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
950 .ENDIF
# "$(VISTA_MANIFEST)"!=""
951 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
952 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
953 .ENDIF
# "$(SHL2USE_EXPORTS)"!="name"
954 .ELSE
# "$(linkinc)"==""
955 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL2TARGET
).lnk
956 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL2TARGET
).lst
957 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
959 $(LINKFLAGSSHL
) $(SHL2BASEX
) \
960 $(SHL2STACK
) $(MAPFILE
) \
962 $(LB
)/$(SHL2IMPLIB
).exp \
966 $(SHL2STDSHL
) $(STDSHL2
) \
968 ) >> $(MISC
)/$(SHL2TARGET
).lnk
969 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL2TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL2TARGET
).lnk
970 $(COMMAND_ECHO
)$(SHL2LINKER
) @
$(MISC
)/$(SHL2TARGET
).lnk
971 @echo linking
$@.manifest ...
972 .IF
"$(VISTA_MANIFEST)"!=""
973 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
974 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
976 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
977 .ENDIF
# "$(VISTA_MANIFEST)"!=""
978 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
979 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
980 .ENDIF
# "$(linkinc)"==""
981 .ENDIF
# "$(COM)"=="GCC"
982 .ENDIF
# "$(GUI)" == "WNT"
984 .IF
"$(OS)"=="MACOSX"
985 @
-$(RM
) $(MISC
)/$(@
:b
).list
986 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
987 @echo
$(STDSLO
) $(SHL2OBJS
:s
/.obj
/.o
/) \
989 `cat /dev/null $(SHL2LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
990 @echo
-n
$(SHL2LINKER
) $(SHL2LINKFLAGS
) $(SHL2VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
991 $(SHL2STDLIBS
) $(SHL2ARCHIVES
) $(SHL2STDSHL
) $(STDSHL2
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
992 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
993 `cat $(MISC)/$(TARGET).$(@:b)_2.cmd` \
994 >> $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
995 .IF
"$(VERBOSE)" == "TRUE"
996 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
998 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
999 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
1001 @echo
"Making: " $(@
:f
).jnilib
1002 @macosx-create-bundle
$@
1003 .IF
"$(UPDATER)"=="YES"
1004 .IF
"$(SHL2NOCHECK)"==""
1005 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS2
) $(SHL2TARGETN
)
1006 .ENDIF
# "$(SHL2NOCHECK)"!=""
1008 .ELSE
# "$(OS)"=="MACOSX"
1009 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
1010 @echo
$(SHL2LINKER
) $(SHL2LINKFLAGS
) $(SHL2SONAME
) $(LINKFLAGSSHL
) $(SHL2VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL2OBJS
:s
/.obj
/.o
/) \
1011 $(SHL2VERSIONOBJ
) -o
$@ \
1012 `cat /dev/null $(SHL2LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
1013 $(SHL2STDLIBS
) $(SHL2ARCHIVES
) $(SHL2STDSHL
) $(STDSHL2
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
1014 .IF
"$(VERBOSE)" == "TRUE"
1015 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
1017 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_2.cmd
1018 .IF
"$(UPDATER)"=="YES"
1019 .IF
"$(SHL2NOCHECK)"==""
1020 $(COMMAND_ECHO
)-$(RM
) $(SHL2TARGETN
:d
)check_
$(SHL2TARGETN
:f
)
1021 $(COMMAND_ECHO
)$(RENAME
) $(SHL2TARGETN
) $(SHL2TARGETN
:d
)check_
$(SHL2TARGETN
:f
)
1022 .IF
"$(VERBOSE)"=="TRUE"
1023 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS2
) $(SHL2TARGETN
:d
)check_
$(SHL2TARGETN
:f
)
1025 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS2
) -- -s
$(SHL2TARGETN
:d
)check_
$(SHL2TARGETN
:f
)
1027 .ENDIF
# "$(SHL2NOCHECK)"!=""
1028 .ENDIF
# "$(UPDATER)"=="YES"
1029 .ENDIF
# "$(OS)"=="MACOSX"
1030 .IF
"$(UNIXVERSIONNAMES)"!=""
1031 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL2TARGETN
:b
)
1032 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL2TARGETN
:f
) $(SHL2TARGETN
:b
)
1033 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
1034 .IF
"$(VERBOSE)" == "TRUE"
1037 .ENDIF
# "$(GUI)" == "UNX"
1039 .IF
"$(GUI)" == "OS2"
1041 .IF
"$(SHL2DEFAULTRES)"!=""
1042 @
+-$(RM
) $(MISC
)/$(SHL2DEFAULTRES
:b
).rc
>& $(NULLDEV
)
1043 .IF
"$(SHL2ICON)" != ""
1044 @
-+echo
1 ICON
$(SHL2ICON
) >> $(MISC
)/$(SHL2DEFAULTRES
:b
).rc
1046 .IF
"$(use_shl_versions)" != ""
1047 .IF
"$(SHL2ADD_VERINFO)"!=""
1048 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc
1049 .ENDIF
# "$(SHL2ADD_VERINFO)"!=""
1050 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL2DEFAULTRES
:b
).rc
1051 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL2DEFAULTRES:b).rc
1052 .ENDIF
# "$(use_shl_versions)" != ""
1053 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
1054 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL2DEFAULTRES
:b
).rc
1055 .ENDIF
# "$(SHL2DEFAULTRES)"!=""
1057 .IF
"$(SHL2ALLRES)"!=""
1058 $(COMMAND_ECHO
)+$(TYPE
) $(SHL2ALLRES
) > $(SHL2LINKRES
)
1059 .ENDIF
# "$(SHL2ALLRES)"!=""
1061 .IF
"$(USE_DEFFILE)"!=""
1063 $(COMMAND_ECHO
)$(SHL2LINKER
) $(SHL2LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
1067 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
1068 $(SHL2OBJS
) $(SHL2VERSIONOBJ
) \
1070 $(SHL2STDLIBS
:^
"-l") \
1072 $(SHL2STDSHL
:^
"-l") $(STDSHL2
:^
"-l")
1074 .ELSE
# "$(USE_DEFFILE)"!=""
1076 $(COMMAND_ECHO
)$(SHL2LINKER
) -v
$(SHL2LINKFLAGS
) \
1077 $(LINKFLAGSSHL
) $(SHL2BASEX
) \
1078 $(SHL2STACK
) -o
$(SHL2TARGETN
) \
1082 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
1083 $(SHL2OBJS
) $(SHL2VERSIONOBJ
) \
1085 $(SHL2STDLIBS
:^
"-l") \
1087 $(SHL2STDSHL
:^
"-l") $(STDSHL2
:^
"-l") \
1089 @
$(LS
) $@
>& $(NULLDEV
)
1091 .ENDIF
# "$(USE_DEFFILE)"!=""
1093 .IF
"$(SHL2TARGET8)" != "$(SHL2TARGET)"
1094 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL2TARGET8
).dll
1097 .ENDIF
# "$(GUI)" == "OS2"
1100 .IF
"$(TESTDIR)"!=""
1101 .IF
"$(NO_TESTS)"==""
1103 ALLTAR
: runtest_
$(SHL2TARGET
)
1105 runtest_
$(SHL2TARGET
) : $(SHL2TARGETN
)
1106 testshl
$(SHL2TARGETN
) sce
/$(SHL2TARGET
).sce
-msg
-skip
1107 .ENDIF
# "$(NO_TESTS)"==""
1108 .ENDIF
# "$(TESTDIR)"!=""
1109 .ENDIF
# "$(SHL2TARGETN)"!=""
1113 .IF
"$(SHL3TARGETN)"!=""
1119 .IF
"$(SHLLINKARCONLY)" != ""
1126 # decide how to link
1127 .IF
"$(SHL3CODETYPE)"=="C"
1129 SHL3STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
1130 SHL3LINKFLAGS
+=$(LINKCFLAGS
)
1131 .ELSE
# "$(SHL3CODETYPE)"=="C"
1133 SHL3STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
1134 SHL3LINKFLAGS
+=$(LINKFLAGS
)
1135 .ENDIF
# "$(SHL3CODETYPE)"=="C"
1138 LINKFLAGSRUNPATH_
$(SHL3RPATH
)*=/ERROR
:/Bad_SHL3RPATH_value
1139 SHL3LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL3RPATH
))
1141 .IF
"$(SHL3USE_EXPORTS)"==""
1142 SHL3DEF
*=$(MISC
)/$(SHL3TARGET
).def
1143 .ENDIF
# "$(SHL3USE_EXPORTS)"==""
1145 EXTRALIBPATHS3
=$(EXTRALIBPATHS
)
1146 .IF
"$(UPDATER)"=="YES"
1147 .IF
"$(SHL3NOCHECK)"==""
1148 .IF
"$(SOLAR_STLLIBPATH)"!=""
1149 EXTRALIBPATHS3
+=-L
$(SOLAR_STLLIBPATH
)
1151 .ENDIF
# "$(SHL3NOCHECK)"!=""
1153 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1154 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
1155 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1157 .IF
"$(L10N_framework)"==""
1158 .IF
"$(VERSIONOBJ)"!=""
1159 SHL3VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL3TARGET
))}$(VERSIONOBJ
:f
)
1160 USE_VERSIONH
:=$(INCCOM
)/$(SHL3VERSIONOBJ
:b
).h
1161 .IF
"$(GUI)" == "UNX"
1162 SHL3VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL3TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
1163 .ELSE
# "$(GUI)" == "UNX"
1164 SHL3VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL3TARGET
))}$(VERSIONOBJ
:f
)
1165 .ENDIF
# "$(GUI)" == "UNX"
1166 $(MISC
)/$(SHL3VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL3VERSIONOBJ
:b
).h
1167 # $(COPY) $(SOLARENV)/src/version.c $@
1168 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL3VERSIONOBJ
:b
).h
/ > $@
1170 .INIT
: $(SHL3VERSIONOBJDEP
)
1171 .ENDIF
# "$(VERSIONOBJ)"!=""
1174 .IF
"$(GUI)" != "UNX"
1175 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
1176 .IF
"$(SHL3IMPLIB)" == ""
1177 SHL3IMPLIB
=i
$(TARGET
)_t3
1178 .ENDIF
# "$(SHL3IMPLIB)" == ""
1179 .IF
"$(COM)" != "GCC"
1180 USE_3IMPLIB
=-implib
:$(LB
)/$(SHL3IMPLIB
).lib
1181 .ENDIF
# "$(COM)" != "GCC"
1182 SHL3IMPLIBN
=$(LB
)/$(SHL3IMPLIB
).lib
1183 ALLTAR
: $(SHL3IMPLIBN
)
1185 .IF
"$(USE_DEFFILE)"==""
1186 USE_3IMPLIB_DEPS
=$(LB
)/$(SHL3IMPLIB
).lib
1187 .ENDIF
# "$(USE_DEFFILE)"==""
1188 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
1189 USE_SHL3DEF
=$(SHL3DEF
)
1190 .ELSE
# "$(GUI)" != "UNX"
1192 SHL3DEPN
+:=$(SHL3DEPNU
)
1194 .IF
"$(SHL3VERSIONMAP)"==""
1195 # to activate vmaps remove "#"
1196 USE_SHL3VERSIONMAP
=$(MISC
)/$(SHL3TARGET
).vmap
1197 .ENDIF
# "$(SHL3VERSIONMAP)"==""
1199 .IF
"$(USE_SHL3VERSIONMAP)"!=""
1201 .IF
"$(SHL3FILTERFILE)"!=""
1202 .IF
"$(SHL3VERSIONMAP)"!=""
1203 #eine von beiden ist zuviel
1204 USE_SHL3VERSIONMAP
=$(MISC
)/$(SHL3TARGET
).vmap
1205 $(USE_SHL3VERSIONMAP
) .PHONY
:
1206 @echo
-----------------------------
1207 @echo you should only use versionmap OR exportfile
1208 @echo
-----------------------------
1209 # force_dmake_to_error
1211 .ENDIF
# "$(SHL3VERSIONMAP)"!=""
1214 SHL3VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL3VERSIONMAP
)
1217 $(USE_SHL3VERSIONMAP
): \
1222 .IF
"$(SHL3OBJS)"!=""
1223 # dump remaining objects on the fly
1224 .IF
"$(OS)"=="MACOSX"
1225 @
-nm
$(SHL3OBJS
:s
/.obj
/.o
/) > $@.dump
1227 @nm
$(SHL3OBJS
:s
/.obj
/.o
/) > $@.dump
1229 .ENDIF
# "$(SHL3OBJS)!"=""
1230 @
$(TYPE
) /dev
/null
$(SHL3LIBS
:s
/.lib
/.dump
/) >> $@.dump
1231 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL3INTERFACE
) -f
$(SHL3FILTERFILE
) -m
$@
1233 .ELSE
# "$(SHL3FILTERFILE)"!=""
1234 USE_SHL3VERSIONMAP
=$(MISC
)/$(SHL3TARGET
).vmap
1235 $(USE_SHL3VERSIONMAP
) :
1236 .IF
"$(VERBOSE)" == "TRUE"
1237 @echo
-----------------------------
1238 @echo SHL3FILTERFILE not set
!
1239 @echo
-----------------------------
1241 @echo dummy file to keep the dependencies for later use.
1245 # force_dmake_to_error
1246 .ENDIF
# "$(SHL3FILTERFILE)"!=""
1247 .ELSE
# "$(USE_SHL3VERSIONMAP)"!=""
1249 #and now for the plain non-generic way...
1250 .IF
"$(SHL3VERSIONMAP)"!=""
1251 USE_SHL3VERSIONMAP
=$(MISC
)/$(SHL3VERSIONMAP
:b
)_
$(SHL3TARGET
)$(SHL3VERSIONMAP
:e
)
1253 SHL3VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL3VERSIONMAP
)
1256 .IF
"$(OS)"=="MACOSX"
1257 $(USE_SHL3VERSIONMAP
): $(SHL3OBJS
) $(SHL3LIBS
)
1260 $(USE_SHL3VERSIONMAP
): $(SHL3VERSIONMAP
)
1262 # The following files will only be generated and needed on Mac OS X as temporary files
1263 # in order to generate exported symbols list out of Linux/Solaris map files
1264 .IF
"$(OS)"=="MACOSX"
1265 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
1266 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
1268 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
1269 # happens if somebody will change it in the future
1270 .IF
"$(COMID)"=="gcc3"
1271 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL3VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
1272 .ELIF
"$(COMNAME)"=="sunpro5"
1273 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL3VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
1274 .ELSE
# "$(COMID)"=="gcc3"
1275 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL3VERSIONMAP
) > $@
1276 .ENDIF
# "$(COMID)"=="gcc3"
1278 # Mac OS X post-processing generate an exported symbols list from the generated map file
1279 # for details on exported symbols list see man ld on Mac OS X
1280 .IF
"$(OS)"=="MACOSX"
1281 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
1282 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
1283 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
1284 # Extract RTTI symbols from all the objects that will be used to build a shared library
1285 .IF
"$(SHL3OBJS)"!=""
1286 -echo
$(foreach,i
,$(SHL3OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
1288 .IF
"$(SHL3LIBS)"!=""
1289 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL3LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
1291 # overwrite the map file generate into the local output tree with the generated
1292 # exported symbols list
1293 cp
$@.exported-symbols
$@
1294 .ENDIF
# .IF "$(OS)"=="MACOSX"
1295 .ENDIF
# "$(SHL3VERSIONMAP)"!=""
1296 .ENDIF
# "$(USE_SHL3VERSIONMAP)"!=""
1297 .ENDIF
# "$(GUI)" != "UNX"
1299 .IF
"$(UNIXVERSIONNAMES)"!=""
1300 .IF
"$(OS)"!="MACOSX"
1303 SHL3SONAME
=$(SONAME_SWITCH
)$(SHL3TARGETN
:f
)
1305 SHL3SONAME
=\"$(SONAME_SWITCH
)$(SHL3TARGETN
:f
)\"
1307 .ENDIF
# "$(GUI)"!="UNX"
1308 .ENDIF
# "$(OS)"!="MACOSX"
1309 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
1311 .IF
"$(SHL3RES)"!=""
1312 SHL3ALLRES
+=$(SHL3RES
)
1313 SHL3LINKRES
*=$(MISC
)/$(SHL3TARGET
).res
1314 SHL3LINKRESO
*=$(MISC
)/$(SHL3TARGET
)_res.o
1315 .ENDIF
# "$(SHL3RES)"!=""
1317 .IF
"$(SHL3DEFAULTRES)$(use_shl_versions)"!=""
1318 SHL3DEFAULTRES
*=$(MISC
)/$(SHL3TARGET
)_def.res
1319 SHL3ALLRES
+=$(SHL3DEFAULTRES
)
1320 SHL3LINKRES
*=$(MISC
)/$(SHL3TARGET
).res
1321 SHL3LINKRESO
*=$(MISC
)/$(SHL3TARGET
)_res.o
1322 .ENDIF
# "$(SHL3DEFAULTRES)$(use_shl_versions)"!=""
1324 #.IF "$(SHL3TARGETN)"!=""
1326 .IF
"$(linkinc)"!=""
1327 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
1328 .IF
"$(SHL3LIBS)"!=""
1329 $(MISC
)/$(SHL3TARGET
)_linkinc.ls .PHONY
:
1331 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL3LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
1332 .ENDIF
# "$(SHL3LIBS)"!=""
1335 LINKINCTARGETS
+=$(MISC
)/$(SHL3TARGETN
:b
)_linkinc.ls
1336 $(SHL3TARGETN
) : $(LINKINCTARGETS
)
1339 .IF
"$(SHL3USE_EXPORTS)"=="name"
1340 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
1342 .IF
"$(SHL3LIBS)"!=""
1343 SHL3LINKLIST
=$(MISC
)/$(SHL3TARGET
)_link.lst
1344 SHL3LINKLISTPARAM
=@
$(SHL3LINKLIST
)
1345 $(SHL3LINKLIST
) : $(SHL3LIBS
)
1347 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL3LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
1348 .ENDIF
# "$(SHL3LIBS)"!=""
1349 .ENDIF
# "$(COM)"!="GCC"
1351 .ENDIF
# "$(SHL3USE_EXPORTS)"=="name"
1353 $(MISC
)/%linkinc.ls
:
1355 .ENDIF
# "$(linkinc)"!=""
1357 .IF
"$(GUI)" == "OS2"
1358 #21/02/2006 YD dll names must be 8.3, invoke fix script
1359 #check osl/os2/module.c/osl_loadModule()
1360 SHL3TARGET8
=$(shell @fix_shl
$(SHL3TARGET
))
1363 .IF
"$(GUI)" == "OS2"
1364 _SHL3IMP_ORD
= $(SHL3STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL3STDLIBS
:^
"$(LB)/")
1365 SHL3IMP_ORD
= $(foreach,i
,$(_SHL3IMP_ORD
) $(shell @
-ls
$i))
1374 $(USE_3IMPLIB_DEPS
)\
1376 $(USE_SHL3VERSIONMAP
)\
1381 .IF
"$(VERBOSE)" == "TRUE"
1382 @echo
------------------------------
1384 @echo
"Making: " $(@
:f
)
1385 .IF
"$(GUI)" == "WNT"
1386 .IF
"$(SHL3DEFAULTRES)"!=""
1387 @@
-$(RM
) $(MISC
)/$(SHL3DEFAULTRES
:b
).rc
1388 .IF
"$(SHL3ICON)" != ""
1389 @echo
1 ICON
$(SHL3ICON
) >> $(MISC
)/$(SHL3DEFAULTRES
:b
).rc
1391 .IF
"$(use_shl_versions)" != ""
1392 .IF
"$(SHL3ADD_VERINFO)"!=""
1393 @echo
$(EMQ
)#include $(EMQ)"$(SHL3ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1394 .ELSE
# "$(SHL3ADD_VERINFO)"!=""
1395 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1396 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1397 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1398 .ENDIF
# "$(SHL3ADD_VERINFO)"!=""
1399 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1400 @echo
$(EMQ
)#define ORG_NAME $(SHL3TARGET)$(DLLPOST) >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1401 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL3TARGET:b) >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1402 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1403 .ENDIF
# "$(use_shl_versions)" != ""
1404 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL3DEFAULTRES
:b
).rc
1405 .ENDIF
# "$(SHL3DEFAULTRES)"!=""
1406 .IF
"$(SHL3ALLRES)"!=""
1407 $(COMMAND_ECHO
)$(TYPE
) $(SHL3ALLRES
) > $(SHL3LINKRES
)
1409 windres
$(SHL3LINKRES
) $(SHL3LINKRESO
)
1410 .ENDIF
# "$(COM)"=="GCC"
1411 .ENDIF
# "$(SHL3ALLRES)"!=""
1412 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
1413 @echo dlltool
--input-def
$(SHL3DEF
) \
1414 --dllname
$(SHL3TARGET
)$(DLLPOST
) \
1415 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1416 @noop
$(assign ALL3OBJLIST
:=$(STDOBJ
) $(SHL3OBJS
) $(SHL3LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL3LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
1417 .IF
"$(DEFLIB3NAME)"!="" # do not have to include objs
1418 @noop
$(assign DEF3OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB3NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
1419 @noop
$(foreach,i
,$(DEF3OBJLIST
) $(assign ALL3OBJLIST
:=$(ALL3OBJLIST
:s?
$i??
)))
1420 .ENDIF
# "$(DEFLIB3NAME)"!=""
1421 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
1422 $(ALL3OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1423 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
1424 $(STDOBJ
) $(SHL3VERSIONOBJ
) $(SHL3DESCRIPTIONOBJ
) $(SHL3OBJS
) $(SHL3LINKRESO
) \
1425 `$(TYPE) /dev/null $(SHL3LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
1426 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL3STDLIBS
) -Wl
,--end-group \
1427 $(SHL3STDSHL
) $(STDSHL3
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
1428 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1429 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1430 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1432 .IF
"$(linkinc)"==""
1433 .IF
"$(SHL3USE_EXPORTS)"!="name"
1434 .IF
"$(USE_DEFFILE)"!=""
1435 $(SHL3LINKER
) @
$(mktmp \
1438 $(SHL3STACK
) $(SHL3BASEX
) \
1440 -map
:$(MISC
)/$(@
:b
).map \
1444 $(SHL3VERSIONOBJ
) $(SHL3OBJS
) \
1447 $(SHL3STDSHL
) $(STDSHL3
) \
1449 ) $(LINKOUTPUTFILTER
)
1450 # double check if target was really written... still making sense?
1452 @echo linking
$@.manifest ...
1453 .IF
"$(VISTA_MANIFEST)"!=""
1454 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
1455 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1457 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1458 .ENDIF
# "$(VISTA_MANIFEST)"!=""
1459 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
1460 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
1461 .ELSE
# "$(USE_DEFFILE)"!=""
1462 $(COMMAND_ECHO
)$(SHL3LINKER
) @
$(mktmp
$(SHL3LINKFLAGS
) \
1463 $(LINKFLAGSSHL
) $(SHL3BASEX
) \
1464 $(SHL3STACK
) -out
:$(SHL3TARGETN
) \
1465 -map
:$(MISC
)/$(@
:B
).map \
1466 $(LB
)/$(SHL3IMPLIB
).exp \
1468 $(SHL3OBJS
) $(SHL3VERSIONOBJ
) \
1471 $(SHL3STDSHL
) $(STDSHL3
) \
1473 ) $(LINKOUTPUTFILTER
)
1474 # double check if target was really written... still making sense?
1476 @echo linking
$@.manifest ...
1477 .IF
"$(VISTA_MANIFEST)"!=""
1478 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
1479 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1481 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1482 .ENDIF
# "$(VISTA_MANIFEST)"!=""
1483 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
1484 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
1485 .ENDIF
# "$(USE_DEFFILE)"!=""
1486 .ELSE
# "$(SHL3USE_EXPORTS)"!="name"
1487 $(COMMAND_ECHO
)$(SHL3LINKER
) @
$(mktmp
$(SHL3LINKFLAGS
) \
1488 $(LINKFLAGSSHL
) $(SHL3BASEX
) \
1489 $(SHL3STACK
) -out
:$(SHL3TARGETN
) \
1490 -map
:$(MISC
)/$(@
:B
).map \
1493 $(SHL3OBJS
) $(SHL3VERSIONOBJ
)) \
1494 $(SHL3LINKLISTPARAM
) \
1495 @
$(mktmp
$(SHL3STDLIBS
) \
1496 $(SHL3STDSHL
) $(STDSHL3
) \
1499 @echo linking
$@.manifest ...
1500 .IF
"$(VISTA_MANIFEST)"!=""
1501 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
1502 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1504 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1505 .ENDIF
# "$(VISTA_MANIFEST)"!=""
1506 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
1507 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
1508 .ENDIF
# "$(SHL3USE_EXPORTS)"!="name"
1509 .ELSE
# "$(linkinc)"==""
1510 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL3TARGET
).lnk
1511 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL3TARGET
).lst
1512 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
1514 $(LINKFLAGSSHL
) $(SHL3BASEX
) \
1515 $(SHL3STACK
) $(MAPFILE
) \
1517 $(LB
)/$(SHL3IMPLIB
).exp \
1521 $(SHL3STDSHL
) $(STDSHL3
) \
1523 ) >> $(MISC
)/$(SHL3TARGET
).lnk
1524 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL3TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL3TARGET
).lnk
1525 $(COMMAND_ECHO
)$(SHL3LINKER
) @
$(MISC
)/$(SHL3TARGET
).lnk
1526 @echo linking
$@.manifest ...
1527 .IF
"$(VISTA_MANIFEST)"!=""
1528 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
1529 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1531 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
1532 .ENDIF
# "$(VISTA_MANIFEST)"!=""
1533 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
1534 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
1535 .ENDIF
# "$(linkinc)"==""
1536 .ENDIF
# "$(COM)"=="GCC"
1537 .ENDIF
# "$(GUI)" == "WNT"
1539 .IF
"$(OS)"=="MACOSX"
1540 @
-$(RM
) $(MISC
)/$(@
:b
).list
1541 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1542 @echo
$(STDSLO
) $(SHL3OBJS
:s
/.obj
/.o
/) \
1544 `cat /dev/null $(SHL3LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
1545 @echo
-n
$(SHL3LINKER
) $(SHL3LINKFLAGS
) $(SHL3VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
1546 $(SHL3STDLIBS
) $(SHL3ARCHIVES
) $(SHL3STDSHL
) $(STDSHL3
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1547 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
1548 `cat $(MISC)/$(TARGET).$(@:b)_3.cmd` \
1549 >> $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1550 .IF
"$(VERBOSE)" == "TRUE"
1551 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1553 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1554 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
1556 @echo
"Making: " $(@
:f
).jnilib
1557 @macosx-create-bundle
$@
1558 .IF
"$(UPDATER)"=="YES"
1559 .IF
"$(SHL3NOCHECK)"==""
1560 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS3
) $(SHL3TARGETN
)
1561 .ENDIF
# "$(SHL3NOCHECK)"!=""
1563 .ELSE
# "$(OS)"=="MACOSX"
1564 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1565 @echo
$(SHL3LINKER
) $(SHL3LINKFLAGS
) $(SHL3SONAME
) $(LINKFLAGSSHL
) $(SHL3VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL3OBJS
:s
/.obj
/.o
/) \
1566 $(SHL3VERSIONOBJ
) -o
$@ \
1567 `cat /dev/null $(SHL3LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
1568 $(SHL3STDLIBS
) $(SHL3ARCHIVES
) $(SHL3STDSHL
) $(STDSHL3
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1569 .IF
"$(VERBOSE)" == "TRUE"
1570 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1572 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_3.cmd
1573 .IF
"$(UPDATER)"=="YES"
1574 .IF
"$(SHL3NOCHECK)"==""
1575 $(COMMAND_ECHO
)-$(RM
) $(SHL3TARGETN
:d
)check_
$(SHL3TARGETN
:f
)
1576 $(COMMAND_ECHO
)$(RENAME
) $(SHL3TARGETN
) $(SHL3TARGETN
:d
)check_
$(SHL3TARGETN
:f
)
1577 .IF
"$(VERBOSE)"=="TRUE"
1578 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS3
) $(SHL3TARGETN
:d
)check_
$(SHL3TARGETN
:f
)
1580 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS3
) -- -s
$(SHL3TARGETN
:d
)check_
$(SHL3TARGETN
:f
)
1582 .ENDIF
# "$(SHL3NOCHECK)"!=""
1583 .ENDIF
# "$(UPDATER)"=="YES"
1584 .ENDIF
# "$(OS)"=="MACOSX"
1585 .IF
"$(UNIXVERSIONNAMES)"!=""
1586 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL3TARGETN
:b
)
1587 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL3TARGETN
:f
) $(SHL3TARGETN
:b
)
1588 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
1589 .IF
"$(VERBOSE)" == "TRUE"
1592 .ENDIF
# "$(GUI)" == "UNX"
1594 .IF
"$(GUI)" == "OS2"
1596 .IF
"$(SHL3DEFAULTRES)"!=""
1597 @
+-$(RM
) $(MISC
)/$(SHL3DEFAULTRES
:b
).rc
>& $(NULLDEV
)
1598 .IF
"$(SHL3ICON)" != ""
1599 @
-+echo
1 ICON
$(SHL3ICON
) >> $(MISC
)/$(SHL3DEFAULTRES
:b
).rc
1601 .IF
"$(use_shl_versions)" != ""
1602 .IF
"$(SHL3ADD_VERINFO)"!=""
1603 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL3ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1604 .ENDIF
# "$(SHL3ADD_VERINFO)"!=""
1605 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL3DEFAULTRES
:b
).rc
1606 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL3DEFAULTRES:b).rc
1607 .ENDIF
# "$(use_shl_versions)" != ""
1608 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
1609 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL3DEFAULTRES
:b
).rc
1610 .ENDIF
# "$(SHL3DEFAULTRES)"!=""
1612 .IF
"$(SHL3ALLRES)"!=""
1613 $(COMMAND_ECHO
)+$(TYPE
) $(SHL3ALLRES
) > $(SHL3LINKRES
)
1614 .ENDIF
# "$(SHL3ALLRES)"!=""
1616 .IF
"$(USE_DEFFILE)"!=""
1618 $(COMMAND_ECHO
)$(SHL3LINKER
) $(SHL3LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
1622 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
1623 $(SHL3OBJS
) $(SHL3VERSIONOBJ
) \
1625 $(SHL3STDLIBS
:^
"-l") \
1627 $(SHL3STDSHL
:^
"-l") $(STDSHL3
:^
"-l")
1629 .ELSE
# "$(USE_DEFFILE)"!=""
1631 $(COMMAND_ECHO
)$(SHL3LINKER
) -v
$(SHL3LINKFLAGS
) \
1632 $(LINKFLAGSSHL
) $(SHL3BASEX
) \
1633 $(SHL3STACK
) -o
$(SHL3TARGETN
) \
1637 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
1638 $(SHL3OBJS
) $(SHL3VERSIONOBJ
) \
1640 $(SHL3STDLIBS
:^
"-l") \
1642 $(SHL3STDSHL
:^
"-l") $(STDSHL3
:^
"-l") \
1644 @
$(LS
) $@
>& $(NULLDEV
)
1646 .ENDIF
# "$(USE_DEFFILE)"!=""
1648 .IF
"$(SHL3TARGET8)" != "$(SHL3TARGET)"
1649 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL3TARGET8
).dll
1652 .ENDIF
# "$(GUI)" == "OS2"
1655 .IF
"$(TESTDIR)"!=""
1656 .IF
"$(NO_TESTS)"==""
1658 ALLTAR
: runtest_
$(SHL3TARGET
)
1660 runtest_
$(SHL3TARGET
) : $(SHL3TARGETN
)
1661 testshl
$(SHL3TARGETN
) sce
/$(SHL3TARGET
).sce
-msg
-skip
1662 .ENDIF
# "$(NO_TESTS)"==""
1663 .ENDIF
# "$(TESTDIR)"!=""
1664 .ENDIF
# "$(SHL3TARGETN)"!=""
1668 .IF
"$(SHL4TARGETN)"!=""
1674 .IF
"$(SHLLINKARCONLY)" != ""
1681 # decide how to link
1682 .IF
"$(SHL4CODETYPE)"=="C"
1684 SHL4STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
1685 SHL4LINKFLAGS
+=$(LINKCFLAGS
)
1686 .ELSE
# "$(SHL4CODETYPE)"=="C"
1688 SHL4STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
1689 SHL4LINKFLAGS
+=$(LINKFLAGS
)
1690 .ENDIF
# "$(SHL4CODETYPE)"=="C"
1693 LINKFLAGSRUNPATH_
$(SHL4RPATH
)*=/ERROR
:/Bad_SHL4RPATH_value
1694 SHL4LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL4RPATH
))
1696 .IF
"$(SHL4USE_EXPORTS)"==""
1697 SHL4DEF
*=$(MISC
)/$(SHL4TARGET
).def
1698 .ENDIF
# "$(SHL4USE_EXPORTS)"==""
1700 EXTRALIBPATHS4
=$(EXTRALIBPATHS
)
1701 .IF
"$(UPDATER)"=="YES"
1702 .IF
"$(SHL4NOCHECK)"==""
1703 .IF
"$(SOLAR_STLLIBPATH)"!=""
1704 EXTRALIBPATHS4
+=-L
$(SOLAR_STLLIBPATH
)
1706 .ENDIF
# "$(SHL4NOCHECK)"!=""
1708 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1709 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
1710 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1712 .IF
"$(L10N_framework)"==""
1713 .IF
"$(VERSIONOBJ)"!=""
1714 SHL4VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL4TARGET
))}$(VERSIONOBJ
:f
)
1715 USE_VERSIONH
:=$(INCCOM
)/$(SHL4VERSIONOBJ
:b
).h
1716 .IF
"$(GUI)" == "UNX"
1717 SHL4VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL4TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
1718 .ELSE
# "$(GUI)" == "UNX"
1719 SHL4VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL4TARGET
))}$(VERSIONOBJ
:f
)
1720 .ENDIF
# "$(GUI)" == "UNX"
1721 $(MISC
)/$(SHL4VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL4VERSIONOBJ
:b
).h
1722 # $(COPY) $(SOLARENV)/src/version.c $@
1723 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL4VERSIONOBJ
:b
).h
/ > $@
1725 .INIT
: $(SHL4VERSIONOBJDEP
)
1726 .ENDIF
# "$(VERSIONOBJ)"!=""
1729 .IF
"$(GUI)" != "UNX"
1730 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
1731 .IF
"$(SHL4IMPLIB)" == ""
1732 SHL4IMPLIB
=i
$(TARGET
)_t4
1733 .ENDIF
# "$(SHL4IMPLIB)" == ""
1734 .IF
"$(COM)" != "GCC"
1735 USE_4IMPLIB
=-implib
:$(LB
)/$(SHL4IMPLIB
).lib
1736 .ENDIF
# "$(COM)" != "GCC"
1737 SHL4IMPLIBN
=$(LB
)/$(SHL4IMPLIB
).lib
1738 ALLTAR
: $(SHL4IMPLIBN
)
1740 .IF
"$(USE_DEFFILE)"==""
1741 USE_4IMPLIB_DEPS
=$(LB
)/$(SHL4IMPLIB
).lib
1742 .ENDIF
# "$(USE_DEFFILE)"==""
1743 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
1744 USE_SHL4DEF
=$(SHL4DEF
)
1745 .ELSE
# "$(GUI)" != "UNX"
1747 SHL4DEPN
+:=$(SHL4DEPNU
)
1749 .IF
"$(SHL4VERSIONMAP)"==""
1750 # to activate vmaps remove "#"
1751 USE_SHL4VERSIONMAP
=$(MISC
)/$(SHL4TARGET
).vmap
1752 .ENDIF
# "$(SHL4VERSIONMAP)"==""
1754 .IF
"$(USE_SHL4VERSIONMAP)"!=""
1756 .IF
"$(SHL4FILTERFILE)"!=""
1757 .IF
"$(SHL4VERSIONMAP)"!=""
1758 #eine von beiden ist zuviel
1759 USE_SHL4VERSIONMAP
=$(MISC
)/$(SHL4TARGET
).vmap
1760 $(USE_SHL4VERSIONMAP
) .PHONY
:
1761 @echo
-----------------------------
1762 @echo you should only use versionmap OR exportfile
1763 @echo
-----------------------------
1764 # force_dmake_to_error
1766 .ENDIF
# "$(SHL4VERSIONMAP)"!=""
1769 SHL4VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL4VERSIONMAP
)
1772 $(USE_SHL4VERSIONMAP
): \
1777 .IF
"$(SHL4OBJS)"!=""
1778 # dump remaining objects on the fly
1779 .IF
"$(OS)"=="MACOSX"
1780 @
-nm
$(SHL4OBJS
:s
/.obj
/.o
/) > $@.dump
1782 @nm
$(SHL4OBJS
:s
/.obj
/.o
/) > $@.dump
1784 .ENDIF
# "$(SHL4OBJS)!"=""
1785 @
$(TYPE
) /dev
/null
$(SHL4LIBS
:s
/.lib
/.dump
/) >> $@.dump
1786 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL4INTERFACE
) -f
$(SHL4FILTERFILE
) -m
$@
1788 .ELSE
# "$(SHL4FILTERFILE)"!=""
1789 USE_SHL4VERSIONMAP
=$(MISC
)/$(SHL4TARGET
).vmap
1790 $(USE_SHL4VERSIONMAP
) :
1791 .IF
"$(VERBOSE)" == "TRUE"
1792 @echo
-----------------------------
1793 @echo SHL4FILTERFILE not set
!
1794 @echo
-----------------------------
1796 @echo dummy file to keep the dependencies for later use.
1800 # force_dmake_to_error
1801 .ENDIF
# "$(SHL4FILTERFILE)"!=""
1802 .ELSE
# "$(USE_SHL4VERSIONMAP)"!=""
1804 #and now for the plain non-generic way...
1805 .IF
"$(SHL4VERSIONMAP)"!=""
1806 USE_SHL4VERSIONMAP
=$(MISC
)/$(SHL4VERSIONMAP
:b
)_
$(SHL4TARGET
)$(SHL4VERSIONMAP
:e
)
1808 SHL4VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL4VERSIONMAP
)
1811 .IF
"$(OS)"=="MACOSX"
1812 $(USE_SHL4VERSIONMAP
): $(SHL4OBJS
) $(SHL4LIBS
)
1815 $(USE_SHL4VERSIONMAP
): $(SHL4VERSIONMAP
)
1817 # The following files will only be generated and needed on Mac OS X as temporary files
1818 # in order to generate exported symbols list out of Linux/Solaris map files
1819 .IF
"$(OS)"=="MACOSX"
1820 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
1821 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
1823 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
1824 # happens if somebody will change it in the future
1825 .IF
"$(COMID)"=="gcc3"
1826 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL4VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
1827 .ELIF
"$(COMNAME)"=="sunpro5"
1828 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL4VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
1829 .ELSE
# "$(COMID)"=="gcc3"
1830 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL4VERSIONMAP
) > $@
1831 .ENDIF
# "$(COMID)"=="gcc3"
1833 # Mac OS X post-processing generate an exported symbols list from the generated map file
1834 # for details on exported symbols list see man ld on Mac OS X
1835 .IF
"$(OS)"=="MACOSX"
1836 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
1837 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
1838 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
1839 # Extract RTTI symbols from all the objects that will be used to build a shared library
1840 .IF
"$(SHL4OBJS)"!=""
1841 -echo
$(foreach,i
,$(SHL4OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
1843 .IF
"$(SHL4LIBS)"!=""
1844 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL4LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
1846 # overwrite the map file generate into the local output tree with the generated
1847 # exported symbols list
1848 cp
$@.exported-symbols
$@
1849 .ENDIF
# .IF "$(OS)"=="MACOSX"
1850 .ENDIF
# "$(SHL4VERSIONMAP)"!=""
1851 .ENDIF
# "$(USE_SHL4VERSIONMAP)"!=""
1852 .ENDIF
# "$(GUI)" != "UNX"
1854 .IF
"$(UNIXVERSIONNAMES)"!=""
1855 .IF
"$(OS)"!="MACOSX"
1858 SHL4SONAME
=$(SONAME_SWITCH
)$(SHL4TARGETN
:f
)
1860 SHL4SONAME
=\"$(SONAME_SWITCH
)$(SHL4TARGETN
:f
)\"
1862 .ENDIF
# "$(GUI)"!="UNX"
1863 .ENDIF
# "$(OS)"!="MACOSX"
1864 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
1866 .IF
"$(SHL4RES)"!=""
1867 SHL4ALLRES
+=$(SHL4RES
)
1868 SHL4LINKRES
*=$(MISC
)/$(SHL4TARGET
).res
1869 SHL4LINKRESO
*=$(MISC
)/$(SHL4TARGET
)_res.o
1870 .ENDIF
# "$(SHL4RES)"!=""
1872 .IF
"$(SHL4DEFAULTRES)$(use_shl_versions)"!=""
1873 SHL4DEFAULTRES
*=$(MISC
)/$(SHL4TARGET
)_def.res
1874 SHL4ALLRES
+=$(SHL4DEFAULTRES
)
1875 SHL4LINKRES
*=$(MISC
)/$(SHL4TARGET
).res
1876 SHL4LINKRESO
*=$(MISC
)/$(SHL4TARGET
)_res.o
1877 .ENDIF
# "$(SHL4DEFAULTRES)$(use_shl_versions)"!=""
1879 #.IF "$(SHL4TARGETN)"!=""
1881 .IF
"$(linkinc)"!=""
1882 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
1883 .IF
"$(SHL4LIBS)"!=""
1884 $(MISC
)/$(SHL4TARGET
)_linkinc.ls .PHONY
:
1886 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL4LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
1887 .ENDIF
# "$(SHL4LIBS)"!=""
1890 LINKINCTARGETS
+=$(MISC
)/$(SHL4TARGETN
:b
)_linkinc.ls
1891 $(SHL4TARGETN
) : $(LINKINCTARGETS
)
1894 .IF
"$(SHL4USE_EXPORTS)"=="name"
1895 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
1897 .IF
"$(SHL4LIBS)"!=""
1898 SHL4LINKLIST
=$(MISC
)/$(SHL4TARGET
)_link.lst
1899 SHL4LINKLISTPARAM
=@
$(SHL4LINKLIST
)
1900 $(SHL4LINKLIST
) : $(SHL4LIBS
)
1902 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL4LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
1903 .ENDIF
# "$(SHL4LIBS)"!=""
1904 .ENDIF
# "$(COM)"!="GCC"
1906 .ENDIF
# "$(SHL4USE_EXPORTS)"=="name"
1908 $(MISC
)/%linkinc.ls
:
1910 .ENDIF
# "$(linkinc)"!=""
1912 .IF
"$(GUI)" == "OS2"
1913 #21/02/2006 YD dll names must be 8.3, invoke fix script
1914 #check osl/os2/module.c/osl_loadModule()
1915 SHL4TARGET8
=$(shell @fix_shl
$(SHL4TARGET
))
1918 .IF
"$(GUI)" == "OS2"
1919 _SHL4IMP_ORD
= $(SHL4STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL4STDLIBS
:^
"$(LB)/")
1920 SHL4IMP_ORD
= $(foreach,i
,$(_SHL4IMP_ORD
) $(shell @
-ls
$i))
1929 $(USE_4IMPLIB_DEPS
)\
1931 $(USE_SHL4VERSIONMAP
)\
1936 .IF
"$(VERBOSE)" == "TRUE"
1937 @echo
------------------------------
1939 @echo
"Making: " $(@
:f
)
1940 .IF
"$(GUI)" == "WNT"
1941 .IF
"$(SHL4DEFAULTRES)"!=""
1942 @@
-$(RM
) $(MISC
)/$(SHL4DEFAULTRES
:b
).rc
1943 .IF
"$(SHL4ICON)" != ""
1944 @echo
1 ICON
$(SHL4ICON
) >> $(MISC
)/$(SHL4DEFAULTRES
:b
).rc
1946 .IF
"$(use_shl_versions)" != ""
1947 .IF
"$(SHL4ADD_VERINFO)"!=""
1948 @echo
$(EMQ
)#include $(EMQ)"$(SHL4ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1949 .ELSE
# "$(SHL4ADD_VERINFO)"!=""
1950 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1951 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1952 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1953 .ENDIF
# "$(SHL4ADD_VERINFO)"!=""
1954 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1955 @echo
$(EMQ
)#define ORG_NAME $(SHL4TARGET)$(DLLPOST) >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1956 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL4TARGET:b) >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1957 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc
1958 .ENDIF
# "$(use_shl_versions)" != ""
1959 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL4DEFAULTRES
:b
).rc
1960 .ENDIF
# "$(SHL4DEFAULTRES)"!=""
1961 .IF
"$(SHL4ALLRES)"!=""
1962 $(COMMAND_ECHO
)$(TYPE
) $(SHL4ALLRES
) > $(SHL4LINKRES
)
1964 windres
$(SHL4LINKRES
) $(SHL4LINKRESO
)
1965 .ENDIF
# "$(COM)"=="GCC"
1966 .ENDIF
# "$(SHL4ALLRES)"!=""
1967 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
1968 @echo dlltool
--input-def
$(SHL4DEF
) \
1969 --dllname
$(SHL4TARGET
)$(DLLPOST
) \
1970 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
1971 @noop
$(assign ALL4OBJLIST
:=$(STDOBJ
) $(SHL4OBJS
) $(SHL4LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL4LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
1972 .IF
"$(DEFLIB4NAME)"!="" # do not have to include objs
1973 @noop
$(assign DEF4OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB4NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
1974 @noop
$(foreach,i
,$(DEF4OBJLIST
) $(assign ALL4OBJLIST
:=$(ALL4OBJLIST
:s?
$i??
)))
1975 .ENDIF
# "$(DEFLIB4NAME)"!=""
1976 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
1977 $(ALL4OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
1978 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
1979 $(STDOBJ
) $(SHL4VERSIONOBJ
) $(SHL4DESCRIPTIONOBJ
) $(SHL4OBJS
) $(SHL4LINKRESO
) \
1980 `$(TYPE) /dev/null $(SHL4LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
1981 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL4STDLIBS
) -Wl
,--end-group \
1982 $(SHL4STDSHL
) $(STDSHL4
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
1983 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
1984 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
1985 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
1987 .IF
"$(linkinc)"==""
1988 .IF
"$(SHL4USE_EXPORTS)"!="name"
1989 .IF
"$(USE_DEFFILE)"!=""
1990 $(SHL4LINKER
) @
$(mktmp \
1993 $(SHL4STACK
) $(SHL4BASEX
) \
1995 -map
:$(MISC
)/$(@
:b
).map \
1999 $(SHL4VERSIONOBJ
) $(SHL4OBJS
) \
2002 $(SHL4STDSHL
) $(STDSHL4
) \
2004 ) $(LINKOUTPUTFILTER
)
2005 # double check if target was really written... still making sense?
2007 @echo linking
$@.manifest ...
2008 .IF
"$(VISTA_MANIFEST)"!=""
2009 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2010 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2012 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2013 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2014 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2015 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2016 .ELSE
# "$(USE_DEFFILE)"!=""
2017 $(COMMAND_ECHO
)$(SHL4LINKER
) @
$(mktmp
$(SHL4LINKFLAGS
) \
2018 $(LINKFLAGSSHL
) $(SHL4BASEX
) \
2019 $(SHL4STACK
) -out
:$(SHL4TARGETN
) \
2020 -map
:$(MISC
)/$(@
:B
).map \
2021 $(LB
)/$(SHL4IMPLIB
).exp \
2023 $(SHL4OBJS
) $(SHL4VERSIONOBJ
) \
2026 $(SHL4STDSHL
) $(STDSHL4
) \
2028 ) $(LINKOUTPUTFILTER
)
2029 # double check if target was really written... still making sense?
2031 @echo linking
$@.manifest ...
2032 .IF
"$(VISTA_MANIFEST)"!=""
2033 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2034 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2036 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2037 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2038 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2039 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2040 .ENDIF
# "$(USE_DEFFILE)"!=""
2041 .ELSE
# "$(SHL4USE_EXPORTS)"!="name"
2042 $(COMMAND_ECHO
)$(SHL4LINKER
) @
$(mktmp
$(SHL4LINKFLAGS
) \
2043 $(LINKFLAGSSHL
) $(SHL4BASEX
) \
2044 $(SHL4STACK
) -out
:$(SHL4TARGETN
) \
2045 -map
:$(MISC
)/$(@
:B
).map \
2048 $(SHL4OBJS
) $(SHL4VERSIONOBJ
)) \
2049 $(SHL4LINKLISTPARAM
) \
2050 @
$(mktmp
$(SHL4STDLIBS
) \
2051 $(SHL4STDSHL
) $(STDSHL4
) \
2054 @echo linking
$@.manifest ...
2055 .IF
"$(VISTA_MANIFEST)"!=""
2056 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2057 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2059 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2060 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2061 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2062 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2063 .ENDIF
# "$(SHL4USE_EXPORTS)"!="name"
2064 .ELSE
# "$(linkinc)"==""
2065 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL4TARGET
).lnk
2066 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL4TARGET
).lst
2067 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
2069 $(LINKFLAGSSHL
) $(SHL4BASEX
) \
2070 $(SHL4STACK
) $(MAPFILE
) \
2072 $(LB
)/$(SHL4IMPLIB
).exp \
2076 $(SHL4STDSHL
) $(STDSHL4
) \
2078 ) >> $(MISC
)/$(SHL4TARGET
).lnk
2079 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL4TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL4TARGET
).lnk
2080 $(COMMAND_ECHO
)$(SHL4LINKER
) @
$(MISC
)/$(SHL4TARGET
).lnk
2081 @echo linking
$@.manifest ...
2082 .IF
"$(VISTA_MANIFEST)"!=""
2083 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2084 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2086 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2087 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2088 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2089 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2090 .ENDIF
# "$(linkinc)"==""
2091 .ENDIF
# "$(COM)"=="GCC"
2092 .ENDIF
# "$(GUI)" == "WNT"
2094 .IF
"$(OS)"=="MACOSX"
2095 @
-$(RM
) $(MISC
)/$(@
:b
).list
2096 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2097 @echo
$(STDSLO
) $(SHL4OBJS
:s
/.obj
/.o
/) \
2099 `cat /dev/null $(SHL4LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
2100 @echo
-n
$(SHL4LINKER
) $(SHL4LINKFLAGS
) $(SHL4VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
2101 $(SHL4STDLIBS
) $(SHL4ARCHIVES
) $(SHL4STDSHL
) $(STDSHL4
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2102 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
2103 `cat $(MISC)/$(TARGET).$(@:b)_4.cmd` \
2104 >> $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2105 .IF
"$(VERBOSE)" == "TRUE"
2106 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2108 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2109 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
2111 @echo
"Making: " $(@
:f
).jnilib
2112 @macosx-create-bundle
$@
2113 .IF
"$(UPDATER)"=="YES"
2114 .IF
"$(SHL4NOCHECK)"==""
2115 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS4
) $(SHL4TARGETN
)
2116 .ENDIF
# "$(SHL4NOCHECK)"!=""
2118 .ELSE
# "$(OS)"=="MACOSX"
2119 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2120 @echo
$(SHL4LINKER
) $(SHL4LINKFLAGS
) $(SHL4SONAME
) $(LINKFLAGSSHL
) $(SHL4VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL4OBJS
:s
/.obj
/.o
/) \
2121 $(SHL4VERSIONOBJ
) -o
$@ \
2122 `cat /dev/null $(SHL4LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
2123 $(SHL4STDLIBS
) $(SHL4ARCHIVES
) $(SHL4STDSHL
) $(STDSHL4
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2124 .IF
"$(VERBOSE)" == "TRUE"
2125 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2127 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_4.cmd
2128 .IF
"$(UPDATER)"=="YES"
2129 .IF
"$(SHL4NOCHECK)"==""
2130 $(COMMAND_ECHO
)-$(RM
) $(SHL4TARGETN
:d
)check_
$(SHL4TARGETN
:f
)
2131 $(COMMAND_ECHO
)$(RENAME
) $(SHL4TARGETN
) $(SHL4TARGETN
:d
)check_
$(SHL4TARGETN
:f
)
2132 .IF
"$(VERBOSE)"=="TRUE"
2133 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS4
) $(SHL4TARGETN
:d
)check_
$(SHL4TARGETN
:f
)
2135 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS4
) -- -s
$(SHL4TARGETN
:d
)check_
$(SHL4TARGETN
:f
)
2137 .ENDIF
# "$(SHL4NOCHECK)"!=""
2138 .ENDIF
# "$(UPDATER)"=="YES"
2139 .ENDIF
# "$(OS)"=="MACOSX"
2140 .IF
"$(UNIXVERSIONNAMES)"!=""
2141 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL4TARGETN
:b
)
2142 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL4TARGETN
:f
) $(SHL4TARGETN
:b
)
2143 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
2144 .IF
"$(VERBOSE)" == "TRUE"
2147 .ENDIF
# "$(GUI)" == "UNX"
2149 .IF
"$(GUI)" == "OS2"
2151 .IF
"$(SHL4DEFAULTRES)"!=""
2152 @
+-$(RM
) $(MISC
)/$(SHL4DEFAULTRES
:b
).rc
>& $(NULLDEV
)
2153 .IF
"$(SHL4ICON)" != ""
2154 @
-+echo
1 ICON
$(SHL4ICON
) >> $(MISC
)/$(SHL4DEFAULTRES
:b
).rc
2156 .IF
"$(use_shl_versions)" != ""
2157 .IF
"$(SHL4ADD_VERINFO)"!=""
2158 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL4ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc
2159 .ENDIF
# "$(SHL4ADD_VERINFO)"!=""
2160 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL4DEFAULTRES
:b
).rc
2161 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL4DEFAULTRES:b).rc
2162 .ENDIF
# "$(use_shl_versions)" != ""
2163 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
2164 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL4DEFAULTRES
:b
).rc
2165 .ENDIF
# "$(SHL4DEFAULTRES)"!=""
2167 .IF
"$(SHL4ALLRES)"!=""
2168 $(COMMAND_ECHO
)+$(TYPE
) $(SHL4ALLRES
) > $(SHL4LINKRES
)
2169 .ENDIF
# "$(SHL4ALLRES)"!=""
2171 .IF
"$(USE_DEFFILE)"!=""
2173 $(COMMAND_ECHO
)$(SHL4LINKER
) $(SHL4LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
2177 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
2178 $(SHL4OBJS
) $(SHL4VERSIONOBJ
) \
2180 $(SHL4STDLIBS
:^
"-l") \
2182 $(SHL4STDSHL
:^
"-l") $(STDSHL4
:^
"-l")
2184 .ELSE
# "$(USE_DEFFILE)"!=""
2186 $(COMMAND_ECHO
)$(SHL4LINKER
) -v
$(SHL4LINKFLAGS
) \
2187 $(LINKFLAGSSHL
) $(SHL4BASEX
) \
2188 $(SHL4STACK
) -o
$(SHL4TARGETN
) \
2192 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
2193 $(SHL4OBJS
) $(SHL4VERSIONOBJ
) \
2195 $(SHL4STDLIBS
:^
"-l") \
2197 $(SHL4STDSHL
:^
"-l") $(STDSHL4
:^
"-l") \
2199 @
$(LS
) $@
>& $(NULLDEV
)
2201 .ENDIF
# "$(USE_DEFFILE)"!=""
2203 .IF
"$(SHL4TARGET8)" != "$(SHL4TARGET)"
2204 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL4TARGET8
).dll
2207 .ENDIF
# "$(GUI)" == "OS2"
2210 .IF
"$(TESTDIR)"!=""
2211 .IF
"$(NO_TESTS)"==""
2213 ALLTAR
: runtest_
$(SHL4TARGET
)
2215 runtest_
$(SHL4TARGET
) : $(SHL4TARGETN
)
2216 testshl
$(SHL4TARGETN
) sce
/$(SHL4TARGET
).sce
-msg
-skip
2217 .ENDIF
# "$(NO_TESTS)"==""
2218 .ENDIF
# "$(TESTDIR)"!=""
2219 .ENDIF
# "$(SHL4TARGETN)"!=""
2223 .IF
"$(SHL5TARGETN)"!=""
2229 .IF
"$(SHLLINKARCONLY)" != ""
2236 # decide how to link
2237 .IF
"$(SHL5CODETYPE)"=="C"
2239 SHL5STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
2240 SHL5LINKFLAGS
+=$(LINKCFLAGS
)
2241 .ELSE
# "$(SHL5CODETYPE)"=="C"
2243 SHL5STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
2244 SHL5LINKFLAGS
+=$(LINKFLAGS
)
2245 .ENDIF
# "$(SHL5CODETYPE)"=="C"
2248 LINKFLAGSRUNPATH_
$(SHL5RPATH
)*=/ERROR
:/Bad_SHL5RPATH_value
2249 SHL5LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL5RPATH
))
2251 .IF
"$(SHL5USE_EXPORTS)"==""
2252 SHL5DEF
*=$(MISC
)/$(SHL5TARGET
).def
2253 .ENDIF
# "$(SHL5USE_EXPORTS)"==""
2255 EXTRALIBPATHS5
=$(EXTRALIBPATHS
)
2256 .IF
"$(UPDATER)"=="YES"
2257 .IF
"$(SHL5NOCHECK)"==""
2258 .IF
"$(SOLAR_STLLIBPATH)"!=""
2259 EXTRALIBPATHS5
+=-L
$(SOLAR_STLLIBPATH
)
2261 .ENDIF
# "$(SHL5NOCHECK)"!=""
2263 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2264 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
2265 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2267 .IF
"$(L10N_framework)"==""
2268 .IF
"$(VERSIONOBJ)"!=""
2269 SHL5VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL5TARGET
))}$(VERSIONOBJ
:f
)
2270 USE_VERSIONH
:=$(INCCOM
)/$(SHL5VERSIONOBJ
:b
).h
2271 .IF
"$(GUI)" == "UNX"
2272 SHL5VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL5TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
2273 .ELSE
# "$(GUI)" == "UNX"
2274 SHL5VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL5TARGET
))}$(VERSIONOBJ
:f
)
2275 .ENDIF
# "$(GUI)" == "UNX"
2276 $(MISC
)/$(SHL5VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL5VERSIONOBJ
:b
).h
2277 # $(COPY) $(SOLARENV)/src/version.c $@
2278 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL5VERSIONOBJ
:b
).h
/ > $@
2280 .INIT
: $(SHL5VERSIONOBJDEP
)
2281 .ENDIF
# "$(VERSIONOBJ)"!=""
2284 .IF
"$(GUI)" != "UNX"
2285 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
2286 .IF
"$(SHL5IMPLIB)" == ""
2287 SHL5IMPLIB
=i
$(TARGET
)_t5
2288 .ENDIF
# "$(SHL5IMPLIB)" == ""
2289 .IF
"$(COM)" != "GCC"
2290 USE_5IMPLIB
=-implib
:$(LB
)/$(SHL5IMPLIB
).lib
2291 .ENDIF
# "$(COM)" != "GCC"
2292 SHL5IMPLIBN
=$(LB
)/$(SHL5IMPLIB
).lib
2293 ALLTAR
: $(SHL5IMPLIBN
)
2295 .IF
"$(USE_DEFFILE)"==""
2296 USE_5IMPLIB_DEPS
=$(LB
)/$(SHL5IMPLIB
).lib
2297 .ENDIF
# "$(USE_DEFFILE)"==""
2298 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
2299 USE_SHL5DEF
=$(SHL5DEF
)
2300 .ELSE
# "$(GUI)" != "UNX"
2302 SHL5DEPN
+:=$(SHL5DEPNU
)
2304 .IF
"$(SHL5VERSIONMAP)"==""
2305 # to activate vmaps remove "#"
2306 USE_SHL5VERSIONMAP
=$(MISC
)/$(SHL5TARGET
).vmap
2307 .ENDIF
# "$(SHL5VERSIONMAP)"==""
2309 .IF
"$(USE_SHL5VERSIONMAP)"!=""
2311 .IF
"$(SHL5FILTERFILE)"!=""
2312 .IF
"$(SHL5VERSIONMAP)"!=""
2313 #eine von beiden ist zuviel
2314 USE_SHL5VERSIONMAP
=$(MISC
)/$(SHL5TARGET
).vmap
2315 $(USE_SHL5VERSIONMAP
) .PHONY
:
2316 @echo
-----------------------------
2317 @echo you should only use versionmap OR exportfile
2318 @echo
-----------------------------
2319 # force_dmake_to_error
2321 .ENDIF
# "$(SHL5VERSIONMAP)"!=""
2324 SHL5VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL5VERSIONMAP
)
2327 $(USE_SHL5VERSIONMAP
): \
2332 .IF
"$(SHL5OBJS)"!=""
2333 # dump remaining objects on the fly
2334 .IF
"$(OS)"=="MACOSX"
2335 @
-nm
$(SHL5OBJS
:s
/.obj
/.o
/) > $@.dump
2337 @nm
$(SHL5OBJS
:s
/.obj
/.o
/) > $@.dump
2339 .ENDIF
# "$(SHL5OBJS)!"=""
2340 @
$(TYPE
) /dev
/null
$(SHL5LIBS
:s
/.lib
/.dump
/) >> $@.dump
2341 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL5INTERFACE
) -f
$(SHL5FILTERFILE
) -m
$@
2343 .ELSE
# "$(SHL5FILTERFILE)"!=""
2344 USE_SHL5VERSIONMAP
=$(MISC
)/$(SHL5TARGET
).vmap
2345 $(USE_SHL5VERSIONMAP
) :
2346 .IF
"$(VERBOSE)" == "TRUE"
2347 @echo
-----------------------------
2348 @echo SHL5FILTERFILE not set
!
2349 @echo
-----------------------------
2351 @echo dummy file to keep the dependencies for later use.
2355 # force_dmake_to_error
2356 .ENDIF
# "$(SHL5FILTERFILE)"!=""
2357 .ELSE
# "$(USE_SHL5VERSIONMAP)"!=""
2359 #and now for the plain non-generic way...
2360 .IF
"$(SHL5VERSIONMAP)"!=""
2361 USE_SHL5VERSIONMAP
=$(MISC
)/$(SHL5VERSIONMAP
:b
)_
$(SHL5TARGET
)$(SHL5VERSIONMAP
:e
)
2363 SHL5VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL5VERSIONMAP
)
2366 .IF
"$(OS)"=="MACOSX"
2367 $(USE_SHL5VERSIONMAP
): $(SHL5OBJS
) $(SHL5LIBS
)
2370 $(USE_SHL5VERSIONMAP
): $(SHL5VERSIONMAP
)
2372 # The following files will only be generated and needed on Mac OS X as temporary files
2373 # in order to generate exported symbols list out of Linux/Solaris map files
2374 .IF
"$(OS)"=="MACOSX"
2375 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
2376 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
2378 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
2379 # happens if somebody will change it in the future
2380 .IF
"$(COMID)"=="gcc3"
2381 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL5VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
2382 .ELIF
"$(COMNAME)"=="sunpro5"
2383 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL5VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
2384 .ELSE
# "$(COMID)"=="gcc3"
2385 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL5VERSIONMAP
) > $@
2386 .ENDIF
# "$(COMID)"=="gcc3"
2388 # Mac OS X post-processing generate an exported symbols list from the generated map file
2389 # for details on exported symbols list see man ld on Mac OS X
2390 .IF
"$(OS)"=="MACOSX"
2391 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
2392 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
2393 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
2394 # Extract RTTI symbols from all the objects that will be used to build a shared library
2395 .IF
"$(SHL5OBJS)"!=""
2396 -echo
$(foreach,i
,$(SHL5OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
2398 .IF
"$(SHL5LIBS)"!=""
2399 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL5LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
2401 # overwrite the map file generate into the local output tree with the generated
2402 # exported symbols list
2403 cp
$@.exported-symbols
$@
2404 .ENDIF
# .IF "$(OS)"=="MACOSX"
2405 .ENDIF
# "$(SHL5VERSIONMAP)"!=""
2406 .ENDIF
# "$(USE_SHL5VERSIONMAP)"!=""
2407 .ENDIF
# "$(GUI)" != "UNX"
2409 .IF
"$(UNIXVERSIONNAMES)"!=""
2410 .IF
"$(OS)"!="MACOSX"
2413 SHL5SONAME
=$(SONAME_SWITCH
)$(SHL5TARGETN
:f
)
2415 SHL5SONAME
=\"$(SONAME_SWITCH
)$(SHL5TARGETN
:f
)\"
2417 .ENDIF
# "$(GUI)"!="UNX"
2418 .ENDIF
# "$(OS)"!="MACOSX"
2419 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
2421 .IF
"$(SHL5RES)"!=""
2422 SHL5ALLRES
+=$(SHL5RES
)
2423 SHL5LINKRES
*=$(MISC
)/$(SHL5TARGET
).res
2424 SHL5LINKRESO
*=$(MISC
)/$(SHL5TARGET
)_res.o
2425 .ENDIF
# "$(SHL5RES)"!=""
2427 .IF
"$(SHL5DEFAULTRES)$(use_shl_versions)"!=""
2428 SHL5DEFAULTRES
*=$(MISC
)/$(SHL5TARGET
)_def.res
2429 SHL5ALLRES
+=$(SHL5DEFAULTRES
)
2430 SHL5LINKRES
*=$(MISC
)/$(SHL5TARGET
).res
2431 SHL5LINKRESO
*=$(MISC
)/$(SHL5TARGET
)_res.o
2432 .ENDIF
# "$(SHL5DEFAULTRES)$(use_shl_versions)"!=""
2434 #.IF "$(SHL5TARGETN)"!=""
2436 .IF
"$(linkinc)"!=""
2437 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
2438 .IF
"$(SHL5LIBS)"!=""
2439 $(MISC
)/$(SHL5TARGET
)_linkinc.ls .PHONY
:
2441 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL5LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
2442 .ENDIF
# "$(SHL5LIBS)"!=""
2445 LINKINCTARGETS
+=$(MISC
)/$(SHL5TARGETN
:b
)_linkinc.ls
2446 $(SHL5TARGETN
) : $(LINKINCTARGETS
)
2449 .IF
"$(SHL5USE_EXPORTS)"=="name"
2450 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
2452 .IF
"$(SHL5LIBS)"!=""
2453 SHL5LINKLIST
=$(MISC
)/$(SHL5TARGET
)_link.lst
2454 SHL5LINKLISTPARAM
=@
$(SHL5LINKLIST
)
2455 $(SHL5LINKLIST
) : $(SHL5LIBS
)
2457 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL5LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
2458 .ENDIF
# "$(SHL5LIBS)"!=""
2459 .ENDIF
# "$(COM)"!="GCC"
2461 .ENDIF
# "$(SHL5USE_EXPORTS)"=="name"
2463 $(MISC
)/%linkinc.ls
:
2465 .ENDIF
# "$(linkinc)"!=""
2467 .IF
"$(GUI)" == "OS2"
2468 #21/02/2006 YD dll names must be 8.3, invoke fix script
2469 #check osl/os2/module.c/osl_loadModule()
2470 SHL5TARGET8
=$(shell @fix_shl
$(SHL5TARGET
))
2473 .IF
"$(GUI)" == "OS2"
2474 _SHL5IMP_ORD
= $(SHL5STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL5STDLIBS
:^
"$(LB)/")
2475 SHL5IMP_ORD
= $(foreach,i
,$(_SHL5IMP_ORD
) $(shell @
-ls
$i))
2484 $(USE_5IMPLIB_DEPS
)\
2486 $(USE_SHL5VERSIONMAP
)\
2491 .IF
"$(VERBOSE)" == "TRUE"
2492 @echo
------------------------------
2494 @echo
"Making: " $(@
:f
)
2495 .IF
"$(GUI)" == "WNT"
2496 .IF
"$(SHL5DEFAULTRES)"!=""
2497 @@
-$(RM
) $(MISC
)/$(SHL5DEFAULTRES
:b
).rc
2498 .IF
"$(SHL5ICON)" != ""
2499 @echo
1 ICON
$(SHL5ICON
) >> $(MISC
)/$(SHL5DEFAULTRES
:b
).rc
2501 .IF
"$(use_shl_versions)" != ""
2502 .IF
"$(SHL5ADD_VERINFO)"!=""
2503 @echo
$(EMQ
)#include $(EMQ)"$(SHL5ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2504 .ELSE
# "$(SHL5ADD_VERINFO)"!=""
2505 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2506 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2507 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2508 .ENDIF
# "$(SHL5ADD_VERINFO)"!=""
2509 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2510 @echo
$(EMQ
)#define ORG_NAME $(SHL5TARGET)$(DLLPOST) >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2511 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL5TARGET:b) >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2512 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2513 .ENDIF
# "$(use_shl_versions)" != ""
2514 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL5DEFAULTRES
:b
).rc
2515 .ENDIF
# "$(SHL5DEFAULTRES)"!=""
2516 .IF
"$(SHL5ALLRES)"!=""
2517 $(COMMAND_ECHO
)$(TYPE
) $(SHL5ALLRES
) > $(SHL5LINKRES
)
2519 windres
$(SHL5LINKRES
) $(SHL5LINKRESO
)
2520 .ENDIF
# "$(COM)"=="GCC"
2521 .ENDIF
# "$(SHL5ALLRES)"!=""
2522 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
2523 @echo dlltool
--input-def
$(SHL5DEF
) \
2524 --dllname
$(SHL5TARGET
)$(DLLPOST
) \
2525 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2526 @noop
$(assign ALL5OBJLIST
:=$(STDOBJ
) $(SHL5OBJS
) $(SHL5LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL5LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
2527 .IF
"$(DEFLIB5NAME)"!="" # do not have to include objs
2528 @noop
$(assign DEF5OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB5NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
2529 @noop
$(foreach,i
,$(DEF5OBJLIST
) $(assign ALL5OBJLIST
:=$(ALL5OBJLIST
:s?
$i??
)))
2530 .ENDIF
# "$(DEFLIB5NAME)"!=""
2531 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
2532 $(ALL5OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2533 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
2534 $(STDOBJ
) $(SHL5VERSIONOBJ
) $(SHL5DESCRIPTIONOBJ
) $(SHL5OBJS
) $(SHL5LINKRESO
) \
2535 `$(TYPE) /dev/null $(SHL5LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
2536 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL5STDLIBS
) -Wl
,--end-group \
2537 $(SHL5STDSHL
) $(STDSHL5
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
2538 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2539 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2540 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2542 .IF
"$(linkinc)"==""
2543 .IF
"$(SHL5USE_EXPORTS)"!="name"
2544 .IF
"$(USE_DEFFILE)"!=""
2545 $(SHL5LINKER
) @
$(mktmp \
2548 $(SHL5STACK
) $(SHL5BASEX
) \
2550 -map
:$(MISC
)/$(@
:b
).map \
2554 $(SHL5VERSIONOBJ
) $(SHL5OBJS
) \
2557 $(SHL5STDSHL
) $(STDSHL5
) \
2559 ) $(LINKOUTPUTFILTER
)
2560 # double check if target was really written... still making sense?
2562 @echo linking
$@.manifest ...
2563 .IF
"$(VISTA_MANIFEST)"!=""
2564 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2565 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2567 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2568 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2569 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2570 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2571 .ELSE
# "$(USE_DEFFILE)"!=""
2572 $(COMMAND_ECHO
)$(SHL5LINKER
) @
$(mktmp
$(SHL5LINKFLAGS
) \
2573 $(LINKFLAGSSHL
) $(SHL5BASEX
) \
2574 $(SHL5STACK
) -out
:$(SHL5TARGETN
) \
2575 -map
:$(MISC
)/$(@
:B
).map \
2576 $(LB
)/$(SHL5IMPLIB
).exp \
2578 $(SHL5OBJS
) $(SHL5VERSIONOBJ
) \
2581 $(SHL5STDSHL
) $(STDSHL5
) \
2583 ) $(LINKOUTPUTFILTER
)
2584 # double check if target was really written... still making sense?
2586 @echo linking
$@.manifest ...
2587 .IF
"$(VISTA_MANIFEST)"!=""
2588 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2589 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2591 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2592 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2593 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2594 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2595 .ENDIF
# "$(USE_DEFFILE)"!=""
2596 .ELSE
# "$(SHL5USE_EXPORTS)"!="name"
2597 $(COMMAND_ECHO
)$(SHL5LINKER
) @
$(mktmp
$(SHL5LINKFLAGS
) \
2598 $(LINKFLAGSSHL
) $(SHL5BASEX
) \
2599 $(SHL5STACK
) -out
:$(SHL5TARGETN
) \
2600 -map
:$(MISC
)/$(@
:B
).map \
2603 $(SHL5OBJS
) $(SHL5VERSIONOBJ
)) \
2604 $(SHL5LINKLISTPARAM
) \
2605 @
$(mktmp
$(SHL5STDLIBS
) \
2606 $(SHL5STDSHL
) $(STDSHL5
) \
2609 @echo linking
$@.manifest ...
2610 .IF
"$(VISTA_MANIFEST)"!=""
2611 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2612 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2614 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2615 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2616 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2617 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2618 .ENDIF
# "$(SHL5USE_EXPORTS)"!="name"
2619 .ELSE
# "$(linkinc)"==""
2620 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL5TARGET
).lnk
2621 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL5TARGET
).lst
2622 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
2624 $(LINKFLAGSSHL
) $(SHL5BASEX
) \
2625 $(SHL5STACK
) $(MAPFILE
) \
2627 $(LB
)/$(SHL5IMPLIB
).exp \
2631 $(SHL5STDSHL
) $(STDSHL5
) \
2633 ) >> $(MISC
)/$(SHL5TARGET
).lnk
2634 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL5TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL5TARGET
).lnk
2635 $(COMMAND_ECHO
)$(SHL5LINKER
) @
$(MISC
)/$(SHL5TARGET
).lnk
2636 @echo linking
$@.manifest ...
2637 .IF
"$(VISTA_MANIFEST)"!=""
2638 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
2639 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2641 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
2642 .ENDIF
# "$(VISTA_MANIFEST)"!=""
2643 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
2644 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
2645 .ENDIF
# "$(linkinc)"==""
2646 .ENDIF
# "$(COM)"=="GCC"
2647 .ENDIF
# "$(GUI)" == "WNT"
2649 .IF
"$(OS)"=="MACOSX"
2650 @
-$(RM
) $(MISC
)/$(@
:b
).list
2651 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2652 @echo
$(STDSLO
) $(SHL5OBJS
:s
/.obj
/.o
/) \
2654 `cat /dev/null $(SHL5LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
2655 @echo
-n
$(SHL5LINKER
) $(SHL5LINKFLAGS
) $(SHL5VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
2656 $(SHL5STDLIBS
) $(SHL5ARCHIVES
) $(SHL5STDSHL
) $(STDSHL5
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2657 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
2658 `cat $(MISC)/$(TARGET).$(@:b)_5.cmd` \
2659 >> $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2660 .IF
"$(VERBOSE)" == "TRUE"
2661 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2663 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2664 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
2666 @echo
"Making: " $(@
:f
).jnilib
2667 @macosx-create-bundle
$@
2668 .IF
"$(UPDATER)"=="YES"
2669 .IF
"$(SHL5NOCHECK)"==""
2670 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS5
) $(SHL5TARGETN
)
2671 .ENDIF
# "$(SHL5NOCHECK)"!=""
2673 .ELSE
# "$(OS)"=="MACOSX"
2674 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2675 @echo
$(SHL5LINKER
) $(SHL5LINKFLAGS
) $(SHL5SONAME
) $(LINKFLAGSSHL
) $(SHL5VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL5OBJS
:s
/.obj
/.o
/) \
2676 $(SHL5VERSIONOBJ
) -o
$@ \
2677 `cat /dev/null $(SHL5LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
2678 $(SHL5STDLIBS
) $(SHL5ARCHIVES
) $(SHL5STDSHL
) $(STDSHL5
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2679 .IF
"$(VERBOSE)" == "TRUE"
2680 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2682 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_5.cmd
2683 .IF
"$(UPDATER)"=="YES"
2684 .IF
"$(SHL5NOCHECK)"==""
2685 $(COMMAND_ECHO
)-$(RM
) $(SHL5TARGETN
:d
)check_
$(SHL5TARGETN
:f
)
2686 $(COMMAND_ECHO
)$(RENAME
) $(SHL5TARGETN
) $(SHL5TARGETN
:d
)check_
$(SHL5TARGETN
:f
)
2687 .IF
"$(VERBOSE)"=="TRUE"
2688 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS5
) $(SHL5TARGETN
:d
)check_
$(SHL5TARGETN
:f
)
2690 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS5
) -- -s
$(SHL5TARGETN
:d
)check_
$(SHL5TARGETN
:f
)
2692 .ENDIF
# "$(SHL5NOCHECK)"!=""
2693 .ENDIF
# "$(UPDATER)"=="YES"
2694 .ENDIF
# "$(OS)"=="MACOSX"
2695 .IF
"$(UNIXVERSIONNAMES)"!=""
2696 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL5TARGETN
:b
)
2697 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL5TARGETN
:f
) $(SHL5TARGETN
:b
)
2698 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
2699 .IF
"$(VERBOSE)" == "TRUE"
2702 .ENDIF
# "$(GUI)" == "UNX"
2704 .IF
"$(GUI)" == "OS2"
2706 .IF
"$(SHL5DEFAULTRES)"!=""
2707 @
+-$(RM
) $(MISC
)/$(SHL5DEFAULTRES
:b
).rc
>& $(NULLDEV
)
2708 .IF
"$(SHL5ICON)" != ""
2709 @
-+echo
1 ICON
$(SHL5ICON
) >> $(MISC
)/$(SHL5DEFAULTRES
:b
).rc
2711 .IF
"$(use_shl_versions)" != ""
2712 .IF
"$(SHL5ADD_VERINFO)"!=""
2713 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL5ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2714 .ENDIF
# "$(SHL5ADD_VERINFO)"!=""
2715 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL5DEFAULTRES
:b
).rc
2716 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL5DEFAULTRES:b).rc
2717 .ENDIF
# "$(use_shl_versions)" != ""
2718 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
2719 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL5DEFAULTRES
:b
).rc
2720 .ENDIF
# "$(SHL5DEFAULTRES)"!=""
2722 .IF
"$(SHL5ALLRES)"!=""
2723 $(COMMAND_ECHO
)+$(TYPE
) $(SHL5ALLRES
) > $(SHL5LINKRES
)
2724 .ENDIF
# "$(SHL5ALLRES)"!=""
2726 .IF
"$(USE_DEFFILE)"!=""
2728 $(COMMAND_ECHO
)$(SHL5LINKER
) $(SHL5LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
2732 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
2733 $(SHL5OBJS
) $(SHL5VERSIONOBJ
) \
2735 $(SHL5STDLIBS
:^
"-l") \
2737 $(SHL5STDSHL
:^
"-l") $(STDSHL5
:^
"-l")
2739 .ELSE
# "$(USE_DEFFILE)"!=""
2741 $(COMMAND_ECHO
)$(SHL5LINKER
) -v
$(SHL5LINKFLAGS
) \
2742 $(LINKFLAGSSHL
) $(SHL5BASEX
) \
2743 $(SHL5STACK
) -o
$(SHL5TARGETN
) \
2747 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
2748 $(SHL5OBJS
) $(SHL5VERSIONOBJ
) \
2750 $(SHL5STDLIBS
:^
"-l") \
2752 $(SHL5STDSHL
:^
"-l") $(STDSHL5
:^
"-l") \
2754 @
$(LS
) $@
>& $(NULLDEV
)
2756 .ENDIF
# "$(USE_DEFFILE)"!=""
2758 .IF
"$(SHL5TARGET8)" != "$(SHL5TARGET)"
2759 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL5TARGET8
).dll
2762 .ENDIF
# "$(GUI)" == "OS2"
2765 .IF
"$(TESTDIR)"!=""
2766 .IF
"$(NO_TESTS)"==""
2768 ALLTAR
: runtest_
$(SHL5TARGET
)
2770 runtest_
$(SHL5TARGET
) : $(SHL5TARGETN
)
2771 testshl
$(SHL5TARGETN
) sce
/$(SHL5TARGET
).sce
-msg
-skip
2772 .ENDIF
# "$(NO_TESTS)"==""
2773 .ENDIF
# "$(TESTDIR)"!=""
2774 .ENDIF
# "$(SHL5TARGETN)"!=""
2778 .IF
"$(SHL6TARGETN)"!=""
2784 .IF
"$(SHLLINKARCONLY)" != ""
2791 # decide how to link
2792 .IF
"$(SHL6CODETYPE)"=="C"
2794 SHL6STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
2795 SHL6LINKFLAGS
+=$(LINKCFLAGS
)
2796 .ELSE
# "$(SHL6CODETYPE)"=="C"
2798 SHL6STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
2799 SHL6LINKFLAGS
+=$(LINKFLAGS
)
2800 .ENDIF
# "$(SHL6CODETYPE)"=="C"
2803 LINKFLAGSRUNPATH_
$(SHL6RPATH
)*=/ERROR
:/Bad_SHL6RPATH_value
2804 SHL6LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL6RPATH
))
2806 .IF
"$(SHL6USE_EXPORTS)"==""
2807 SHL6DEF
*=$(MISC
)/$(SHL6TARGET
).def
2808 .ENDIF
# "$(SHL6USE_EXPORTS)"==""
2810 EXTRALIBPATHS6
=$(EXTRALIBPATHS
)
2811 .IF
"$(UPDATER)"=="YES"
2812 .IF
"$(SHL6NOCHECK)"==""
2813 .IF
"$(SOLAR_STLLIBPATH)"!=""
2814 EXTRALIBPATHS6
+=-L
$(SOLAR_STLLIBPATH
)
2816 .ENDIF
# "$(SHL6NOCHECK)"!=""
2818 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2819 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
2820 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2822 .IF
"$(L10N_framework)"==""
2823 .IF
"$(VERSIONOBJ)"!=""
2824 SHL6VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL6TARGET
))}$(VERSIONOBJ
:f
)
2825 USE_VERSIONH
:=$(INCCOM
)/$(SHL6VERSIONOBJ
:b
).h
2826 .IF
"$(GUI)" == "UNX"
2827 SHL6VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL6TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
2828 .ELSE
# "$(GUI)" == "UNX"
2829 SHL6VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL6TARGET
))}$(VERSIONOBJ
:f
)
2830 .ENDIF
# "$(GUI)" == "UNX"
2831 $(MISC
)/$(SHL6VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL6VERSIONOBJ
:b
).h
2832 # $(COPY) $(SOLARENV)/src/version.c $@
2833 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL6VERSIONOBJ
:b
).h
/ > $@
2835 .INIT
: $(SHL6VERSIONOBJDEP
)
2836 .ENDIF
# "$(VERSIONOBJ)"!=""
2839 .IF
"$(GUI)" != "UNX"
2840 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
2841 .IF
"$(SHL6IMPLIB)" == ""
2842 SHL6IMPLIB
=i
$(TARGET
)_t6
2843 .ENDIF
# "$(SHL6IMPLIB)" == ""
2844 .IF
"$(COM)" != "GCC"
2845 USE_6IMPLIB
=-implib
:$(LB
)/$(SHL6IMPLIB
).lib
2846 .ENDIF
# "$(COM)" != "GCC"
2847 SHL6IMPLIBN
=$(LB
)/$(SHL6IMPLIB
).lib
2848 ALLTAR
: $(SHL6IMPLIBN
)
2850 .IF
"$(USE_DEFFILE)"==""
2851 USE_6IMPLIB_DEPS
=$(LB
)/$(SHL6IMPLIB
).lib
2852 .ENDIF
# "$(USE_DEFFILE)"==""
2853 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
2854 USE_SHL6DEF
=$(SHL6DEF
)
2855 .ELSE
# "$(GUI)" != "UNX"
2857 SHL6DEPN
+:=$(SHL6DEPNU
)
2859 .IF
"$(SHL6VERSIONMAP)"==""
2860 # to activate vmaps remove "#"
2861 USE_SHL6VERSIONMAP
=$(MISC
)/$(SHL6TARGET
).vmap
2862 .ENDIF
# "$(SHL6VERSIONMAP)"==""
2864 .IF
"$(USE_SHL6VERSIONMAP)"!=""
2866 .IF
"$(SHL6FILTERFILE)"!=""
2867 .IF
"$(SHL6VERSIONMAP)"!=""
2868 #eine von beiden ist zuviel
2869 USE_SHL6VERSIONMAP
=$(MISC
)/$(SHL6TARGET
).vmap
2870 $(USE_SHL6VERSIONMAP
) .PHONY
:
2871 @echo
-----------------------------
2872 @echo you should only use versionmap OR exportfile
2873 @echo
-----------------------------
2874 # force_dmake_to_error
2876 .ENDIF
# "$(SHL6VERSIONMAP)"!=""
2879 SHL6VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL6VERSIONMAP
)
2882 $(USE_SHL6VERSIONMAP
): \
2887 .IF
"$(SHL6OBJS)"!=""
2888 # dump remaining objects on the fly
2889 .IF
"$(OS)"=="MACOSX"
2890 @
-nm
$(SHL6OBJS
:s
/.obj
/.o
/) > $@.dump
2892 @nm
$(SHL6OBJS
:s
/.obj
/.o
/) > $@.dump
2894 .ENDIF
# "$(SHL6OBJS)!"=""
2895 @
$(TYPE
) /dev
/null
$(SHL6LIBS
:s
/.lib
/.dump
/) >> $@.dump
2896 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL6INTERFACE
) -f
$(SHL6FILTERFILE
) -m
$@
2898 .ELSE
# "$(SHL6FILTERFILE)"!=""
2899 USE_SHL6VERSIONMAP
=$(MISC
)/$(SHL6TARGET
).vmap
2900 $(USE_SHL6VERSIONMAP
) :
2901 .IF
"$(VERBOSE)" == "TRUE"
2902 @echo
-----------------------------
2903 @echo SHL6FILTERFILE not set
!
2904 @echo
-----------------------------
2906 @echo dummy file to keep the dependencies for later use.
2910 # force_dmake_to_error
2911 .ENDIF
# "$(SHL6FILTERFILE)"!=""
2912 .ELSE
# "$(USE_SHL6VERSIONMAP)"!=""
2914 #and now for the plain non-generic way...
2915 .IF
"$(SHL6VERSIONMAP)"!=""
2916 USE_SHL6VERSIONMAP
=$(MISC
)/$(SHL6VERSIONMAP
:b
)_
$(SHL6TARGET
)$(SHL6VERSIONMAP
:e
)
2918 SHL6VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL6VERSIONMAP
)
2921 .IF
"$(OS)"=="MACOSX"
2922 $(USE_SHL6VERSIONMAP
): $(SHL6OBJS
) $(SHL6LIBS
)
2925 $(USE_SHL6VERSIONMAP
): $(SHL6VERSIONMAP
)
2927 # The following files will only be generated and needed on Mac OS X as temporary files
2928 # in order to generate exported symbols list out of Linux/Solaris map files
2929 .IF
"$(OS)"=="MACOSX"
2930 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
2931 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
2933 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
2934 # happens if somebody will change it in the future
2935 .IF
"$(COMID)"=="gcc3"
2936 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL6VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
2937 .ELIF
"$(COMNAME)"=="sunpro5"
2938 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL6VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
2939 .ELSE
# "$(COMID)"=="gcc3"
2940 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL6VERSIONMAP
) > $@
2941 .ENDIF
# "$(COMID)"=="gcc3"
2943 # Mac OS X post-processing generate an exported symbols list from the generated map file
2944 # for details on exported symbols list see man ld on Mac OS X
2945 .IF
"$(OS)"=="MACOSX"
2946 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
2947 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
2948 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
2949 # Extract RTTI symbols from all the objects that will be used to build a shared library
2950 .IF
"$(SHL6OBJS)"!=""
2951 -echo
$(foreach,i
,$(SHL6OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
2953 .IF
"$(SHL6LIBS)"!=""
2954 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL6LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
2956 # overwrite the map file generate into the local output tree with the generated
2957 # exported symbols list
2958 cp
$@.exported-symbols
$@
2959 .ENDIF
# .IF "$(OS)"=="MACOSX"
2960 .ENDIF
# "$(SHL6VERSIONMAP)"!=""
2961 .ENDIF
# "$(USE_SHL6VERSIONMAP)"!=""
2962 .ENDIF
# "$(GUI)" != "UNX"
2964 .IF
"$(UNIXVERSIONNAMES)"!=""
2965 .IF
"$(OS)"!="MACOSX"
2968 SHL6SONAME
=$(SONAME_SWITCH
)$(SHL6TARGETN
:f
)
2970 SHL6SONAME
=\"$(SONAME_SWITCH
)$(SHL6TARGETN
:f
)\"
2972 .ENDIF
# "$(GUI)"!="UNX"
2973 .ENDIF
# "$(OS)"!="MACOSX"
2974 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
2976 .IF
"$(SHL6RES)"!=""
2977 SHL6ALLRES
+=$(SHL6RES
)
2978 SHL6LINKRES
*=$(MISC
)/$(SHL6TARGET
).res
2979 SHL6LINKRESO
*=$(MISC
)/$(SHL6TARGET
)_res.o
2980 .ENDIF
# "$(SHL6RES)"!=""
2982 .IF
"$(SHL6DEFAULTRES)$(use_shl_versions)"!=""
2983 SHL6DEFAULTRES
*=$(MISC
)/$(SHL6TARGET
)_def.res
2984 SHL6ALLRES
+=$(SHL6DEFAULTRES
)
2985 SHL6LINKRES
*=$(MISC
)/$(SHL6TARGET
).res
2986 SHL6LINKRESO
*=$(MISC
)/$(SHL6TARGET
)_res.o
2987 .ENDIF
# "$(SHL6DEFAULTRES)$(use_shl_versions)"!=""
2989 #.IF "$(SHL6TARGETN)"!=""
2991 .IF
"$(linkinc)"!=""
2992 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
2993 .IF
"$(SHL6LIBS)"!=""
2994 $(MISC
)/$(SHL6TARGET
)_linkinc.ls .PHONY
:
2996 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL6LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
2997 .ENDIF
# "$(SHL6LIBS)"!=""
3000 LINKINCTARGETS
+=$(MISC
)/$(SHL6TARGETN
:b
)_linkinc.ls
3001 $(SHL6TARGETN
) : $(LINKINCTARGETS
)
3004 .IF
"$(SHL6USE_EXPORTS)"=="name"
3005 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
3007 .IF
"$(SHL6LIBS)"!=""
3008 SHL6LINKLIST
=$(MISC
)/$(SHL6TARGET
)_link.lst
3009 SHL6LINKLISTPARAM
=@
$(SHL6LINKLIST
)
3010 $(SHL6LINKLIST
) : $(SHL6LIBS
)
3012 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL6LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
3013 .ENDIF
# "$(SHL6LIBS)"!=""
3014 .ENDIF
# "$(COM)"!="GCC"
3016 .ENDIF
# "$(SHL6USE_EXPORTS)"=="name"
3018 $(MISC
)/%linkinc.ls
:
3020 .ENDIF
# "$(linkinc)"!=""
3022 .IF
"$(GUI)" == "OS2"
3023 #21/02/2006 YD dll names must be 8.3, invoke fix script
3024 #check osl/os2/module.c/osl_loadModule()
3025 SHL6TARGET8
=$(shell @fix_shl
$(SHL6TARGET
))
3028 .IF
"$(GUI)" == "OS2"
3029 _SHL6IMP_ORD
= $(SHL6STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL6STDLIBS
:^
"$(LB)/")
3030 SHL6IMP_ORD
= $(foreach,i
,$(_SHL6IMP_ORD
) $(shell @
-ls
$i))
3039 $(USE_6IMPLIB_DEPS
)\
3041 $(USE_SHL6VERSIONMAP
)\
3046 .IF
"$(VERBOSE)" == "TRUE"
3047 @echo
------------------------------
3049 @echo
"Making: " $(@
:f
)
3050 .IF
"$(GUI)" == "WNT"
3051 .IF
"$(SHL6DEFAULTRES)"!=""
3052 @@
-$(RM
) $(MISC
)/$(SHL6DEFAULTRES
:b
).rc
3053 .IF
"$(SHL6ICON)" != ""
3054 @echo
1 ICON
$(SHL6ICON
) >> $(MISC
)/$(SHL6DEFAULTRES
:b
).rc
3056 .IF
"$(use_shl_versions)" != ""
3057 .IF
"$(SHL6ADD_VERINFO)"!=""
3058 @echo
$(EMQ
)#include $(EMQ)"$(SHL6ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3059 .ELSE
# "$(SHL6ADD_VERINFO)"!=""
3060 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3061 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3062 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3063 .ENDIF
# "$(SHL6ADD_VERINFO)"!=""
3064 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3065 @echo
$(EMQ
)#define ORG_NAME $(SHL6TARGET)$(DLLPOST) >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3066 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL6TARGET:b) >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3067 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3068 .ENDIF
# "$(use_shl_versions)" != ""
3069 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL6DEFAULTRES
:b
).rc
3070 .ENDIF
# "$(SHL6DEFAULTRES)"!=""
3071 .IF
"$(SHL6ALLRES)"!=""
3072 $(COMMAND_ECHO
)$(TYPE
) $(SHL6ALLRES
) > $(SHL6LINKRES
)
3074 windres
$(SHL6LINKRES
) $(SHL6LINKRESO
)
3075 .ENDIF
# "$(COM)"=="GCC"
3076 .ENDIF
# "$(SHL6ALLRES)"!=""
3077 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
3078 @echo dlltool
--input-def
$(SHL6DEF
) \
3079 --dllname
$(SHL6TARGET
)$(DLLPOST
) \
3080 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3081 @noop
$(assign ALL6OBJLIST
:=$(STDOBJ
) $(SHL6OBJS
) $(SHL6LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL6LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
3082 .IF
"$(DEFLIB6NAME)"!="" # do not have to include objs
3083 @noop
$(assign DEF6OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB6NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
3084 @noop
$(foreach,i
,$(DEF6OBJLIST
) $(assign ALL6OBJLIST
:=$(ALL6OBJLIST
:s?
$i??
)))
3085 .ENDIF
# "$(DEFLIB6NAME)"!=""
3086 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
3087 $(ALL6OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3088 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
3089 $(STDOBJ
) $(SHL6VERSIONOBJ
) $(SHL6DESCRIPTIONOBJ
) $(SHL6OBJS
) $(SHL6LINKRESO
) \
3090 `$(TYPE) /dev/null $(SHL6LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
3091 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL6STDLIBS
) -Wl
,--end-group \
3092 $(SHL6STDSHL
) $(STDSHL6
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
3093 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3094 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3095 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3097 .IF
"$(linkinc)"==""
3098 .IF
"$(SHL6USE_EXPORTS)"!="name"
3099 .IF
"$(USE_DEFFILE)"!=""
3100 $(SHL6LINKER
) @
$(mktmp \
3103 $(SHL6STACK
) $(SHL6BASEX
) \
3105 -map
:$(MISC
)/$(@
:b
).map \
3109 $(SHL6VERSIONOBJ
) $(SHL6OBJS
) \
3112 $(SHL6STDSHL
) $(STDSHL6
) \
3114 ) $(LINKOUTPUTFILTER
)
3115 # double check if target was really written... still making sense?
3117 @echo linking
$@.manifest ...
3118 .IF
"$(VISTA_MANIFEST)"!=""
3119 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3120 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3122 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3123 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3124 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3125 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3126 .ELSE
# "$(USE_DEFFILE)"!=""
3127 $(COMMAND_ECHO
)$(SHL6LINKER
) @
$(mktmp
$(SHL6LINKFLAGS
) \
3128 $(LINKFLAGSSHL
) $(SHL6BASEX
) \
3129 $(SHL6STACK
) -out
:$(SHL6TARGETN
) \
3130 -map
:$(MISC
)/$(@
:B
).map \
3131 $(LB
)/$(SHL6IMPLIB
).exp \
3133 $(SHL6OBJS
) $(SHL6VERSIONOBJ
) \
3136 $(SHL6STDSHL
) $(STDSHL6
) \
3138 ) $(LINKOUTPUTFILTER
)
3139 # double check if target was really written... still making sense?
3141 @echo linking
$@.manifest ...
3142 .IF
"$(VISTA_MANIFEST)"!=""
3143 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3144 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3146 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3147 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3148 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3149 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3150 .ENDIF
# "$(USE_DEFFILE)"!=""
3151 .ELSE
# "$(SHL6USE_EXPORTS)"!="name"
3152 $(COMMAND_ECHO
)$(SHL6LINKER
) @
$(mktmp
$(SHL6LINKFLAGS
) \
3153 $(LINKFLAGSSHL
) $(SHL6BASEX
) \
3154 $(SHL6STACK
) -out
:$(SHL6TARGETN
) \
3155 -map
:$(MISC
)/$(@
:B
).map \
3158 $(SHL6OBJS
) $(SHL6VERSIONOBJ
)) \
3159 $(SHL6LINKLISTPARAM
) \
3160 @
$(mktmp
$(SHL6STDLIBS
) \
3161 $(SHL6STDSHL
) $(STDSHL6
) \
3164 @echo linking
$@.manifest ...
3165 .IF
"$(VISTA_MANIFEST)"!=""
3166 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3167 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3169 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3170 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3171 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3172 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3173 .ENDIF
# "$(SHL6USE_EXPORTS)"!="name"
3174 .ELSE
# "$(linkinc)"==""
3175 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL6TARGET
).lnk
3176 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL6TARGET
).lst
3177 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
3179 $(LINKFLAGSSHL
) $(SHL6BASEX
) \
3180 $(SHL6STACK
) $(MAPFILE
) \
3182 $(LB
)/$(SHL6IMPLIB
).exp \
3186 $(SHL6STDSHL
) $(STDSHL6
) \
3188 ) >> $(MISC
)/$(SHL6TARGET
).lnk
3189 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL6TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL6TARGET
).lnk
3190 $(COMMAND_ECHO
)$(SHL6LINKER
) @
$(MISC
)/$(SHL6TARGET
).lnk
3191 @echo linking
$@.manifest ...
3192 .IF
"$(VISTA_MANIFEST)"!=""
3193 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3194 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3196 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3197 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3198 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3199 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3200 .ENDIF
# "$(linkinc)"==""
3201 .ENDIF
# "$(COM)"=="GCC"
3202 .ENDIF
# "$(GUI)" == "WNT"
3204 .IF
"$(OS)"=="MACOSX"
3205 @
-$(RM
) $(MISC
)/$(@
:b
).list
3206 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3207 @echo
$(STDSLO
) $(SHL6OBJS
:s
/.obj
/.o
/) \
3209 `cat /dev/null $(SHL6LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
3210 @echo
-n
$(SHL6LINKER
) $(SHL6LINKFLAGS
) $(SHL6VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
3211 $(SHL6STDLIBS
) $(SHL6ARCHIVES
) $(SHL6STDSHL
) $(STDSHL6
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3212 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
3213 `cat $(MISC)/$(TARGET).$(@:b)_6.cmd` \
3214 >> $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3215 .IF
"$(VERBOSE)" == "TRUE"
3216 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3218 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3219 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
3221 @echo
"Making: " $(@
:f
).jnilib
3222 @macosx-create-bundle
$@
3223 .IF
"$(UPDATER)"=="YES"
3224 .IF
"$(SHL6NOCHECK)"==""
3225 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS6
) $(SHL6TARGETN
)
3226 .ENDIF
# "$(SHL6NOCHECK)"!=""
3228 .ELSE
# "$(OS)"=="MACOSX"
3229 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3230 @echo
$(SHL6LINKER
) $(SHL6LINKFLAGS
) $(SHL6SONAME
) $(LINKFLAGSSHL
) $(SHL6VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL6OBJS
:s
/.obj
/.o
/) \
3231 $(SHL6VERSIONOBJ
) -o
$@ \
3232 `cat /dev/null $(SHL6LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
3233 $(SHL6STDLIBS
) $(SHL6ARCHIVES
) $(SHL6STDSHL
) $(STDSHL6
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3234 .IF
"$(VERBOSE)" == "TRUE"
3235 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3237 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_6.cmd
3238 .IF
"$(UPDATER)"=="YES"
3239 .IF
"$(SHL6NOCHECK)"==""
3240 $(COMMAND_ECHO
)-$(RM
) $(SHL6TARGETN
:d
)check_
$(SHL6TARGETN
:f
)
3241 $(COMMAND_ECHO
)$(RENAME
) $(SHL6TARGETN
) $(SHL6TARGETN
:d
)check_
$(SHL6TARGETN
:f
)
3242 .IF
"$(VERBOSE)"=="TRUE"
3243 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS6
) $(SHL6TARGETN
:d
)check_
$(SHL6TARGETN
:f
)
3245 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS6
) -- -s
$(SHL6TARGETN
:d
)check_
$(SHL6TARGETN
:f
)
3247 .ENDIF
# "$(SHL6NOCHECK)"!=""
3248 .ENDIF
# "$(UPDATER)"=="YES"
3249 .ENDIF
# "$(OS)"=="MACOSX"
3250 .IF
"$(UNIXVERSIONNAMES)"!=""
3251 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL6TARGETN
:b
)
3252 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL6TARGETN
:f
) $(SHL6TARGETN
:b
)
3253 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
3254 .IF
"$(VERBOSE)" == "TRUE"
3257 .ENDIF
# "$(GUI)" == "UNX"
3259 .IF
"$(GUI)" == "OS2"
3261 .IF
"$(SHL6DEFAULTRES)"!=""
3262 @
+-$(RM
) $(MISC
)/$(SHL6DEFAULTRES
:b
).rc
>& $(NULLDEV
)
3263 .IF
"$(SHL6ICON)" != ""
3264 @
-+echo
1 ICON
$(SHL6ICON
) >> $(MISC
)/$(SHL6DEFAULTRES
:b
).rc
3266 .IF
"$(use_shl_versions)" != ""
3267 .IF
"$(SHL6ADD_VERINFO)"!=""
3268 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL6ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3269 .ENDIF
# "$(SHL6ADD_VERINFO)"!=""
3270 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL6DEFAULTRES
:b
).rc
3271 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL6DEFAULTRES:b).rc
3272 .ENDIF
# "$(use_shl_versions)" != ""
3273 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
3274 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL6DEFAULTRES
:b
).rc
3275 .ENDIF
# "$(SHL6DEFAULTRES)"!=""
3277 .IF
"$(SHL6ALLRES)"!=""
3278 $(COMMAND_ECHO
)+$(TYPE
) $(SHL6ALLRES
) > $(SHL6LINKRES
)
3279 .ENDIF
# "$(SHL6ALLRES)"!=""
3281 .IF
"$(USE_DEFFILE)"!=""
3283 $(COMMAND_ECHO
)$(SHL6LINKER
) $(SHL6LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
3287 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
3288 $(SHL6OBJS
) $(SHL6VERSIONOBJ
) \
3290 $(SHL6STDLIBS
:^
"-l") \
3292 $(SHL6STDSHL
:^
"-l") $(STDSHL6
:^
"-l")
3294 .ELSE
# "$(USE_DEFFILE)"!=""
3296 $(COMMAND_ECHO
)$(SHL6LINKER
) -v
$(SHL6LINKFLAGS
) \
3297 $(LINKFLAGSSHL
) $(SHL6BASEX
) \
3298 $(SHL6STACK
) -o
$(SHL6TARGETN
) \
3302 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
3303 $(SHL6OBJS
) $(SHL6VERSIONOBJ
) \
3305 $(SHL6STDLIBS
:^
"-l") \
3307 $(SHL6STDSHL
:^
"-l") $(STDSHL6
:^
"-l") \
3309 @
$(LS
) $@
>& $(NULLDEV
)
3311 .ENDIF
# "$(USE_DEFFILE)"!=""
3313 .IF
"$(SHL6TARGET8)" != "$(SHL6TARGET)"
3314 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL6TARGET8
).dll
3317 .ENDIF
# "$(GUI)" == "OS2"
3320 .IF
"$(TESTDIR)"!=""
3321 .IF
"$(NO_TESTS)"==""
3323 ALLTAR
: runtest_
$(SHL6TARGET
)
3325 runtest_
$(SHL6TARGET
) : $(SHL6TARGETN
)
3326 testshl
$(SHL6TARGETN
) sce
/$(SHL6TARGET
).sce
-msg
-skip
3327 .ENDIF
# "$(NO_TESTS)"==""
3328 .ENDIF
# "$(TESTDIR)"!=""
3329 .ENDIF
# "$(SHL6TARGETN)"!=""
3333 .IF
"$(SHL7TARGETN)"!=""
3339 .IF
"$(SHLLINKARCONLY)" != ""
3346 # decide how to link
3347 .IF
"$(SHL7CODETYPE)"=="C"
3349 SHL7STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
3350 SHL7LINKFLAGS
+=$(LINKCFLAGS
)
3351 .ELSE
# "$(SHL7CODETYPE)"=="C"
3353 SHL7STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
3354 SHL7LINKFLAGS
+=$(LINKFLAGS
)
3355 .ENDIF
# "$(SHL7CODETYPE)"=="C"
3358 LINKFLAGSRUNPATH_
$(SHL7RPATH
)*=/ERROR
:/Bad_SHL7RPATH_value
3359 SHL7LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL7RPATH
))
3361 .IF
"$(SHL7USE_EXPORTS)"==""
3362 SHL7DEF
*=$(MISC
)/$(SHL7TARGET
).def
3363 .ENDIF
# "$(SHL7USE_EXPORTS)"==""
3365 EXTRALIBPATHS7
=$(EXTRALIBPATHS
)
3366 .IF
"$(UPDATER)"=="YES"
3367 .IF
"$(SHL7NOCHECK)"==""
3368 .IF
"$(SOLAR_STLLIBPATH)"!=""
3369 EXTRALIBPATHS7
+=-L
$(SOLAR_STLLIBPATH
)
3371 .ENDIF
# "$(SHL7NOCHECK)"!=""
3373 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3374 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
3375 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3377 .IF
"$(L10N_framework)"==""
3378 .IF
"$(VERSIONOBJ)"!=""
3379 SHL7VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL7TARGET
))}$(VERSIONOBJ
:f
)
3380 USE_VERSIONH
:=$(INCCOM
)/$(SHL7VERSIONOBJ
:b
).h
3381 .IF
"$(GUI)" == "UNX"
3382 SHL7VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL7TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
3383 .ELSE
# "$(GUI)" == "UNX"
3384 SHL7VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL7TARGET
))}$(VERSIONOBJ
:f
)
3385 .ENDIF
# "$(GUI)" == "UNX"
3386 $(MISC
)/$(SHL7VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL7VERSIONOBJ
:b
).h
3387 # $(COPY) $(SOLARENV)/src/version.c $@
3388 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL7VERSIONOBJ
:b
).h
/ > $@
3390 .INIT
: $(SHL7VERSIONOBJDEP
)
3391 .ENDIF
# "$(VERSIONOBJ)"!=""
3394 .IF
"$(GUI)" != "UNX"
3395 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
3396 .IF
"$(SHL7IMPLIB)" == ""
3397 SHL7IMPLIB
=i
$(TARGET
)_t7
3398 .ENDIF
# "$(SHL7IMPLIB)" == ""
3399 .IF
"$(COM)" != "GCC"
3400 USE_7IMPLIB
=-implib
:$(LB
)/$(SHL7IMPLIB
).lib
3401 .ENDIF
# "$(COM)" != "GCC"
3402 SHL7IMPLIBN
=$(LB
)/$(SHL7IMPLIB
).lib
3403 ALLTAR
: $(SHL7IMPLIBN
)
3405 .IF
"$(USE_DEFFILE)"==""
3406 USE_7IMPLIB_DEPS
=$(LB
)/$(SHL7IMPLIB
).lib
3407 .ENDIF
# "$(USE_DEFFILE)"==""
3408 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
3409 USE_SHL7DEF
=$(SHL7DEF
)
3410 .ELSE
# "$(GUI)" != "UNX"
3412 SHL7DEPN
+:=$(SHL7DEPNU
)
3414 .IF
"$(SHL7VERSIONMAP)"==""
3415 # to activate vmaps remove "#"
3416 USE_SHL7VERSIONMAP
=$(MISC
)/$(SHL7TARGET
).vmap
3417 .ENDIF
# "$(SHL7VERSIONMAP)"==""
3419 .IF
"$(USE_SHL7VERSIONMAP)"!=""
3421 .IF
"$(SHL7FILTERFILE)"!=""
3422 .IF
"$(SHL7VERSIONMAP)"!=""
3423 #eine von beiden ist zuviel
3424 USE_SHL7VERSIONMAP
=$(MISC
)/$(SHL7TARGET
).vmap
3425 $(USE_SHL7VERSIONMAP
) .PHONY
:
3426 @echo
-----------------------------
3427 @echo you should only use versionmap OR exportfile
3428 @echo
-----------------------------
3429 # force_dmake_to_error
3431 .ENDIF
# "$(SHL7VERSIONMAP)"!=""
3434 SHL7VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL7VERSIONMAP
)
3437 $(USE_SHL7VERSIONMAP
): \
3442 .IF
"$(SHL7OBJS)"!=""
3443 # dump remaining objects on the fly
3444 .IF
"$(OS)"=="MACOSX"
3445 @
-nm
$(SHL7OBJS
:s
/.obj
/.o
/) > $@.dump
3447 @nm
$(SHL7OBJS
:s
/.obj
/.o
/) > $@.dump
3449 .ENDIF
# "$(SHL7OBJS)!"=""
3450 @
$(TYPE
) /dev
/null
$(SHL7LIBS
:s
/.lib
/.dump
/) >> $@.dump
3451 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL7INTERFACE
) -f
$(SHL7FILTERFILE
) -m
$@
3453 .ELSE
# "$(SHL7FILTERFILE)"!=""
3454 USE_SHL7VERSIONMAP
=$(MISC
)/$(SHL7TARGET
).vmap
3455 $(USE_SHL7VERSIONMAP
) :
3456 .IF
"$(VERBOSE)" == "TRUE"
3457 @echo
-----------------------------
3458 @echo SHL7FILTERFILE not set
!
3459 @echo
-----------------------------
3461 @echo dummy file to keep the dependencies for later use.
3465 # force_dmake_to_error
3466 .ENDIF
# "$(SHL7FILTERFILE)"!=""
3467 .ELSE
# "$(USE_SHL7VERSIONMAP)"!=""
3469 #and now for the plain non-generic way...
3470 .IF
"$(SHL7VERSIONMAP)"!=""
3471 USE_SHL7VERSIONMAP
=$(MISC
)/$(SHL7VERSIONMAP
:b
)_
$(SHL7TARGET
)$(SHL7VERSIONMAP
:e
)
3473 SHL7VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL7VERSIONMAP
)
3476 .IF
"$(OS)"=="MACOSX"
3477 $(USE_SHL7VERSIONMAP
): $(SHL7OBJS
) $(SHL7LIBS
)
3480 $(USE_SHL7VERSIONMAP
): $(SHL7VERSIONMAP
)
3482 # The following files will only be generated and needed on Mac OS X as temporary files
3483 # in order to generate exported symbols list out of Linux/Solaris map files
3484 .IF
"$(OS)"=="MACOSX"
3485 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
3486 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
3488 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
3489 # happens if somebody will change it in the future
3490 .IF
"$(COMID)"=="gcc3"
3491 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL7VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
3492 .ELIF
"$(COMNAME)"=="sunpro5"
3493 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL7VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
3494 .ELSE
# "$(COMID)"=="gcc3"
3495 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL7VERSIONMAP
) > $@
3496 .ENDIF
# "$(COMID)"=="gcc3"
3498 # Mac OS X post-processing generate an exported symbols list from the generated map file
3499 # for details on exported symbols list see man ld on Mac OS X
3500 .IF
"$(OS)"=="MACOSX"
3501 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
3502 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
3503 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
3504 # Extract RTTI symbols from all the objects that will be used to build a shared library
3505 .IF
"$(SHL7OBJS)"!=""
3506 -echo
$(foreach,i
,$(SHL7OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
3508 .IF
"$(SHL7LIBS)"!=""
3509 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL7LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
3511 # overwrite the map file generate into the local output tree with the generated
3512 # exported symbols list
3513 cp
$@.exported-symbols
$@
3514 .ENDIF
# .IF "$(OS)"=="MACOSX"
3515 .ENDIF
# "$(SHL7VERSIONMAP)"!=""
3516 .ENDIF
# "$(USE_SHL7VERSIONMAP)"!=""
3517 .ENDIF
# "$(GUI)" != "UNX"
3519 .IF
"$(UNIXVERSIONNAMES)"!=""
3520 .IF
"$(OS)"!="MACOSX"
3523 SHL7SONAME
=$(SONAME_SWITCH
)$(SHL7TARGETN
:f
)
3525 SHL7SONAME
=\"$(SONAME_SWITCH
)$(SHL7TARGETN
:f
)\"
3527 .ENDIF
# "$(GUI)"!="UNX"
3528 .ENDIF
# "$(OS)"!="MACOSX"
3529 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
3531 .IF
"$(SHL7RES)"!=""
3532 SHL7ALLRES
+=$(SHL7RES
)
3533 SHL7LINKRES
*=$(MISC
)/$(SHL7TARGET
).res
3534 SHL7LINKRESO
*=$(MISC
)/$(SHL7TARGET
)_res.o
3535 .ENDIF
# "$(SHL7RES)"!=""
3537 .IF
"$(SHL7DEFAULTRES)$(use_shl_versions)"!=""
3538 SHL7DEFAULTRES
*=$(MISC
)/$(SHL7TARGET
)_def.res
3539 SHL7ALLRES
+=$(SHL7DEFAULTRES
)
3540 SHL7LINKRES
*=$(MISC
)/$(SHL7TARGET
).res
3541 SHL7LINKRESO
*=$(MISC
)/$(SHL7TARGET
)_res.o
3542 .ENDIF
# "$(SHL7DEFAULTRES)$(use_shl_versions)"!=""
3544 #.IF "$(SHL7TARGETN)"!=""
3546 .IF
"$(linkinc)"!=""
3547 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
3548 .IF
"$(SHL7LIBS)"!=""
3549 $(MISC
)/$(SHL7TARGET
)_linkinc.ls .PHONY
:
3551 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL7LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
3552 .ENDIF
# "$(SHL7LIBS)"!=""
3555 LINKINCTARGETS
+=$(MISC
)/$(SHL7TARGETN
:b
)_linkinc.ls
3556 $(SHL7TARGETN
) : $(LINKINCTARGETS
)
3559 .IF
"$(SHL7USE_EXPORTS)"=="name"
3560 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
3562 .IF
"$(SHL7LIBS)"!=""
3563 SHL7LINKLIST
=$(MISC
)/$(SHL7TARGET
)_link.lst
3564 SHL7LINKLISTPARAM
=@
$(SHL7LINKLIST
)
3565 $(SHL7LINKLIST
) : $(SHL7LIBS
)
3567 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL7LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
3568 .ENDIF
# "$(SHL7LIBS)"!=""
3569 .ENDIF
# "$(COM)"!="GCC"
3571 .ENDIF
# "$(SHL7USE_EXPORTS)"=="name"
3573 $(MISC
)/%linkinc.ls
:
3575 .ENDIF
# "$(linkinc)"!=""
3577 .IF
"$(GUI)" == "OS2"
3578 #21/02/2006 YD dll names must be 8.3, invoke fix script
3579 #check osl/os2/module.c/osl_loadModule()
3580 SHL7TARGET8
=$(shell @fix_shl
$(SHL7TARGET
))
3583 .IF
"$(GUI)" == "OS2"
3584 _SHL7IMP_ORD
= $(SHL7STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL7STDLIBS
:^
"$(LB)/")
3585 SHL7IMP_ORD
= $(foreach,i
,$(_SHL7IMP_ORD
) $(shell @
-ls
$i))
3594 $(USE_7IMPLIB_DEPS
)\
3596 $(USE_SHL7VERSIONMAP
)\
3601 .IF
"$(VERBOSE)" == "TRUE"
3602 @echo
------------------------------
3604 @echo
"Making: " $(@
:f
)
3605 .IF
"$(GUI)" == "WNT"
3606 .IF
"$(SHL7DEFAULTRES)"!=""
3607 @@
-$(RM
) $(MISC
)/$(SHL7DEFAULTRES
:b
).rc
3608 .IF
"$(SHL7ICON)" != ""
3609 @echo
1 ICON
$(SHL7ICON
) >> $(MISC
)/$(SHL7DEFAULTRES
:b
).rc
3611 .IF
"$(use_shl_versions)" != ""
3612 .IF
"$(SHL7ADD_VERINFO)"!=""
3613 @echo
$(EMQ
)#include $(EMQ)"$(SHL7ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3614 .ELSE
# "$(SHL7ADD_VERINFO)"!=""
3615 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3616 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3617 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3618 .ENDIF
# "$(SHL7ADD_VERINFO)"!=""
3619 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3620 @echo
$(EMQ
)#define ORG_NAME $(SHL7TARGET)$(DLLPOST) >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3621 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL7TARGET:b) >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3622 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3623 .ENDIF
# "$(use_shl_versions)" != ""
3624 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL7DEFAULTRES
:b
).rc
3625 .ENDIF
# "$(SHL7DEFAULTRES)"!=""
3626 .IF
"$(SHL7ALLRES)"!=""
3627 $(COMMAND_ECHO
)$(TYPE
) $(SHL7ALLRES
) > $(SHL7LINKRES
)
3629 windres
$(SHL7LINKRES
) $(SHL7LINKRESO
)
3630 .ENDIF
# "$(COM)"=="GCC"
3631 .ENDIF
# "$(SHL7ALLRES)"!=""
3632 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
3633 @echo dlltool
--input-def
$(SHL7DEF
) \
3634 --dllname
$(SHL7TARGET
)$(DLLPOST
) \
3635 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3636 @noop
$(assign ALL7OBJLIST
:=$(STDOBJ
) $(SHL7OBJS
) $(SHL7LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL7LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
3637 .IF
"$(DEFLIB7NAME)"!="" # do not have to include objs
3638 @noop
$(assign DEF7OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB7NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
3639 @noop
$(foreach,i
,$(DEF7OBJLIST
) $(assign ALL7OBJLIST
:=$(ALL7OBJLIST
:s?
$i??
)))
3640 .ENDIF
# "$(DEFLIB7NAME)"!=""
3641 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
3642 $(ALL7OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3643 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
3644 $(STDOBJ
) $(SHL7VERSIONOBJ
) $(SHL7DESCRIPTIONOBJ
) $(SHL7OBJS
) $(SHL7LINKRESO
) \
3645 `$(TYPE) /dev/null $(SHL7LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
3646 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL7STDLIBS
) -Wl
,--end-group \
3647 $(SHL7STDSHL
) $(STDSHL7
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
3648 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3649 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3650 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3652 .IF
"$(linkinc)"==""
3653 .IF
"$(SHL7USE_EXPORTS)"!="name"
3654 .IF
"$(USE_DEFFILE)"!=""
3655 $(SHL7LINKER
) @
$(mktmp \
3658 $(SHL7STACK
) $(SHL7BASEX
) \
3660 -map
:$(MISC
)/$(@
:b
).map \
3664 $(SHL7VERSIONOBJ
) $(SHL7OBJS
) \
3667 $(SHL7STDSHL
) $(STDSHL7
) \
3669 ) $(LINKOUTPUTFILTER
)
3670 # double check if target was really written... still making sense?
3672 @echo linking
$@.manifest ...
3673 .IF
"$(VISTA_MANIFEST)"!=""
3674 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3675 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3677 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3678 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3679 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3680 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3681 .ELSE
# "$(USE_DEFFILE)"!=""
3682 $(COMMAND_ECHO
)$(SHL7LINKER
) @
$(mktmp
$(SHL7LINKFLAGS
) \
3683 $(LINKFLAGSSHL
) $(SHL7BASEX
) \
3684 $(SHL7STACK
) -out
:$(SHL7TARGETN
) \
3685 -map
:$(MISC
)/$(@
:B
).map \
3686 $(LB
)/$(SHL7IMPLIB
).exp \
3688 $(SHL7OBJS
) $(SHL7VERSIONOBJ
) \
3691 $(SHL7STDSHL
) $(STDSHL7
) \
3693 ) $(LINKOUTPUTFILTER
)
3694 # double check if target was really written... still making sense?
3696 @echo linking
$@.manifest ...
3697 .IF
"$(VISTA_MANIFEST)"!=""
3698 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3699 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3701 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3702 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3703 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3704 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3705 .ENDIF
# "$(USE_DEFFILE)"!=""
3706 .ELSE
# "$(SHL7USE_EXPORTS)"!="name"
3707 $(COMMAND_ECHO
)$(SHL7LINKER
) @
$(mktmp
$(SHL7LINKFLAGS
) \
3708 $(LINKFLAGSSHL
) $(SHL7BASEX
) \
3709 $(SHL7STACK
) -out
:$(SHL7TARGETN
) \
3710 -map
:$(MISC
)/$(@
:B
).map \
3713 $(SHL7OBJS
) $(SHL7VERSIONOBJ
)) \
3714 $(SHL7LINKLISTPARAM
) \
3715 @
$(mktmp
$(SHL7STDLIBS
) \
3716 $(SHL7STDSHL
) $(STDSHL7
) \
3719 @echo linking
$@.manifest ...
3720 .IF
"$(VISTA_MANIFEST)"!=""
3721 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3722 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3724 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3725 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3726 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3727 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3728 .ENDIF
# "$(SHL7USE_EXPORTS)"!="name"
3729 .ELSE
# "$(linkinc)"==""
3730 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL7TARGET
).lnk
3731 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL7TARGET
).lst
3732 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
3734 $(LINKFLAGSSHL
) $(SHL7BASEX
) \
3735 $(SHL7STACK
) $(MAPFILE
) \
3737 $(LB
)/$(SHL7IMPLIB
).exp \
3741 $(SHL7STDSHL
) $(STDSHL7
) \
3743 ) >> $(MISC
)/$(SHL7TARGET
).lnk
3744 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL7TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL7TARGET
).lnk
3745 $(COMMAND_ECHO
)$(SHL7LINKER
) @
$(MISC
)/$(SHL7TARGET
).lnk
3746 @echo linking
$@.manifest ...
3747 .IF
"$(VISTA_MANIFEST)"!=""
3748 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
3749 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3751 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
3752 .ENDIF
# "$(VISTA_MANIFEST)"!=""
3753 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
3754 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
3755 .ENDIF
# "$(linkinc)"==""
3756 .ENDIF
# "$(COM)"=="GCC"
3757 .ENDIF
# "$(GUI)" == "WNT"
3759 .IF
"$(OS)"=="MACOSX"
3760 @
-$(RM
) $(MISC
)/$(@
:b
).list
3761 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3762 @echo
$(STDSLO
) $(SHL7OBJS
:s
/.obj
/.o
/) \
3764 `cat /dev/null $(SHL7LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
3765 @echo
-n
$(SHL7LINKER
) $(SHL7LINKFLAGS
) $(SHL7VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
3766 $(SHL7STDLIBS
) $(SHL7ARCHIVES
) $(SHL7STDSHL
) $(STDSHL7
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3767 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
3768 `cat $(MISC)/$(TARGET).$(@:b)_7.cmd` \
3769 >> $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3770 .IF
"$(VERBOSE)" == "TRUE"
3771 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3773 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3774 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
3776 @echo
"Making: " $(@
:f
).jnilib
3777 @macosx-create-bundle
$@
3778 .IF
"$(UPDATER)"=="YES"
3779 .IF
"$(SHL7NOCHECK)"==""
3780 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS7
) $(SHL7TARGETN
)
3781 .ENDIF
# "$(SHL7NOCHECK)"!=""
3783 .ELSE
# "$(OS)"=="MACOSX"
3784 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3785 @echo
$(SHL7LINKER
) $(SHL7LINKFLAGS
) $(SHL7SONAME
) $(LINKFLAGSSHL
) $(SHL7VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL7OBJS
:s
/.obj
/.o
/) \
3786 $(SHL7VERSIONOBJ
) -o
$@ \
3787 `cat /dev/null $(SHL7LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
3788 $(SHL7STDLIBS
) $(SHL7ARCHIVES
) $(SHL7STDSHL
) $(STDSHL7
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3789 .IF
"$(VERBOSE)" == "TRUE"
3790 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3792 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_7.cmd
3793 .IF
"$(UPDATER)"=="YES"
3794 .IF
"$(SHL7NOCHECK)"==""
3795 $(COMMAND_ECHO
)-$(RM
) $(SHL7TARGETN
:d
)check_
$(SHL7TARGETN
:f
)
3796 $(COMMAND_ECHO
)$(RENAME
) $(SHL7TARGETN
) $(SHL7TARGETN
:d
)check_
$(SHL7TARGETN
:f
)
3797 .IF
"$(VERBOSE)"=="TRUE"
3798 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS7
) $(SHL7TARGETN
:d
)check_
$(SHL7TARGETN
:f
)
3800 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS7
) -- -s
$(SHL7TARGETN
:d
)check_
$(SHL7TARGETN
:f
)
3802 .ENDIF
# "$(SHL7NOCHECK)"!=""
3803 .ENDIF
# "$(UPDATER)"=="YES"
3804 .ENDIF
# "$(OS)"=="MACOSX"
3805 .IF
"$(UNIXVERSIONNAMES)"!=""
3806 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL7TARGETN
:b
)
3807 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL7TARGETN
:f
) $(SHL7TARGETN
:b
)
3808 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
3809 .IF
"$(VERBOSE)" == "TRUE"
3812 .ENDIF
# "$(GUI)" == "UNX"
3814 .IF
"$(GUI)" == "OS2"
3816 .IF
"$(SHL7DEFAULTRES)"!=""
3817 @
+-$(RM
) $(MISC
)/$(SHL7DEFAULTRES
:b
).rc
>& $(NULLDEV
)
3818 .IF
"$(SHL7ICON)" != ""
3819 @
-+echo
1 ICON
$(SHL7ICON
) >> $(MISC
)/$(SHL7DEFAULTRES
:b
).rc
3821 .IF
"$(use_shl_versions)" != ""
3822 .IF
"$(SHL7ADD_VERINFO)"!=""
3823 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL7ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3824 .ENDIF
# "$(SHL7ADD_VERINFO)"!=""
3825 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL7DEFAULTRES
:b
).rc
3826 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL7DEFAULTRES:b).rc
3827 .ENDIF
# "$(use_shl_versions)" != ""
3828 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
3829 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL7DEFAULTRES
:b
).rc
3830 .ENDIF
# "$(SHL7DEFAULTRES)"!=""
3832 .IF
"$(SHL7ALLRES)"!=""
3833 $(COMMAND_ECHO
)+$(TYPE
) $(SHL7ALLRES
) > $(SHL7LINKRES
)
3834 .ENDIF
# "$(SHL7ALLRES)"!=""
3836 .IF
"$(USE_DEFFILE)"!=""
3838 $(COMMAND_ECHO
)$(SHL7LINKER
) $(SHL7LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
3842 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
3843 $(SHL7OBJS
) $(SHL7VERSIONOBJ
) \
3845 $(SHL7STDLIBS
:^
"-l") \
3847 $(SHL7STDSHL
:^
"-l") $(STDSHL7
:^
"-l")
3849 .ELSE
# "$(USE_DEFFILE)"!=""
3851 $(COMMAND_ECHO
)$(SHL7LINKER
) -v
$(SHL7LINKFLAGS
) \
3852 $(LINKFLAGSSHL
) $(SHL7BASEX
) \
3853 $(SHL7STACK
) -o
$(SHL7TARGETN
) \
3857 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
3858 $(SHL7OBJS
) $(SHL7VERSIONOBJ
) \
3860 $(SHL7STDLIBS
:^
"-l") \
3862 $(SHL7STDSHL
:^
"-l") $(STDSHL7
:^
"-l") \
3864 @
$(LS
) $@
>& $(NULLDEV
)
3866 .ENDIF
# "$(USE_DEFFILE)"!=""
3868 .IF
"$(SHL7TARGET8)" != "$(SHL7TARGET)"
3869 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL7TARGET8
).dll
3872 .ENDIF
# "$(GUI)" == "OS2"
3875 .IF
"$(TESTDIR)"!=""
3876 .IF
"$(NO_TESTS)"==""
3878 ALLTAR
: runtest_
$(SHL7TARGET
)
3880 runtest_
$(SHL7TARGET
) : $(SHL7TARGETN
)
3881 testshl
$(SHL7TARGETN
) sce
/$(SHL7TARGET
).sce
-msg
-skip
3882 .ENDIF
# "$(NO_TESTS)"==""
3883 .ENDIF
# "$(TESTDIR)"!=""
3884 .ENDIF
# "$(SHL7TARGETN)"!=""
3888 .IF
"$(SHL8TARGETN)"!=""
3894 .IF
"$(SHLLINKARCONLY)" != ""
3901 # decide how to link
3902 .IF
"$(SHL8CODETYPE)"=="C"
3904 SHL8STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
3905 SHL8LINKFLAGS
+=$(LINKCFLAGS
)
3906 .ELSE
# "$(SHL8CODETYPE)"=="C"
3908 SHL8STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
3909 SHL8LINKFLAGS
+=$(LINKFLAGS
)
3910 .ENDIF
# "$(SHL8CODETYPE)"=="C"
3913 LINKFLAGSRUNPATH_
$(SHL8RPATH
)*=/ERROR
:/Bad_SHL8RPATH_value
3914 SHL8LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL8RPATH
))
3916 .IF
"$(SHL8USE_EXPORTS)"==""
3917 SHL8DEF
*=$(MISC
)/$(SHL8TARGET
).def
3918 .ENDIF
# "$(SHL8USE_EXPORTS)"==""
3920 EXTRALIBPATHS8
=$(EXTRALIBPATHS
)
3921 .IF
"$(UPDATER)"=="YES"
3922 .IF
"$(SHL8NOCHECK)"==""
3923 .IF
"$(SOLAR_STLLIBPATH)"!=""
3924 EXTRALIBPATHS8
+=-L
$(SOLAR_STLLIBPATH
)
3926 .ENDIF
# "$(SHL8NOCHECK)"!=""
3928 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3929 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
3930 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3932 .IF
"$(L10N_framework)"==""
3933 .IF
"$(VERSIONOBJ)"!=""
3934 SHL8VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL8TARGET
))}$(VERSIONOBJ
:f
)
3935 USE_VERSIONH
:=$(INCCOM
)/$(SHL8VERSIONOBJ
:b
).h
3936 .IF
"$(GUI)" == "UNX"
3937 SHL8VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL8TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
3938 .ELSE
# "$(GUI)" == "UNX"
3939 SHL8VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL8TARGET
))}$(VERSIONOBJ
:f
)
3940 .ENDIF
# "$(GUI)" == "UNX"
3941 $(MISC
)/$(SHL8VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL8VERSIONOBJ
:b
).h
3942 # $(COPY) $(SOLARENV)/src/version.c $@
3943 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL8VERSIONOBJ
:b
).h
/ > $@
3945 .INIT
: $(SHL8VERSIONOBJDEP
)
3946 .ENDIF
# "$(VERSIONOBJ)"!=""
3949 .IF
"$(GUI)" != "UNX"
3950 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
3951 .IF
"$(SHL8IMPLIB)" == ""
3952 SHL8IMPLIB
=i
$(TARGET
)_t8
3953 .ENDIF
# "$(SHL8IMPLIB)" == ""
3954 .IF
"$(COM)" != "GCC"
3955 USE_8IMPLIB
=-implib
:$(LB
)/$(SHL8IMPLIB
).lib
3956 .ENDIF
# "$(COM)" != "GCC"
3957 SHL8IMPLIBN
=$(LB
)/$(SHL8IMPLIB
).lib
3958 ALLTAR
: $(SHL8IMPLIBN
)
3960 .IF
"$(USE_DEFFILE)"==""
3961 USE_8IMPLIB_DEPS
=$(LB
)/$(SHL8IMPLIB
).lib
3962 .ENDIF
# "$(USE_DEFFILE)"==""
3963 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
3964 USE_SHL8DEF
=$(SHL8DEF
)
3965 .ELSE
# "$(GUI)" != "UNX"
3967 SHL8DEPN
+:=$(SHL8DEPNU
)
3969 .IF
"$(SHL8VERSIONMAP)"==""
3970 # to activate vmaps remove "#"
3971 USE_SHL8VERSIONMAP
=$(MISC
)/$(SHL8TARGET
).vmap
3972 .ENDIF
# "$(SHL8VERSIONMAP)"==""
3974 .IF
"$(USE_SHL8VERSIONMAP)"!=""
3976 .IF
"$(SHL8FILTERFILE)"!=""
3977 .IF
"$(SHL8VERSIONMAP)"!=""
3978 #eine von beiden ist zuviel
3979 USE_SHL8VERSIONMAP
=$(MISC
)/$(SHL8TARGET
).vmap
3980 $(USE_SHL8VERSIONMAP
) .PHONY
:
3981 @echo
-----------------------------
3982 @echo you should only use versionmap OR exportfile
3983 @echo
-----------------------------
3984 # force_dmake_to_error
3986 .ENDIF
# "$(SHL8VERSIONMAP)"!=""
3989 SHL8VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL8VERSIONMAP
)
3992 $(USE_SHL8VERSIONMAP
): \
3997 .IF
"$(SHL8OBJS)"!=""
3998 # dump remaining objects on the fly
3999 .IF
"$(OS)"=="MACOSX"
4000 @
-nm
$(SHL8OBJS
:s
/.obj
/.o
/) > $@.dump
4002 @nm
$(SHL8OBJS
:s
/.obj
/.o
/) > $@.dump
4004 .ENDIF
# "$(SHL8OBJS)!"=""
4005 @
$(TYPE
) /dev
/null
$(SHL8LIBS
:s
/.lib
/.dump
/) >> $@.dump
4006 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL8INTERFACE
) -f
$(SHL8FILTERFILE
) -m
$@
4008 .ELSE
# "$(SHL8FILTERFILE)"!=""
4009 USE_SHL8VERSIONMAP
=$(MISC
)/$(SHL8TARGET
).vmap
4010 $(USE_SHL8VERSIONMAP
) :
4011 .IF
"$(VERBOSE)" == "TRUE"
4012 @echo
-----------------------------
4013 @echo SHL8FILTERFILE not set
!
4014 @echo
-----------------------------
4016 @echo dummy file to keep the dependencies for later use.
4020 # force_dmake_to_error
4021 .ENDIF
# "$(SHL8FILTERFILE)"!=""
4022 .ELSE
# "$(USE_SHL8VERSIONMAP)"!=""
4024 #and now for the plain non-generic way...
4025 .IF
"$(SHL8VERSIONMAP)"!=""
4026 USE_SHL8VERSIONMAP
=$(MISC
)/$(SHL8VERSIONMAP
:b
)_
$(SHL8TARGET
)$(SHL8VERSIONMAP
:e
)
4028 SHL8VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL8VERSIONMAP
)
4031 .IF
"$(OS)"=="MACOSX"
4032 $(USE_SHL8VERSIONMAP
): $(SHL8OBJS
) $(SHL8LIBS
)
4035 $(USE_SHL8VERSIONMAP
): $(SHL8VERSIONMAP
)
4037 # The following files will only be generated and needed on Mac OS X as temporary files
4038 # in order to generate exported symbols list out of Linux/Solaris map files
4039 .IF
"$(OS)"=="MACOSX"
4040 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
4041 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
4043 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
4044 # happens if somebody will change it in the future
4045 .IF
"$(COMID)"=="gcc3"
4046 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL8VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
4047 .ELIF
"$(COMNAME)"=="sunpro5"
4048 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL8VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
4049 .ELSE
# "$(COMID)"=="gcc3"
4050 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL8VERSIONMAP
) > $@
4051 .ENDIF
# "$(COMID)"=="gcc3"
4053 # Mac OS X post-processing generate an exported symbols list from the generated map file
4054 # for details on exported symbols list see man ld on Mac OS X
4055 .IF
"$(OS)"=="MACOSX"
4056 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
4057 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
4058 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
4059 # Extract RTTI symbols from all the objects that will be used to build a shared library
4060 .IF
"$(SHL8OBJS)"!=""
4061 -echo
$(foreach,i
,$(SHL8OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
4063 .IF
"$(SHL8LIBS)"!=""
4064 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL8LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
4066 # overwrite the map file generate into the local output tree with the generated
4067 # exported symbols list
4068 cp
$@.exported-symbols
$@
4069 .ENDIF
# .IF "$(OS)"=="MACOSX"
4070 .ENDIF
# "$(SHL8VERSIONMAP)"!=""
4071 .ENDIF
# "$(USE_SHL8VERSIONMAP)"!=""
4072 .ENDIF
# "$(GUI)" != "UNX"
4074 .IF
"$(UNIXVERSIONNAMES)"!=""
4075 .IF
"$(OS)"!="MACOSX"
4078 SHL8SONAME
=$(SONAME_SWITCH
)$(SHL8TARGETN
:f
)
4080 SHL8SONAME
=\"$(SONAME_SWITCH
)$(SHL8TARGETN
:f
)\"
4082 .ENDIF
# "$(GUI)"!="UNX"
4083 .ENDIF
# "$(OS)"!="MACOSX"
4084 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
4086 .IF
"$(SHL8RES)"!=""
4087 SHL8ALLRES
+=$(SHL8RES
)
4088 SHL8LINKRES
*=$(MISC
)/$(SHL8TARGET
).res
4089 SHL8LINKRESO
*=$(MISC
)/$(SHL8TARGET
)_res.o
4090 .ENDIF
# "$(SHL8RES)"!=""
4092 .IF
"$(SHL8DEFAULTRES)$(use_shl_versions)"!=""
4093 SHL8DEFAULTRES
*=$(MISC
)/$(SHL8TARGET
)_def.res
4094 SHL8ALLRES
+=$(SHL8DEFAULTRES
)
4095 SHL8LINKRES
*=$(MISC
)/$(SHL8TARGET
).res
4096 SHL8LINKRESO
*=$(MISC
)/$(SHL8TARGET
)_res.o
4097 .ENDIF
# "$(SHL8DEFAULTRES)$(use_shl_versions)"!=""
4099 #.IF "$(SHL8TARGETN)"!=""
4101 .IF
"$(linkinc)"!=""
4102 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
4103 .IF
"$(SHL8LIBS)"!=""
4104 $(MISC
)/$(SHL8TARGET
)_linkinc.ls .PHONY
:
4106 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL8LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
4107 .ENDIF
# "$(SHL8LIBS)"!=""
4110 LINKINCTARGETS
+=$(MISC
)/$(SHL8TARGETN
:b
)_linkinc.ls
4111 $(SHL8TARGETN
) : $(LINKINCTARGETS
)
4114 .IF
"$(SHL8USE_EXPORTS)"=="name"
4115 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
4117 .IF
"$(SHL8LIBS)"!=""
4118 SHL8LINKLIST
=$(MISC
)/$(SHL8TARGET
)_link.lst
4119 SHL8LINKLISTPARAM
=@
$(SHL8LINKLIST
)
4120 $(SHL8LINKLIST
) : $(SHL8LIBS
)
4122 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL8LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
4123 .ENDIF
# "$(SHL8LIBS)"!=""
4124 .ENDIF
# "$(COM)"!="GCC"
4126 .ENDIF
# "$(SHL8USE_EXPORTS)"=="name"
4128 $(MISC
)/%linkinc.ls
:
4130 .ENDIF
# "$(linkinc)"!=""
4132 .IF
"$(GUI)" == "OS2"
4133 #21/02/2006 YD dll names must be 8.3, invoke fix script
4134 #check osl/os2/module.c/osl_loadModule()
4135 SHL8TARGET8
=$(shell @fix_shl
$(SHL8TARGET
))
4138 .IF
"$(GUI)" == "OS2"
4139 _SHL8IMP_ORD
= $(SHL8STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL8STDLIBS
:^
"$(LB)/")
4140 SHL8IMP_ORD
= $(foreach,i
,$(_SHL8IMP_ORD
) $(shell @
-ls
$i))
4149 $(USE_8IMPLIB_DEPS
)\
4151 $(USE_SHL8VERSIONMAP
)\
4156 .IF
"$(VERBOSE)" == "TRUE"
4157 @echo
------------------------------
4159 @echo
"Making: " $(@
:f
)
4160 .IF
"$(GUI)" == "WNT"
4161 .IF
"$(SHL8DEFAULTRES)"!=""
4162 @@
-$(RM
) $(MISC
)/$(SHL8DEFAULTRES
:b
).rc
4163 .IF
"$(SHL8ICON)" != ""
4164 @echo
1 ICON
$(SHL8ICON
) >> $(MISC
)/$(SHL8DEFAULTRES
:b
).rc
4166 .IF
"$(use_shl_versions)" != ""
4167 .IF
"$(SHL8ADD_VERINFO)"!=""
4168 @echo
$(EMQ
)#include $(EMQ)"$(SHL8ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4169 .ELSE
# "$(SHL8ADD_VERINFO)"!=""
4170 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4171 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4172 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4173 .ENDIF
# "$(SHL8ADD_VERINFO)"!=""
4174 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4175 @echo
$(EMQ
)#define ORG_NAME $(SHL8TARGET)$(DLLPOST) >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4176 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL8TARGET:b) >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4177 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4178 .ENDIF
# "$(use_shl_versions)" != ""
4179 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL8DEFAULTRES
:b
).rc
4180 .ENDIF
# "$(SHL8DEFAULTRES)"!=""
4181 .IF
"$(SHL8ALLRES)"!=""
4182 $(COMMAND_ECHO
)$(TYPE
) $(SHL8ALLRES
) > $(SHL8LINKRES
)
4184 windres
$(SHL8LINKRES
) $(SHL8LINKRESO
)
4185 .ENDIF
# "$(COM)"=="GCC"
4186 .ENDIF
# "$(SHL8ALLRES)"!=""
4187 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
4188 @echo dlltool
--input-def
$(SHL8DEF
) \
4189 --dllname
$(SHL8TARGET
)$(DLLPOST
) \
4190 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4191 @noop
$(assign ALL8OBJLIST
:=$(STDOBJ
) $(SHL8OBJS
) $(SHL8LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL8LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
4192 .IF
"$(DEFLIB8NAME)"!="" # do not have to include objs
4193 @noop
$(assign DEF8OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB8NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
4194 @noop
$(foreach,i
,$(DEF8OBJLIST
) $(assign ALL8OBJLIST
:=$(ALL8OBJLIST
:s?
$i??
)))
4195 .ENDIF
# "$(DEFLIB8NAME)"!=""
4196 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
4197 $(ALL8OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4198 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
4199 $(STDOBJ
) $(SHL8VERSIONOBJ
) $(SHL8DESCRIPTIONOBJ
) $(SHL8OBJS
) $(SHL8LINKRESO
) \
4200 `$(TYPE) /dev/null $(SHL8LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
4201 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL8STDLIBS
) -Wl
,--end-group \
4202 $(SHL8STDSHL
) $(STDSHL8
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
4203 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4204 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4205 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4207 .IF
"$(linkinc)"==""
4208 .IF
"$(SHL8USE_EXPORTS)"!="name"
4209 .IF
"$(USE_DEFFILE)"!=""
4210 $(SHL8LINKER
) @
$(mktmp \
4213 $(SHL8STACK
) $(SHL8BASEX
) \
4215 -map
:$(MISC
)/$(@
:b
).map \
4219 $(SHL8VERSIONOBJ
) $(SHL8OBJS
) \
4222 $(SHL8STDSHL
) $(STDSHL8
) \
4224 ) $(LINKOUTPUTFILTER
)
4225 # double check if target was really written... still making sense?
4227 @echo linking
$@.manifest ...
4228 .IF
"$(VISTA_MANIFEST)"!=""
4229 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4230 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4232 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4233 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4234 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4235 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4236 .ELSE
# "$(USE_DEFFILE)"!=""
4237 $(COMMAND_ECHO
)$(SHL8LINKER
) @
$(mktmp
$(SHL8LINKFLAGS
) \
4238 $(LINKFLAGSSHL
) $(SHL8BASEX
) \
4239 $(SHL8STACK
) -out
:$(SHL8TARGETN
) \
4240 -map
:$(MISC
)/$(@
:B
).map \
4241 $(LB
)/$(SHL8IMPLIB
).exp \
4243 $(SHL8OBJS
) $(SHL8VERSIONOBJ
) \
4246 $(SHL8STDSHL
) $(STDSHL8
) \
4248 ) $(LINKOUTPUTFILTER
)
4249 # double check if target was really written... still making sense?
4251 @echo linking
$@.manifest ...
4252 .IF
"$(VISTA_MANIFEST)"!=""
4253 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4254 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4256 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4257 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4258 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4259 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4260 .ENDIF
# "$(USE_DEFFILE)"!=""
4261 .ELSE
# "$(SHL8USE_EXPORTS)"!="name"
4262 $(COMMAND_ECHO
)$(SHL8LINKER
) @
$(mktmp
$(SHL8LINKFLAGS
) \
4263 $(LINKFLAGSSHL
) $(SHL8BASEX
) \
4264 $(SHL8STACK
) -out
:$(SHL8TARGETN
) \
4265 -map
:$(MISC
)/$(@
:B
).map \
4268 $(SHL8OBJS
) $(SHL8VERSIONOBJ
)) \
4269 $(SHL8LINKLISTPARAM
) \
4270 @
$(mktmp
$(SHL8STDLIBS
) \
4271 $(SHL8STDSHL
) $(STDSHL8
) \
4274 @echo linking
$@.manifest ...
4275 .IF
"$(VISTA_MANIFEST)"!=""
4276 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4277 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4279 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4280 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4281 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4282 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4283 .ENDIF
# "$(SHL8USE_EXPORTS)"!="name"
4284 .ELSE
# "$(linkinc)"==""
4285 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL8TARGET
).lnk
4286 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL8TARGET
).lst
4287 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
4289 $(LINKFLAGSSHL
) $(SHL8BASEX
) \
4290 $(SHL8STACK
) $(MAPFILE
) \
4292 $(LB
)/$(SHL8IMPLIB
).exp \
4296 $(SHL8STDSHL
) $(STDSHL8
) \
4298 ) >> $(MISC
)/$(SHL8TARGET
).lnk
4299 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL8TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL8TARGET
).lnk
4300 $(COMMAND_ECHO
)$(SHL8LINKER
) @
$(MISC
)/$(SHL8TARGET
).lnk
4301 @echo linking
$@.manifest ...
4302 .IF
"$(VISTA_MANIFEST)"!=""
4303 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4304 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4306 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4307 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4308 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4309 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4310 .ENDIF
# "$(linkinc)"==""
4311 .ENDIF
# "$(COM)"=="GCC"
4312 .ENDIF
# "$(GUI)" == "WNT"
4314 .IF
"$(OS)"=="MACOSX"
4315 @
-$(RM
) $(MISC
)/$(@
:b
).list
4316 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4317 @echo
$(STDSLO
) $(SHL8OBJS
:s
/.obj
/.o
/) \
4319 `cat /dev/null $(SHL8LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
4320 @echo
-n
$(SHL8LINKER
) $(SHL8LINKFLAGS
) $(SHL8VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
4321 $(SHL8STDLIBS
) $(SHL8ARCHIVES
) $(SHL8STDSHL
) $(STDSHL8
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4322 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
4323 `cat $(MISC)/$(TARGET).$(@:b)_8.cmd` \
4324 >> $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4325 .IF
"$(VERBOSE)" == "TRUE"
4326 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4328 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4329 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
4331 @echo
"Making: " $(@
:f
).jnilib
4332 @macosx-create-bundle
$@
4333 .IF
"$(UPDATER)"=="YES"
4334 .IF
"$(SHL8NOCHECK)"==""
4335 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS8
) $(SHL8TARGETN
)
4336 .ENDIF
# "$(SHL8NOCHECK)"!=""
4338 .ELSE
# "$(OS)"=="MACOSX"
4339 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4340 @echo
$(SHL8LINKER
) $(SHL8LINKFLAGS
) $(SHL8SONAME
) $(LINKFLAGSSHL
) $(SHL8VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL8OBJS
:s
/.obj
/.o
/) \
4341 $(SHL8VERSIONOBJ
) -o
$@ \
4342 `cat /dev/null $(SHL8LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
4343 $(SHL8STDLIBS
) $(SHL8ARCHIVES
) $(SHL8STDSHL
) $(STDSHL8
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4344 .IF
"$(VERBOSE)" == "TRUE"
4345 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4347 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_8.cmd
4348 .IF
"$(UPDATER)"=="YES"
4349 .IF
"$(SHL8NOCHECK)"==""
4350 $(COMMAND_ECHO
)-$(RM
) $(SHL8TARGETN
:d
)check_
$(SHL8TARGETN
:f
)
4351 $(COMMAND_ECHO
)$(RENAME
) $(SHL8TARGETN
) $(SHL8TARGETN
:d
)check_
$(SHL8TARGETN
:f
)
4352 .IF
"$(VERBOSE)"=="TRUE"
4353 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS8
) $(SHL8TARGETN
:d
)check_
$(SHL8TARGETN
:f
)
4355 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS8
) -- -s
$(SHL8TARGETN
:d
)check_
$(SHL8TARGETN
:f
)
4357 .ENDIF
# "$(SHL8NOCHECK)"!=""
4358 .ENDIF
# "$(UPDATER)"=="YES"
4359 .ENDIF
# "$(OS)"=="MACOSX"
4360 .IF
"$(UNIXVERSIONNAMES)"!=""
4361 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL8TARGETN
:b
)
4362 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL8TARGETN
:f
) $(SHL8TARGETN
:b
)
4363 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
4364 .IF
"$(VERBOSE)" == "TRUE"
4367 .ENDIF
# "$(GUI)" == "UNX"
4369 .IF
"$(GUI)" == "OS2"
4371 .IF
"$(SHL8DEFAULTRES)"!=""
4372 @
+-$(RM
) $(MISC
)/$(SHL8DEFAULTRES
:b
).rc
>& $(NULLDEV
)
4373 .IF
"$(SHL8ICON)" != ""
4374 @
-+echo
1 ICON
$(SHL8ICON
) >> $(MISC
)/$(SHL8DEFAULTRES
:b
).rc
4376 .IF
"$(use_shl_versions)" != ""
4377 .IF
"$(SHL8ADD_VERINFO)"!=""
4378 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL8ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4379 .ENDIF
# "$(SHL8ADD_VERINFO)"!=""
4380 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL8DEFAULTRES
:b
).rc
4381 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL8DEFAULTRES:b).rc
4382 .ENDIF
# "$(use_shl_versions)" != ""
4383 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
4384 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL8DEFAULTRES
:b
).rc
4385 .ENDIF
# "$(SHL8DEFAULTRES)"!=""
4387 .IF
"$(SHL8ALLRES)"!=""
4388 $(COMMAND_ECHO
)+$(TYPE
) $(SHL8ALLRES
) > $(SHL8LINKRES
)
4389 .ENDIF
# "$(SHL8ALLRES)"!=""
4391 .IF
"$(USE_DEFFILE)"!=""
4393 $(COMMAND_ECHO
)$(SHL8LINKER
) $(SHL8LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
4397 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
4398 $(SHL8OBJS
) $(SHL8VERSIONOBJ
) \
4400 $(SHL8STDLIBS
:^
"-l") \
4402 $(SHL8STDSHL
:^
"-l") $(STDSHL8
:^
"-l")
4404 .ELSE
# "$(USE_DEFFILE)"!=""
4406 $(COMMAND_ECHO
)$(SHL8LINKER
) -v
$(SHL8LINKFLAGS
) \
4407 $(LINKFLAGSSHL
) $(SHL8BASEX
) \
4408 $(SHL8STACK
) -o
$(SHL8TARGETN
) \
4412 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
4413 $(SHL8OBJS
) $(SHL8VERSIONOBJ
) \
4415 $(SHL8STDLIBS
:^
"-l") \
4417 $(SHL8STDSHL
:^
"-l") $(STDSHL8
:^
"-l") \
4419 @
$(LS
) $@
>& $(NULLDEV
)
4421 .ENDIF
# "$(USE_DEFFILE)"!=""
4423 .IF
"$(SHL8TARGET8)" != "$(SHL8TARGET)"
4424 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL8TARGET8
).dll
4427 .ENDIF
# "$(GUI)" == "OS2"
4430 .IF
"$(TESTDIR)"!=""
4431 .IF
"$(NO_TESTS)"==""
4433 ALLTAR
: runtest_
$(SHL8TARGET
)
4435 runtest_
$(SHL8TARGET
) : $(SHL8TARGETN
)
4436 testshl
$(SHL8TARGETN
) sce
/$(SHL8TARGET
).sce
-msg
-skip
4437 .ENDIF
# "$(NO_TESTS)"==""
4438 .ENDIF
# "$(TESTDIR)"!=""
4439 .ENDIF
# "$(SHL8TARGETN)"!=""
4443 .IF
"$(SHL9TARGETN)"!=""
4449 .IF
"$(SHLLINKARCONLY)" != ""
4456 # decide how to link
4457 .IF
"$(SHL9CODETYPE)"=="C"
4459 SHL9STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
4460 SHL9LINKFLAGS
+=$(LINKCFLAGS
)
4461 .ELSE
# "$(SHL9CODETYPE)"=="C"
4463 SHL9STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
4464 SHL9LINKFLAGS
+=$(LINKFLAGS
)
4465 .ENDIF
# "$(SHL9CODETYPE)"=="C"
4468 LINKFLAGSRUNPATH_
$(SHL9RPATH
)*=/ERROR
:/Bad_SHL9RPATH_value
4469 SHL9LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL9RPATH
))
4471 .IF
"$(SHL9USE_EXPORTS)"==""
4472 SHL9DEF
*=$(MISC
)/$(SHL9TARGET
).def
4473 .ENDIF
# "$(SHL9USE_EXPORTS)"==""
4475 EXTRALIBPATHS9
=$(EXTRALIBPATHS
)
4476 .IF
"$(UPDATER)"=="YES"
4477 .IF
"$(SHL9NOCHECK)"==""
4478 .IF
"$(SOLAR_STLLIBPATH)"!=""
4479 EXTRALIBPATHS9
+=-L
$(SOLAR_STLLIBPATH
)
4481 .ENDIF
# "$(SHL9NOCHECK)"!=""
4483 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4484 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
4485 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4487 .IF
"$(L10N_framework)"==""
4488 .IF
"$(VERSIONOBJ)"!=""
4489 SHL9VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL9TARGET
))}$(VERSIONOBJ
:f
)
4490 USE_VERSIONH
:=$(INCCOM
)/$(SHL9VERSIONOBJ
:b
).h
4491 .IF
"$(GUI)" == "UNX"
4492 SHL9VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL9TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
4493 .ELSE
# "$(GUI)" == "UNX"
4494 SHL9VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL9TARGET
))}$(VERSIONOBJ
:f
)
4495 .ENDIF
# "$(GUI)" == "UNX"
4496 $(MISC
)/$(SHL9VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL9VERSIONOBJ
:b
).h
4497 # $(COPY) $(SOLARENV)/src/version.c $@
4498 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL9VERSIONOBJ
:b
).h
/ > $@
4500 .INIT
: $(SHL9VERSIONOBJDEP
)
4501 .ENDIF
# "$(VERSIONOBJ)"!=""
4504 .IF
"$(GUI)" != "UNX"
4505 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
4506 .IF
"$(SHL9IMPLIB)" == ""
4507 SHL9IMPLIB
=i
$(TARGET
)_t9
4508 .ENDIF
# "$(SHL9IMPLIB)" == ""
4509 .IF
"$(COM)" != "GCC"
4510 USE_9IMPLIB
=-implib
:$(LB
)/$(SHL9IMPLIB
).lib
4511 .ENDIF
# "$(COM)" != "GCC"
4512 SHL9IMPLIBN
=$(LB
)/$(SHL9IMPLIB
).lib
4513 ALLTAR
: $(SHL9IMPLIBN
)
4515 .IF
"$(USE_DEFFILE)"==""
4516 USE_9IMPLIB_DEPS
=$(LB
)/$(SHL9IMPLIB
).lib
4517 .ENDIF
# "$(USE_DEFFILE)"==""
4518 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
4519 USE_SHL9DEF
=$(SHL9DEF
)
4520 .ELSE
# "$(GUI)" != "UNX"
4522 SHL9DEPN
+:=$(SHL9DEPNU
)
4524 .IF
"$(SHL9VERSIONMAP)"==""
4525 # to activate vmaps remove "#"
4526 USE_SHL9VERSIONMAP
=$(MISC
)/$(SHL9TARGET
).vmap
4527 .ENDIF
# "$(SHL9VERSIONMAP)"==""
4529 .IF
"$(USE_SHL9VERSIONMAP)"!=""
4531 .IF
"$(SHL9FILTERFILE)"!=""
4532 .IF
"$(SHL9VERSIONMAP)"!=""
4533 #eine von beiden ist zuviel
4534 USE_SHL9VERSIONMAP
=$(MISC
)/$(SHL9TARGET
).vmap
4535 $(USE_SHL9VERSIONMAP
) .PHONY
:
4536 @echo
-----------------------------
4537 @echo you should only use versionmap OR exportfile
4538 @echo
-----------------------------
4539 # force_dmake_to_error
4541 .ENDIF
# "$(SHL9VERSIONMAP)"!=""
4544 SHL9VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL9VERSIONMAP
)
4547 $(USE_SHL9VERSIONMAP
): \
4552 .IF
"$(SHL9OBJS)"!=""
4553 # dump remaining objects on the fly
4554 .IF
"$(OS)"=="MACOSX"
4555 @
-nm
$(SHL9OBJS
:s
/.obj
/.o
/) > $@.dump
4557 @nm
$(SHL9OBJS
:s
/.obj
/.o
/) > $@.dump
4559 .ENDIF
# "$(SHL9OBJS)!"=""
4560 @
$(TYPE
) /dev
/null
$(SHL9LIBS
:s
/.lib
/.dump
/) >> $@.dump
4561 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL9INTERFACE
) -f
$(SHL9FILTERFILE
) -m
$@
4563 .ELSE
# "$(SHL9FILTERFILE)"!=""
4564 USE_SHL9VERSIONMAP
=$(MISC
)/$(SHL9TARGET
).vmap
4565 $(USE_SHL9VERSIONMAP
) :
4566 .IF
"$(VERBOSE)" == "TRUE"
4567 @echo
-----------------------------
4568 @echo SHL9FILTERFILE not set
!
4569 @echo
-----------------------------
4571 @echo dummy file to keep the dependencies for later use.
4575 # force_dmake_to_error
4576 .ENDIF
# "$(SHL9FILTERFILE)"!=""
4577 .ELSE
# "$(USE_SHL9VERSIONMAP)"!=""
4579 #and now for the plain non-generic way...
4580 .IF
"$(SHL9VERSIONMAP)"!=""
4581 USE_SHL9VERSIONMAP
=$(MISC
)/$(SHL9VERSIONMAP
:b
)_
$(SHL9TARGET
)$(SHL9VERSIONMAP
:e
)
4583 SHL9VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL9VERSIONMAP
)
4586 .IF
"$(OS)"=="MACOSX"
4587 $(USE_SHL9VERSIONMAP
): $(SHL9OBJS
) $(SHL9LIBS
)
4590 $(USE_SHL9VERSIONMAP
): $(SHL9VERSIONMAP
)
4592 # The following files will only be generated and needed on Mac OS X as temporary files
4593 # in order to generate exported symbols list out of Linux/Solaris map files
4594 .IF
"$(OS)"=="MACOSX"
4595 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
4596 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
4598 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
4599 # happens if somebody will change it in the future
4600 .IF
"$(COMID)"=="gcc3"
4601 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL9VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
4602 .ELIF
"$(COMNAME)"=="sunpro5"
4603 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL9VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
4604 .ELSE
# "$(COMID)"=="gcc3"
4605 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL9VERSIONMAP
) > $@
4606 .ENDIF
# "$(COMID)"=="gcc3"
4608 # Mac OS X post-processing generate an exported symbols list from the generated map file
4609 # for details on exported symbols list see man ld on Mac OS X
4610 .IF
"$(OS)"=="MACOSX"
4611 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
4612 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
4613 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
4614 # Extract RTTI symbols from all the objects that will be used to build a shared library
4615 .IF
"$(SHL9OBJS)"!=""
4616 -echo
$(foreach,i
,$(SHL9OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
4618 .IF
"$(SHL9LIBS)"!=""
4619 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL9LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
4621 # overwrite the map file generate into the local output tree with the generated
4622 # exported symbols list
4623 cp
$@.exported-symbols
$@
4624 .ENDIF
# .IF "$(OS)"=="MACOSX"
4625 .ENDIF
# "$(SHL9VERSIONMAP)"!=""
4626 .ENDIF
# "$(USE_SHL9VERSIONMAP)"!=""
4627 .ENDIF
# "$(GUI)" != "UNX"
4629 .IF
"$(UNIXVERSIONNAMES)"!=""
4630 .IF
"$(OS)"!="MACOSX"
4633 SHL9SONAME
=$(SONAME_SWITCH
)$(SHL9TARGETN
:f
)
4635 SHL9SONAME
=\"$(SONAME_SWITCH
)$(SHL9TARGETN
:f
)\"
4637 .ENDIF
# "$(GUI)"!="UNX"
4638 .ENDIF
# "$(OS)"!="MACOSX"
4639 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
4641 .IF
"$(SHL9RES)"!=""
4642 SHL9ALLRES
+=$(SHL9RES
)
4643 SHL9LINKRES
*=$(MISC
)/$(SHL9TARGET
).res
4644 SHL9LINKRESO
*=$(MISC
)/$(SHL9TARGET
)_res.o
4645 .ENDIF
# "$(SHL9RES)"!=""
4647 .IF
"$(SHL9DEFAULTRES)$(use_shl_versions)"!=""
4648 SHL9DEFAULTRES
*=$(MISC
)/$(SHL9TARGET
)_def.res
4649 SHL9ALLRES
+=$(SHL9DEFAULTRES
)
4650 SHL9LINKRES
*=$(MISC
)/$(SHL9TARGET
).res
4651 SHL9LINKRESO
*=$(MISC
)/$(SHL9TARGET
)_res.o
4652 .ENDIF
# "$(SHL9DEFAULTRES)$(use_shl_versions)"!=""
4654 #.IF "$(SHL9TARGETN)"!=""
4656 .IF
"$(linkinc)"!=""
4657 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
4658 .IF
"$(SHL9LIBS)"!=""
4659 $(MISC
)/$(SHL9TARGET
)_linkinc.ls .PHONY
:
4661 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL9LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
4662 .ENDIF
# "$(SHL9LIBS)"!=""
4665 LINKINCTARGETS
+=$(MISC
)/$(SHL9TARGETN
:b
)_linkinc.ls
4666 $(SHL9TARGETN
) : $(LINKINCTARGETS
)
4669 .IF
"$(SHL9USE_EXPORTS)"=="name"
4670 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
4672 .IF
"$(SHL9LIBS)"!=""
4673 SHL9LINKLIST
=$(MISC
)/$(SHL9TARGET
)_link.lst
4674 SHL9LINKLISTPARAM
=@
$(SHL9LINKLIST
)
4675 $(SHL9LINKLIST
) : $(SHL9LIBS
)
4677 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL9LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
4678 .ENDIF
# "$(SHL9LIBS)"!=""
4679 .ENDIF
# "$(COM)"!="GCC"
4681 .ENDIF
# "$(SHL9USE_EXPORTS)"=="name"
4683 $(MISC
)/%linkinc.ls
:
4685 .ENDIF
# "$(linkinc)"!=""
4687 .IF
"$(GUI)" == "OS2"
4688 #21/02/2006 YD dll names must be 8.3, invoke fix script
4689 #check osl/os2/module.c/osl_loadModule()
4690 SHL9TARGET8
=$(shell @fix_shl
$(SHL9TARGET
))
4693 .IF
"$(GUI)" == "OS2"
4694 _SHL9IMP_ORD
= $(SHL9STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL9STDLIBS
:^
"$(LB)/")
4695 SHL9IMP_ORD
= $(foreach,i
,$(_SHL9IMP_ORD
) $(shell @
-ls
$i))
4704 $(USE_9IMPLIB_DEPS
)\
4706 $(USE_SHL9VERSIONMAP
)\
4711 .IF
"$(VERBOSE)" == "TRUE"
4712 @echo
------------------------------
4714 @echo
"Making: " $(@
:f
)
4715 .IF
"$(GUI)" == "WNT"
4716 .IF
"$(SHL9DEFAULTRES)"!=""
4717 @@
-$(RM
) $(MISC
)/$(SHL9DEFAULTRES
:b
).rc
4718 .IF
"$(SHL9ICON)" != ""
4719 @echo
1 ICON
$(SHL9ICON
) >> $(MISC
)/$(SHL9DEFAULTRES
:b
).rc
4721 .IF
"$(use_shl_versions)" != ""
4722 .IF
"$(SHL9ADD_VERINFO)"!=""
4723 @echo
$(EMQ
)#include $(EMQ)"$(SHL9ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4724 .ELSE
# "$(SHL9ADD_VERINFO)"!=""
4725 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4726 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4727 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4728 .ENDIF
# "$(SHL9ADD_VERINFO)"!=""
4729 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4730 @echo
$(EMQ
)#define ORG_NAME $(SHL9TARGET)$(DLLPOST) >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4731 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL9TARGET:b) >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4732 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4733 .ENDIF
# "$(use_shl_versions)" != ""
4734 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL9DEFAULTRES
:b
).rc
4735 .ENDIF
# "$(SHL9DEFAULTRES)"!=""
4736 .IF
"$(SHL9ALLRES)"!=""
4737 $(COMMAND_ECHO
)$(TYPE
) $(SHL9ALLRES
) > $(SHL9LINKRES
)
4739 windres
$(SHL9LINKRES
) $(SHL9LINKRESO
)
4740 .ENDIF
# "$(COM)"=="GCC"
4741 .ENDIF
# "$(SHL9ALLRES)"!=""
4742 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
4743 @echo dlltool
--input-def
$(SHL9DEF
) \
4744 --dllname
$(SHL9TARGET
)$(DLLPOST
) \
4745 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4746 @noop
$(assign ALL9OBJLIST
:=$(STDOBJ
) $(SHL9OBJS
) $(SHL9LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL9LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
4747 .IF
"$(DEFLIB9NAME)"!="" # do not have to include objs
4748 @noop
$(assign DEF9OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB9NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
4749 @noop
$(foreach,i
,$(DEF9OBJLIST
) $(assign ALL9OBJLIST
:=$(ALL9OBJLIST
:s?
$i??
)))
4750 .ENDIF
# "$(DEFLIB9NAME)"!=""
4751 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
4752 $(ALL9OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4753 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
4754 $(STDOBJ
) $(SHL9VERSIONOBJ
) $(SHL9DESCRIPTIONOBJ
) $(SHL9OBJS
) $(SHL9LINKRESO
) \
4755 `$(TYPE) /dev/null $(SHL9LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
4756 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL9STDLIBS
) -Wl
,--end-group \
4757 $(SHL9STDSHL
) $(STDSHL9
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
4758 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4759 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4760 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4762 .IF
"$(linkinc)"==""
4763 .IF
"$(SHL9USE_EXPORTS)"!="name"
4764 .IF
"$(USE_DEFFILE)"!=""
4765 $(SHL9LINKER
) @
$(mktmp \
4768 $(SHL9STACK
) $(SHL9BASEX
) \
4770 -map
:$(MISC
)/$(@
:b
).map \
4774 $(SHL9VERSIONOBJ
) $(SHL9OBJS
) \
4777 $(SHL9STDSHL
) $(STDSHL9
) \
4779 ) $(LINKOUTPUTFILTER
)
4780 # double check if target was really written... still making sense?
4782 @echo linking
$@.manifest ...
4783 .IF
"$(VISTA_MANIFEST)"!=""
4784 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4785 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4787 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4788 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4789 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4790 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4791 .ELSE
# "$(USE_DEFFILE)"!=""
4792 $(COMMAND_ECHO
)$(SHL9LINKER
) @
$(mktmp
$(SHL9LINKFLAGS
) \
4793 $(LINKFLAGSSHL
) $(SHL9BASEX
) \
4794 $(SHL9STACK
) -out
:$(SHL9TARGETN
) \
4795 -map
:$(MISC
)/$(@
:B
).map \
4796 $(LB
)/$(SHL9IMPLIB
).exp \
4798 $(SHL9OBJS
) $(SHL9VERSIONOBJ
) \
4801 $(SHL9STDSHL
) $(STDSHL9
) \
4803 ) $(LINKOUTPUTFILTER
)
4804 # double check if target was really written... still making sense?
4806 @echo linking
$@.manifest ...
4807 .IF
"$(VISTA_MANIFEST)"!=""
4808 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4809 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4811 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4812 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4813 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4814 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4815 .ENDIF
# "$(USE_DEFFILE)"!=""
4816 .ELSE
# "$(SHL9USE_EXPORTS)"!="name"
4817 $(COMMAND_ECHO
)$(SHL9LINKER
) @
$(mktmp
$(SHL9LINKFLAGS
) \
4818 $(LINKFLAGSSHL
) $(SHL9BASEX
) \
4819 $(SHL9STACK
) -out
:$(SHL9TARGETN
) \
4820 -map
:$(MISC
)/$(@
:B
).map \
4823 $(SHL9OBJS
) $(SHL9VERSIONOBJ
)) \
4824 $(SHL9LINKLISTPARAM
) \
4825 @
$(mktmp
$(SHL9STDLIBS
) \
4826 $(SHL9STDSHL
) $(STDSHL9
) \
4829 @echo linking
$@.manifest ...
4830 .IF
"$(VISTA_MANIFEST)"!=""
4831 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4832 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4834 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4835 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4836 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4837 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4838 .ENDIF
# "$(SHL9USE_EXPORTS)"!="name"
4839 .ELSE
# "$(linkinc)"==""
4840 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL9TARGET
).lnk
4841 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL9TARGET
).lst
4842 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
4844 $(LINKFLAGSSHL
) $(SHL9BASEX
) \
4845 $(SHL9STACK
) $(MAPFILE
) \
4847 $(LB
)/$(SHL9IMPLIB
).exp \
4851 $(SHL9STDSHL
) $(STDSHL9
) \
4853 ) >> $(MISC
)/$(SHL9TARGET
).lnk
4854 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL9TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL9TARGET
).lnk
4855 $(COMMAND_ECHO
)$(SHL9LINKER
) @
$(MISC
)/$(SHL9TARGET
).lnk
4856 @echo linking
$@.manifest ...
4857 .IF
"$(VISTA_MANIFEST)"!=""
4858 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
4859 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4861 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
4862 .ENDIF
# "$(VISTA_MANIFEST)"!=""
4863 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
4864 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
4865 .ENDIF
# "$(linkinc)"==""
4866 .ENDIF
# "$(COM)"=="GCC"
4867 .ENDIF
# "$(GUI)" == "WNT"
4869 .IF
"$(OS)"=="MACOSX"
4870 @
-$(RM
) $(MISC
)/$(@
:b
).list
4871 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4872 @echo
$(STDSLO
) $(SHL9OBJS
:s
/.obj
/.o
/) \
4874 `cat /dev/null $(SHL9LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
4875 @echo
-n
$(SHL9LINKER
) $(SHL9LINKFLAGS
) $(SHL9VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
4876 $(SHL9STDLIBS
) $(SHL9ARCHIVES
) $(SHL9STDSHL
) $(STDSHL9
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4877 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
4878 `cat $(MISC)/$(TARGET).$(@:b)_9.cmd` \
4879 >> $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4880 .IF
"$(VERBOSE)" == "TRUE"
4881 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4883 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4884 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
4886 @echo
"Making: " $(@
:f
).jnilib
4887 @macosx-create-bundle
$@
4888 .IF
"$(UPDATER)"=="YES"
4889 .IF
"$(SHL9NOCHECK)"==""
4890 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS9
) $(SHL9TARGETN
)
4891 .ENDIF
# "$(SHL9NOCHECK)"!=""
4893 .ELSE
# "$(OS)"=="MACOSX"
4894 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4895 @echo
$(SHL9LINKER
) $(SHL9LINKFLAGS
) $(SHL9SONAME
) $(LINKFLAGSSHL
) $(SHL9VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL9OBJS
:s
/.obj
/.o
/) \
4896 $(SHL9VERSIONOBJ
) -o
$@ \
4897 `cat /dev/null $(SHL9LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
4898 $(SHL9STDLIBS
) $(SHL9ARCHIVES
) $(SHL9STDSHL
) $(STDSHL9
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4899 .IF
"$(VERBOSE)" == "TRUE"
4900 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4902 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_9.cmd
4903 .IF
"$(UPDATER)"=="YES"
4904 .IF
"$(SHL9NOCHECK)"==""
4905 $(COMMAND_ECHO
)-$(RM
) $(SHL9TARGETN
:d
)check_
$(SHL9TARGETN
:f
)
4906 $(COMMAND_ECHO
)$(RENAME
) $(SHL9TARGETN
) $(SHL9TARGETN
:d
)check_
$(SHL9TARGETN
:f
)
4907 .IF
"$(VERBOSE)"=="TRUE"
4908 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS9
) $(SHL9TARGETN
:d
)check_
$(SHL9TARGETN
:f
)
4910 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS9
) -- -s
$(SHL9TARGETN
:d
)check_
$(SHL9TARGETN
:f
)
4912 .ENDIF
# "$(SHL9NOCHECK)"!=""
4913 .ENDIF
# "$(UPDATER)"=="YES"
4914 .ENDIF
# "$(OS)"=="MACOSX"
4915 .IF
"$(UNIXVERSIONNAMES)"!=""
4916 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL9TARGETN
:b
)
4917 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL9TARGETN
:f
) $(SHL9TARGETN
:b
)
4918 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
4919 .IF
"$(VERBOSE)" == "TRUE"
4922 .ENDIF
# "$(GUI)" == "UNX"
4924 .IF
"$(GUI)" == "OS2"
4926 .IF
"$(SHL9DEFAULTRES)"!=""
4927 @
+-$(RM
) $(MISC
)/$(SHL9DEFAULTRES
:b
).rc
>& $(NULLDEV
)
4928 .IF
"$(SHL9ICON)" != ""
4929 @
-+echo
1 ICON
$(SHL9ICON
) >> $(MISC
)/$(SHL9DEFAULTRES
:b
).rc
4931 .IF
"$(use_shl_versions)" != ""
4932 .IF
"$(SHL9ADD_VERINFO)"!=""
4933 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL9ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4934 .ENDIF
# "$(SHL9ADD_VERINFO)"!=""
4935 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL9DEFAULTRES
:b
).rc
4936 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL9DEFAULTRES:b).rc
4937 .ENDIF
# "$(use_shl_versions)" != ""
4938 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
4939 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL9DEFAULTRES
:b
).rc
4940 .ENDIF
# "$(SHL9DEFAULTRES)"!=""
4942 .IF
"$(SHL9ALLRES)"!=""
4943 $(COMMAND_ECHO
)+$(TYPE
) $(SHL9ALLRES
) > $(SHL9LINKRES
)
4944 .ENDIF
# "$(SHL9ALLRES)"!=""
4946 .IF
"$(USE_DEFFILE)"!=""
4948 $(COMMAND_ECHO
)$(SHL9LINKER
) $(SHL9LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
4952 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
4953 $(SHL9OBJS
) $(SHL9VERSIONOBJ
) \
4955 $(SHL9STDLIBS
:^
"-l") \
4957 $(SHL9STDSHL
:^
"-l") $(STDSHL9
:^
"-l")
4959 .ELSE
# "$(USE_DEFFILE)"!=""
4961 $(COMMAND_ECHO
)$(SHL9LINKER
) -v
$(SHL9LINKFLAGS
) \
4962 $(LINKFLAGSSHL
) $(SHL9BASEX
) \
4963 $(SHL9STACK
) -o
$(SHL9TARGETN
) \
4967 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
4968 $(SHL9OBJS
) $(SHL9VERSIONOBJ
) \
4970 $(SHL9STDLIBS
:^
"-l") \
4972 $(SHL9STDSHL
:^
"-l") $(STDSHL9
:^
"-l") \
4974 @
$(LS
) $@
>& $(NULLDEV
)
4976 .ENDIF
# "$(USE_DEFFILE)"!=""
4978 .IF
"$(SHL9TARGET8)" != "$(SHL9TARGET)"
4979 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL9TARGET8
).dll
4982 .ENDIF
# "$(GUI)" == "OS2"
4985 .IF
"$(TESTDIR)"!=""
4986 .IF
"$(NO_TESTS)"==""
4988 ALLTAR
: runtest_
$(SHL9TARGET
)
4990 runtest_
$(SHL9TARGET
) : $(SHL9TARGETN
)
4991 testshl
$(SHL9TARGETN
) sce
/$(SHL9TARGET
).sce
-msg
-skip
4992 .ENDIF
# "$(NO_TESTS)"==""
4993 .ENDIF
# "$(TESTDIR)"!=""
4994 .ENDIF
# "$(SHL9TARGETN)"!=""
4998 .IF
"$(SHL10TARGETN)"!=""
5004 .IF
"$(SHLLINKARCONLY)" != ""
5011 # decide how to link
5012 .IF
"$(SHL10CODETYPE)"=="C"
5013 SHL10LINKER
=$(LINKC
)
5014 SHL10STDSHL
=$(subst,CPPRUNTIME
, $(STDSHL
))
5015 SHL10LINKFLAGS
+=$(LINKCFLAGS
)
5016 .ELSE
# "$(SHL10CODETYPE)"=="C"
5018 SHL10STDSHL
=$(subst,CPPRUNTIME
,$(STDLIBCPP
) $(STDSHL
))
5019 SHL10LINKFLAGS
+=$(LINKFLAGS
)
5020 .ENDIF
# "$(SHL10CODETYPE)"=="C"
5023 LINKFLAGSRUNPATH_
$(SHL10RPATH
)*=/ERROR
:/Bad_SHL10RPATH_value
5024 SHL10LINKFLAGS
+=$(LINKFLAGSRUNPATH_
$(SHL10RPATH
))
5026 .IF
"$(SHL10USE_EXPORTS)"==""
5027 SHL10DEF
*=$(MISC
)/$(SHL10TARGET
).def
5028 .ENDIF
# "$(SHL10USE_EXPORTS)"==""
5030 EXTRALIBPATHS10
=$(EXTRALIBPATHS
)
5031 .IF
"$(UPDATER)"=="YES"
5032 .IF
"$(SHL10NOCHECK)"==""
5033 .IF
"$(SOLAR_STLLIBPATH)"!=""
5034 EXTRALIBPATHS10
+=-L
$(SOLAR_STLLIBPATH
)
5036 .ENDIF
# "$(SHL10NOCHECK)"!=""
5038 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5039 #+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++
5040 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5042 .IF
"$(L10N_framework)"==""
5043 .IF
"$(VERSIONOBJ)"!=""
5044 SHL10VERSIONOBJ
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL10TARGET
))}$(VERSIONOBJ
:f
)
5045 USE_VERSIONH
:=$(INCCOM
)/$(SHL10VERSIONOBJ
:b
).h
5046 .IF
"$(GUI)" == "UNX"
5047 SHL10VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL10TARGET
))}$(VERSIONOBJ
:f
:s
/.o
/.obj
/)
5048 .ELSE
# "$(GUI)" == "UNX"
5049 SHL10VERSIONOBJDEP
:=$(VERSIONOBJ
:d
){$(subst,$(DLLPOSTFIX
),_dflt
$(SHL10TARGET
))}$(VERSIONOBJ
:f
)
5050 .ENDIF
# "$(GUI)" == "UNX"
5051 $(MISC
)/$(SHL10VERSIONOBJ
:b
).c
: $(SOLARENV
)/src
/version.c
$(INCCOM
)/$(SHL10VERSIONOBJ
:b
).h
5052 # $(COPY) $(SOLARENV)/src/version.c $@
5053 $(COMMAND_ECHO
)$(TYPE
) $(SOLARENV
)/src
/version.c |
$(SED
) s
/_version.h
/$(SHL10VERSIONOBJ
:b
).h
/ > $@
5055 .INIT
: $(SHL10VERSIONOBJDEP
)
5056 .ENDIF
# "$(VERSIONOBJ)"!=""
5059 .IF
"$(GUI)" != "UNX"
5060 .IF
"$(GUI)" == "WNT" ||
"$(GUI)" == "OS2"
5061 .IF
"$(SHL10IMPLIB)" == ""
5062 SHL10IMPLIB
=i
$(TARGET
)_t10
5063 .ENDIF
# "$(SHL10IMPLIB)" == ""
5064 .IF
"$(COM)" != "GCC"
5065 USE_10IMPLIB
=-implib
:$(LB
)/$(SHL10IMPLIB
).lib
5066 .ENDIF
# "$(COM)" != "GCC"
5067 SHL10IMPLIBN
=$(LB
)/$(SHL10IMPLIB
).lib
5068 ALLTAR
: $(SHL10IMPLIBN
)
5070 .IF
"$(USE_DEFFILE)"==""
5071 USE_10IMPLIB_DEPS
=$(LB
)/$(SHL10IMPLIB
).lib
5072 .ENDIF
# "$(USE_DEFFILE)"==""
5073 .ENDIF
# "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
5074 USE_SHL10DEF
=$(SHL10DEF
)
5075 .ELSE
# "$(GUI)" != "UNX"
5077 SHL10DEPN
+:=$(SHL10DEPNU
)
5079 .IF
"$(SHL10VERSIONMAP)"==""
5080 # to activate vmaps remove "#"
5081 USE_SHL10VERSIONMAP
=$(MISC
)/$(SHL10TARGET
).vmap
5082 .ENDIF
# "$(SHL10VERSIONMAP)"==""
5084 .IF
"$(USE_SHL10VERSIONMAP)"!=""
5086 .IF
"$(SHL10FILTERFILE)"!=""
5087 .IF
"$(SHL10VERSIONMAP)"!=""
5088 #eine von beiden ist zuviel
5089 USE_SHL10VERSIONMAP
=$(MISC
)/$(SHL10TARGET
).vmap
5090 $(USE_SHL10VERSIONMAP
) .PHONY
:
5091 @echo
-----------------------------
5092 @echo you should only use versionmap OR exportfile
5093 @echo
-----------------------------
5094 # force_dmake_to_error
5096 .ENDIF
# "$(SHL10VERSIONMAP)"!=""
5099 SHL10VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL10VERSIONMAP
)
5102 $(USE_SHL10VERSIONMAP
): \
5107 .IF
"$(SHL10OBJS)"!=""
5108 # dump remaining objects on the fly
5109 .IF
"$(OS)"=="MACOSX"
5110 @
-nm
$(SHL10OBJS
:s
/.obj
/.o
/) > $@.dump
5112 @nm
$(SHL10OBJS
:s
/.obj
/.o
/) > $@.dump
5114 .ENDIF
# "$(SHL10OBJS)!"=""
5115 @
$(TYPE
) /dev
/null
$(SHL10LIBS
:s
/.lib
/.dump
/) >> $@.dump
5116 $(COMMAND_ECHO
) $(PERL
) $(SOLARENV
)/bin
/mapgen.pl
-d
$@.dump
-s
$(SHL10INTERFACE
) -f
$(SHL10FILTERFILE
) -m
$@
5118 .ELSE
# "$(SHL10FILTERFILE)"!=""
5119 USE_SHL10VERSIONMAP
=$(MISC
)/$(SHL10TARGET
).vmap
5120 $(USE_SHL10VERSIONMAP
) :
5121 .IF
"$(VERBOSE)" == "TRUE"
5122 @echo
-----------------------------
5123 @echo SHL10FILTERFILE not set
!
5124 @echo
-----------------------------
5126 @echo dummy file to keep the dependencies for later use.
5130 # force_dmake_to_error
5131 .ENDIF
# "$(SHL10FILTERFILE)"!=""
5132 .ELSE
# "$(USE_SHL10VERSIONMAP)"!=""
5134 #and now for the plain non-generic way...
5135 .IF
"$(SHL10VERSIONMAP)"!=""
5136 USE_SHL10VERSIONMAP
=$(MISC
)/$(SHL10VERSIONMAP
:b
)_
$(SHL10TARGET
)$(SHL10VERSIONMAP
:e
)
5138 SHL10VERSIONMAPPARA
=$(LINKVERSIONMAPFLAG
) $(USE_SHL10VERSIONMAP
)
5141 .IF
"$(OS)"=="MACOSX"
5142 $(USE_SHL10VERSIONMAP
): $(SHL10OBJS
) $(SHL10LIBS
)
5145 $(USE_SHL10VERSIONMAP
): $(SHL10VERSIONMAP
)
5147 # The following files will only be generated and needed on Mac OS X as temporary files
5148 # in order to generate exported symbols list out of Linux/Solaris map files
5149 .IF
"$(OS)"=="MACOSX"
5150 @
-$(RM
) -f
$@.symregexp
>& $(NULLDEV
)
5151 @
-$(RM
) -f
$@.expsymlist
>& $(NULLDEV
)
5153 # Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what
5154 # happens if somebody will change it in the future
5155 .IF
"$(COMID)"=="gcc3"
5156 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL10VERSIONMAP
) |
$(AWK
) -f
$(SOLARENV
)/bin
/addsym.awk
> $@
5157 .ELIF
"$(COMNAME)"=="sunpro5"
5158 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL10VERSIONMAP
) |
$(GREP
) -v
$(IGNORE_SYMBOLS
) > $@
5159 .ELSE
# "$(COMID)"=="gcc3"
5160 $(COMMAND_ECHO
) tr
-d
"\015" < $(SHL10VERSIONMAP
) > $@
5161 .ENDIF
# "$(COMID)"=="gcc3"
5163 # Mac OS X post-processing generate an exported symbols list from the generated map file
5164 # for details on exported symbols list see man ld on Mac OS X
5165 .IF
"$(OS)"=="MACOSX"
5166 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
-v
"\*\|?" > $@.exported-symbols
5167 @
-cat
$@ |
$(AWK
) -f
$(SOLARENV
)/bin
/unxmap-to-macosx-explist.awk | grep
"\*\|?" > $@.symbols-regexp
5168 # Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
5169 # Extract RTTI symbols from all the objects that will be used to build a shared library
5170 .IF
"$(SHL10OBJS)"!=""
5171 -echo
$(foreach,i
,$(SHL10OBJS
:s
/.obj
/.o
/) $i) | xargs
-n1 nm
-gx |
$(SOLARENV
)/bin
/addsym-macosx.sh
$@.symbols-regexp
$@.symbols-regexp.tmp
>> $@.exported-symbols
5173 .IF
"$(SHL10LIBS)"!=""
5174 $(COMMAND_ECHO
)-$(TYPE
) $(foreach,j
,$(SHL10LIBS
) $j) |
$(SED
) s\
#$(ROUT)\#$(PRJ)/$(ROUT)\#g | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
5176 # overwrite the map file generate into the local output tree with the generated
5177 # exported symbols list
5178 cp
$@.exported-symbols
$@
5179 .ENDIF
# .IF "$(OS)"=="MACOSX"
5180 .ENDIF
# "$(SHL10VERSIONMAP)"!=""
5181 .ENDIF
# "$(USE_SHL10VERSIONMAP)"!=""
5182 .ENDIF
# "$(GUI)" != "UNX"
5184 .IF
"$(UNIXVERSIONNAMES)"!=""
5185 .IF
"$(OS)"!="MACOSX"
5188 SHL10SONAME
=$(SONAME_SWITCH
)$(SHL10TARGETN
:f
)
5190 SHL10SONAME
=\"$(SONAME_SWITCH
)$(SHL10TARGETN
:f
)\"
5192 .ENDIF
# "$(GUI)"!="UNX"
5193 .ENDIF
# "$(OS)"!="MACOSX"
5194 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
5196 .IF
"$(SHL10RES)"!=""
5197 SHL10ALLRES
+=$(SHL10RES
)
5198 SHL10LINKRES
*=$(MISC
)/$(SHL10TARGET
).res
5199 SHL10LINKRESO
*=$(MISC
)/$(SHL10TARGET
)_res.o
5200 .ENDIF
# "$(SHL10RES)"!=""
5202 .IF
"$(SHL10DEFAULTRES)$(use_shl_versions)"!=""
5203 SHL10DEFAULTRES
*=$(MISC
)/$(SHL10TARGET
)_def.res
5204 SHL10ALLRES
+=$(SHL10DEFAULTRES
)
5205 SHL10LINKRES
*=$(MISC
)/$(SHL10TARGET
).res
5206 SHL10LINKRESO
*=$(MISC
)/$(SHL10TARGET
)_res.o
5207 .ENDIF
# "$(SHL10DEFAULTRES)$(use_shl_versions)"!=""
5209 #.IF "$(SHL10TARGETN)"!=""
5211 .IF
"$(linkinc)"!=""
5212 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
5213 .IF
"$(SHL10LIBS)"!=""
5214 $(MISC
)/$(SHL10TARGET
)_linkinc.ls .PHONY
:
5216 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL10LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
5217 .ENDIF
# "$(SHL10LIBS)"!=""
5220 LINKINCTARGETS
+=$(MISC
)/$(SHL10TARGETN
:b
)_linkinc.ls
5221 $(SHL10TARGETN
) : $(LINKINCTARGETS
)
5224 .IF
"$(SHL10USE_EXPORTS)"=="name"
5225 .IF
"$(GUI)"=="WNT" ||
"$(GUI)" == "OS2"
5227 .IF
"$(SHL10LIBS)"!=""
5228 SHL10LINKLIST
=$(MISC
)/$(SHL10TARGET
)_link.lst
5229 SHL10LINKLISTPARAM
=@
$(SHL10LINKLIST
)
5230 $(SHL10LINKLIST
) : $(SHL10LIBS
)
5232 $(COMMAND_ECHO
)$(SED
) -f
$(SOLARENV
)/bin
/chrel.sed
$(foreach,i
,$(SHL10LIBS
) $(i
:s
/.lib
/.lin
/)) >> $@
5233 .ENDIF
# "$(SHL10LIBS)"!=""
5234 .ENDIF
# "$(COM)"!="GCC"
5236 .ENDIF
# "$(SHL10USE_EXPORTS)"=="name"
5238 $(MISC
)/%linkinc.ls
:
5240 .ENDIF
# "$(linkinc)"!=""
5242 .IF
"$(GUI)" == "OS2"
5243 #21/02/2006 YD dll names must be 8.3, invoke fix script
5244 #check osl/os2/module.c/osl_loadModule()
5245 SHL10TARGET8
=$(shell @fix_shl
$(SHL10TARGET
))
5248 .IF
"$(GUI)" == "OS2"
5249 _SHL10IMP_ORD
= $(SHL10STDLIBS
:^
"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL10STDLIBS
:^
"$(LB)/")
5250 SHL10IMP_ORD
= $(foreach,i
,$(_SHL10IMP_ORD
) $(shell @
-ls
$i))
5259 $(USE_10IMPLIB_DEPS
)\
5261 $(USE_SHL10VERSIONMAP
)\
5266 .IF
"$(VERBOSE)" == "TRUE"
5267 @echo
------------------------------
5269 @echo
"Making: " $(@
:f
)
5270 .IF
"$(GUI)" == "WNT"
5271 .IF
"$(SHL10DEFAULTRES)"!=""
5272 @@
-$(RM
) $(MISC
)/$(SHL10DEFAULTRES
:b
).rc
5273 .IF
"$(SHL10ICON)" != ""
5274 @echo
1 ICON
$(SHL10ICON
) >> $(MISC
)/$(SHL10DEFAULTRES
:b
).rc
5276 .IF
"$(use_shl_versions)" != ""
5277 .IF
"$(SHL10ADD_VERINFO)"!=""
5278 @echo
$(EMQ
)#include $(EMQ)"$(SHL10ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5279 .ELSE
# "$(SHL10ADD_VERINFO)"!=""
5280 @echo
$(EMQ
)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5281 @echo
$(EMQ
)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5282 @echo
$(EMQ
)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5283 .ENDIF
# "$(SHL10ADD_VERINFO)"!=""
5284 @echo
$(EMQ
)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5285 @echo
$(EMQ
)#define ORG_NAME $(SHL10TARGET)$(DLLPOST) >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5286 @echo
$(EMQ
)#define INTERNAL_NAME $(SHL10TARGET:b) >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5287 @echo
$(EMQ
)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5288 .ENDIF
# "$(use_shl_versions)" != ""
5289 $(COMMAND_ECHO
)$(RC
) -DWIN32
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL10DEFAULTRES
:b
).rc
5290 .ENDIF
# "$(SHL10DEFAULTRES)"!=""
5291 .IF
"$(SHL10ALLRES)"!=""
5292 $(COMMAND_ECHO
)$(TYPE
) $(SHL10ALLRES
) > $(SHL10LINKRES
)
5294 windres
$(SHL10LINKRES
) $(SHL10LINKRESO
)
5295 .ENDIF
# "$(COM)"=="GCC"
5296 .ENDIF
# "$(SHL10ALLRES)"!=""
5297 .IF
"$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
5298 @echo dlltool
--input-def
$(SHL10DEF
) \
5299 --dllname
$(SHL10TARGET
)$(DLLPOST
) \
5300 --kill-at
\\ > $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5301 @noop
$(assign ALL10OBJLIST
:=$(STDOBJ
) $(SHL10OBJS
) $(SHL10LINKRESO
) $(shell $(TYPE
) /dev
/null
$(SHL10LIBS
) |
$(SED
) s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
5302 .IF
"$(DEFLIB10NAME)"!="" # do not have to include objs
5303 @noop
$(assign DEF10OBJLIST
:=$(shell $(TYPE
) $(foreach,i
,$(DEFLIB10NAME
) $(SLB
)/$(i
).lib
) | sed s?
$(ROUT
)?
$(PRJ
)/$(ROUT
)?g
))
5304 @noop
$(foreach,i
,$(DEF10OBJLIST
) $(assign ALL10OBJLIST
:=$(ALL10OBJLIST
:s?
$i??
)))
5305 .ENDIF
# "$(DEFLIB10NAME)"!=""
5306 @echo
--output-exp
$(MISC
)/$(@
:b
)_exp.o \
5307 $(ALL10OBJLIST
) >> $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5308 @echo
$(LINK
) $(LINKFLAGS
) $(LINKFLAGSSHL
) $(MINGWSSTDOBJ
) -o
$@ \
5309 $(STDOBJ
) $(SHL10VERSIONOBJ
) $(SHL10DESCRIPTIONOBJ
) $(SHL10OBJS
) $(SHL10LINKRESO
) \
5310 `$(TYPE) /dev/null $(SHL10LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
5311 -Wl
,--exclude-libs
,ALL
,--start-group
$(SHL10STDLIBS
) -Wl
,--end-group \
5312 $(SHL10STDSHL
) $(STDSHL10
) $(MISC
)/$(@
:b
)_exp.o
$(MINGWSSTDENDOBJ
) \
5313 -Wl
,-Map
,$(MISC
)/$(@
:b
).map
>> $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5314 @
$(TYPE
) $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5315 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5317 .IF
"$(linkinc)"==""
5318 .IF
"$(SHL10USE_EXPORTS)"!="name"
5319 .IF
"$(USE_DEFFILE)"!=""
5320 $(SHL10LINKER
) @
$(mktmp \
5323 $(SHL10STACK
) $(SHL10BASEX
) \
5325 -map
:$(MISC
)/$(@
:b
).map \
5329 $(SHL10VERSIONOBJ
) $(SHL10OBJS
) \
5332 $(SHL10STDSHL
) $(STDSHL10
) \
5334 ) $(LINKOUTPUTFILTER
)
5335 # double check if target was really written... still making sense?
5337 @echo linking
$@.manifest ...
5338 .IF
"$(VISTA_MANIFEST)"!=""
5339 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
5340 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5342 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5343 .ENDIF
# "$(VISTA_MANIFEST)"!=""
5344 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
5345 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
5346 .ELSE
# "$(USE_DEFFILE)"!=""
5347 $(COMMAND_ECHO
)$(SHL10LINKER
) @
$(mktmp
$(SHL10LINKFLAGS
) \
5348 $(LINKFLAGSSHL
) $(SHL10BASEX
) \
5349 $(SHL10STACK
) -out
:$(SHL10TARGETN
) \
5350 -map
:$(MISC
)/$(@
:B
).map \
5351 $(LB
)/$(SHL10IMPLIB
).exp \
5353 $(SHL10OBJS
) $(SHL10VERSIONOBJ
) \
5356 $(SHL10STDSHL
) $(STDSHL10
) \
5358 ) $(LINKOUTPUTFILTER
)
5359 # double check if target was really written... still making sense?
5361 @echo linking
$@.manifest ...
5362 .IF
"$(VISTA_MANIFEST)"!=""
5363 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
5364 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5366 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5367 .ENDIF
# "$(VISTA_MANIFEST)"!=""
5368 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
5369 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
5370 .ENDIF
# "$(USE_DEFFILE)"!=""
5371 .ELSE
# "$(SHL10USE_EXPORTS)"!="name"
5372 $(COMMAND_ECHO
)$(SHL10LINKER
) @
$(mktmp
$(SHL10LINKFLAGS
) \
5373 $(LINKFLAGSSHL
) $(SHL10BASEX
) \
5374 $(SHL10STACK
) -out
:$(SHL10TARGETN
) \
5375 -map
:$(MISC
)/$(@
:B
).map \
5378 $(SHL10OBJS
) $(SHL10VERSIONOBJ
)) \
5379 $(SHL10LINKLISTPARAM
) \
5380 @
$(mktmp
$(SHL10STDLIBS
) \
5381 $(SHL10STDSHL
) $(STDSHL10
) \
5384 @echo linking
$@.manifest ...
5385 .IF
"$(VISTA_MANIFEST)"!=""
5386 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
5387 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5389 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5390 .ENDIF
# "$(VISTA_MANIFEST)"!=""
5391 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
5392 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
5393 .ENDIF
# "$(SHL10USE_EXPORTS)"!="name"
5394 .ELSE
# "$(linkinc)"==""
5395 $(COMMAND_ECHO
)-$(RM
) del
$(MISC
)/$(SHL10TARGET
).lnk
5396 $(COMMAND_ECHO
)-$(RM
) $(MISC
)/$(SHL10TARGET
).lst
5397 $(COMMAND_ECHO
)$(TYPE
) $(mktmp \
5399 $(LINKFLAGSSHL
) $(SHL10BASEX
) \
5400 $(SHL10STACK
) $(MAPFILE
) \
5402 $(LB
)/$(SHL10IMPLIB
).exp \
5406 $(SHL10STDSHL
) $(STDSHL10
) \
5408 ) >> $(MISC
)/$(SHL10TARGET
).lnk
5409 $(COMMAND_ECHO
)$(TYPE
) $(MISC
)/$(SHL10TARGETN
:b
)_linkinc.ls
>> $(MISC
)/$(SHL10TARGET
).lnk
5410 $(COMMAND_ECHO
)$(SHL10LINKER
) @
$(MISC
)/$(SHL10TARGET
).lnk
5411 @echo linking
$@.manifest ...
5412 .IF
"$(VISTA_MANIFEST)"!=""
5413 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-manifest
$(TRUSTED_MANIFEST_LOCATION
)/trustedinfo.manifest
-out
:$@.tmanifest
$(EMQ
) $(FI
)
5414 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.tmanifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5416 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(MT
) $(MTFLAGS
) -manifest
$@.manifest
-outputresource
:$@
$(EMQ
);2 $(FI
)
5417 .ENDIF
# "$(VISTA_MANIFEST)"!=""
5418 $(COMMAND_ECHO
)$(IFEXIST
) $@.manifest
$(THEN
) $(RM
:s
/+//) $@.manifest
$(FI
)
5419 $(COMMAND_ECHO
)$(IFEXIST
) $@.tmanifest
$(THEN
) $(RM
:s
/+//) $@.tmanifest
$(FI
)
5420 .ENDIF
# "$(linkinc)"==""
5421 .ENDIF
# "$(COM)"=="GCC"
5422 .ENDIF
# "$(GUI)" == "WNT"
5424 .IF
"$(OS)"=="MACOSX"
5425 @
-$(RM
) $(MISC
)/$(@
:b
).list
5426 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5427 @echo
$(STDSLO
) $(SHL10OBJS
:s
/.obj
/.o
/) \
5428 $(SHL10VERSIONOBJ
) \
5429 `cat /dev/null $(SHL10LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr
-s
" " "\n" > $(MISC
)/$(@
:b
).list
5430 @echo
-n
$(SHL10LINKER
) $(SHL10LINKFLAGS
) $(SHL10VERSIONMAPPARA
) $(LINKFLAGSSHL
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) -o
$@ \
5431 $(SHL10STDLIBS
) $(SHL10ARCHIVES
) $(SHL10STDSHL
) $(STDSHL10
) -filelist
$(MISC
)/$(@
:b
).list
$(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5432 @
$(PERL
) $(SOLARENV
)/bin
/macosx-dylib-link-list.pl \
5433 `cat $(MISC)/$(TARGET).$(@:b)_10.cmd` \
5434 >> $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5435 .IF
"$(VERBOSE)" == "TRUE"
5436 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5438 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5439 @
$(PERL
) $(SOLARENV
)/bin
/macosx-change-install-names.pl \
5440 shl
$(SHL10RPATH
) $@
5441 @echo
"Making: " $(@
:f
).jnilib
5442 @macosx-create-bundle
$@
5443 .IF
"$(UPDATER)"=="YES"
5444 .IF
"$(SHL10NOCHECK)"==""
5445 $(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS10
) $(SHL10TARGETN
)
5446 .ENDIF
# "$(SHL10NOCHECK)"!=""
5448 .ELSE
# "$(OS)"=="MACOSX"
5449 @
-$(RM
) $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5450 @echo
$(SHL10LINKER
) $(SHL10LINKFLAGS
) $(SHL10SONAME
) $(LINKFLAGSSHL
) $(SHL10VERSIONMAPPARA
) -L
$(PRJ
)/$(ROUT
)/lib
$(SOLARLIB
) $(STDSLO
) $(SHL10OBJS
:s
/.obj
/.o
/) \
5451 $(SHL10VERSIONOBJ
) -o
$@ \
5452 `cat /dev/null $(SHL10LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
5453 $(SHL10STDLIBS
) $(SHL10ARCHIVES
) $(SHL10STDSHL
) $(STDSHL10
) $(LINKOUTPUT_FILTER
) > $(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5454 .IF
"$(VERBOSE)" == "TRUE"
5455 @cat
$(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5457 @
+source
$(MISC
)/$(TARGET
).
$(@
:b
)_10.cmd
5458 .IF
"$(UPDATER)"=="YES"
5459 .IF
"$(SHL10NOCHECK)"==""
5460 $(COMMAND_ECHO
)-$(RM
) $(SHL10TARGETN
:d
)check_
$(SHL10TARGETN
:f
)
5461 $(COMMAND_ECHO
)$(RENAME
) $(SHL10TARGETN
) $(SHL10TARGETN
:d
)check_
$(SHL10TARGETN
:f
)
5462 .IF
"$(VERBOSE)"=="TRUE"
5463 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS10
) $(SHL10TARGETN
:d
)check_
$(SHL10TARGETN
:f
)
5465 $(COMMAND_ECHO
)$(SOLARENV
)/bin
/checkdll.sh
-L
$(LB
) -L
$(SOLARLIBDIR
) $(EXTRALIBPATHS10
) -- -s
$(SHL10TARGETN
:d
)check_
$(SHL10TARGETN
:f
)
5467 .ENDIF
# "$(SHL10NOCHECK)"!=""
5468 .ENDIF
# "$(UPDATER)"=="YES"
5469 .ENDIF
# "$(OS)"=="MACOSX"
5470 .IF
"$(UNIXVERSIONNAMES)"!=""
5471 $(COMMAND_ECHO
)$(RM
) $(LB
)/$(SHL10TARGETN
:b
)
5472 $(COMMAND_ECHO
)cd
$(LB
) && ln
-s
$(SHL10TARGETN
:f
) $(SHL10TARGETN
:b
)
5473 .ENDIF
# "$(UNIXVERSIONNAMES)"!=""
5474 .IF
"$(VERBOSE)" == "TRUE"
5477 .ENDIF
# "$(GUI)" == "UNX"
5479 .IF
"$(GUI)" == "OS2"
5481 .IF
"$(SHL10DEFAULTRES)"!=""
5482 @
+-$(RM
) $(MISC
)/$(SHL10DEFAULTRES
:b
).rc
>& $(NULLDEV
)
5483 .IF
"$(SHL10ICON)" != ""
5484 @
-+echo
1 ICON
$(SHL10ICON
) >> $(MISC
)/$(SHL10DEFAULTRES
:b
).rc
5486 .IF
"$(use_shl_versions)" != ""
5487 .IF
"$(SHL10ADD_VERINFO)"!=""
5488 @
-+echo
$(EMQ
)#include $(EMQ)"$(SHL10ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5489 .ENDIF
# "$(SHL10ADD_VERINFO)"!=""
5490 @
-+echo MENU
1 BEGIN END
>> $(MISC
)/$(SHL10DEFAULTRES
:b
).rc
5491 # @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL10DEFAULTRES:b).rc
5492 .ENDIF
# "$(use_shl_versions)" != ""
5493 # YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
5494 $(COMMAND_ECHO
)$(RC
) -r
-DOS2
$(INCLUDE
) $(RCLINKFLAGS
) $(MISC
)/$(SHL10DEFAULTRES
:b
).rc
5495 .ENDIF
# "$(SHL10DEFAULTRES)"!=""
5497 .IF
"$(SHL10ALLRES)"!=""
5498 $(COMMAND_ECHO
)+$(TYPE
) $(SHL10ALLRES
) > $(SHL10LINKRES
)
5499 .ENDIF
# "$(SHL10ALLRES)"!=""
5501 .IF
"$(USE_DEFFILE)"!=""
5503 $(COMMAND_ECHO
)$(SHL10LINKER
) $(SHL10LINKFLAGS
) $(LINKFLAGSSHL
) -o
$@ \
5507 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
5508 $(SHL10OBJS
) $(SHL10VERSIONOBJ
) \
5510 $(SHL10STDLIBS
:^
"-l") \
5512 $(SHL10STDSHL
:^
"-l") $(STDSHL10
:^
"-l")
5514 .ELSE
# "$(USE_DEFFILE)"!=""
5516 $(COMMAND_ECHO
)$(SHL10LINKER
) -v
$(SHL10LINKFLAGS
) \
5517 $(LINKFLAGSSHL
) $(SHL10BASEX
) \
5518 $(SHL10STACK
) -o
$(SHL10TARGETN
) \
5522 -L
$(SOLARVERSION
)/$(INPATH
)/lib \
5523 $(SHL10OBJS
) $(SHL10VERSIONOBJ
) \
5525 $(SHL10STDLIBS
:^
"-l") \
5527 $(SHL10STDSHL
:^
"-l") $(STDSHL10
:^
"-l") \
5529 @
$(LS
) $@
>& $(NULLDEV
)
5531 .ENDIF
# "$(USE_DEFFILE)"!=""
5533 .IF
"$(SHL10TARGET8)" != "$(SHL10TARGET)"
5534 $(COMMAND_ECHO
)+$(COPY
) $@
$(@
:d
)$(SHL10TARGET8
).dll
5537 .ENDIF
# "$(GUI)" == "OS2"
5540 .IF
"$(TESTDIR)"!=""
5541 .IF
"$(NO_TESTS)"==""
5543 ALLTAR
: runtest_
$(SHL10TARGET
)
5545 runtest_
$(SHL10TARGET
) : $(SHL10TARGETN
)
5546 testshl
$(SHL10TARGETN
) sce
/$(SHL10TARGET
).sce
-msg
-skip
5547 .ENDIF
# "$(NO_TESTS)"==""
5548 .ENDIF
# "$(TESTDIR)"!=""
5549 .ENDIF
# "$(SHL10TARGETN)"!=""
5553 .IF
"$(SHL1IMPLIBN)" != ""
5555 .IF
"$(UPDATER)"=="YES"
5556 USELIB1DEPN
+=$(SHL1LIBS
)
5560 .IF
"$(USE_DEFFILE)"!=""
5561 USE_SHL1TARGET
=$(SHL1TARGETN
)
5564 .IF
"$(GUI)" != "UNX"
5574 .IF
"$(VERBOSE)" == "TRUE"
5575 @echo
-------------------------------
5577 @echo
"Making: " $(@
:f
)
5578 .IF
"$(GUI)" == "WNT"
5580 @echo no ImportLibs on mingw
5583 .ELSE
# "$(COM)=="GCC"
5584 # bei use_deffile implib von linker erstellt
5585 .IF
"$(USE_DEFFILE)"==""
5586 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL1IMPLIBN
) \
5588 .ELSE
# "$(USE_DEFFILE)==""
5589 @echo build of
$(SHL1TARGETN
) creates
$@
5591 .ENDIF
# "$(USE_DEFFILE)==""
5592 .ENDIF
# "$(COM)"=="GCC"
5594 .ELIF
"$(GUI)" == "OS2"
5596 # touch creates an empty file, but this is not good for emxomfar, so
5597 # create a dummy lib here
5598 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL1VERSIONOBJ
)
5599 +@echo build of
$(SHL1TARGETN
) creates
$@
5602 @echo no ImportLibs on Mac and
*ix
5610 .IF
"$(SHL2IMPLIBN)" != ""
5612 .IF
"$(UPDATER)"=="YES"
5613 USELIB2DEPN
+=$(SHL2LIBS
)
5617 .IF
"$(USE_DEFFILE)"!=""
5618 USE_SHL2TARGET
=$(SHL2TARGETN
)
5621 .IF
"$(GUI)" != "UNX"
5631 .IF
"$(VERBOSE)" == "TRUE"
5632 @echo
-------------------------------
5634 @echo
"Making: " $(@
:f
)
5635 .IF
"$(GUI)" == "WNT"
5637 @echo no ImportLibs on mingw
5640 .ELSE
# "$(COM)=="GCC"
5641 # bei use_deffile implib von linker erstellt
5642 .IF
"$(USE_DEFFILE)"==""
5643 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL2IMPLIBN
) \
5645 .ELSE
# "$(USE_DEFFILE)==""
5646 @echo build of
$(SHL2TARGETN
) creates
$@
5648 .ENDIF
# "$(USE_DEFFILE)==""
5649 .ENDIF
# "$(COM)"=="GCC"
5651 .ELIF
"$(GUI)" == "OS2"
5653 # touch creates an empty file, but this is not good for emxomfar, so
5654 # create a dummy lib here
5655 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL2VERSIONOBJ
)
5656 +@echo build of
$(SHL2TARGETN
) creates
$@
5659 @echo no ImportLibs on Mac and
*ix
5667 .IF
"$(SHL3IMPLIBN)" != ""
5669 .IF
"$(UPDATER)"=="YES"
5670 USELIB3DEPN
+=$(SHL3LIBS
)
5674 .IF
"$(USE_DEFFILE)"!=""
5675 USE_SHL3TARGET
=$(SHL3TARGETN
)
5678 .IF
"$(GUI)" != "UNX"
5688 .IF
"$(VERBOSE)" == "TRUE"
5689 @echo
-------------------------------
5691 @echo
"Making: " $(@
:f
)
5692 .IF
"$(GUI)" == "WNT"
5694 @echo no ImportLibs on mingw
5697 .ELSE
# "$(COM)=="GCC"
5698 # bei use_deffile implib von linker erstellt
5699 .IF
"$(USE_DEFFILE)"==""
5700 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL3IMPLIBN
) \
5702 .ELSE
# "$(USE_DEFFILE)==""
5703 @echo build of
$(SHL3TARGETN
) creates
$@
5705 .ENDIF
# "$(USE_DEFFILE)==""
5706 .ENDIF
# "$(COM)"=="GCC"
5708 .ELIF
"$(GUI)" == "OS2"
5710 # touch creates an empty file, but this is not good for emxomfar, so
5711 # create a dummy lib here
5712 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL3VERSIONOBJ
)
5713 +@echo build of
$(SHL3TARGETN
) creates
$@
5716 @echo no ImportLibs on Mac and
*ix
5724 .IF
"$(SHL4IMPLIBN)" != ""
5726 .IF
"$(UPDATER)"=="YES"
5727 USELIB4DEPN
+=$(SHL4LIBS
)
5731 .IF
"$(USE_DEFFILE)"!=""
5732 USE_SHL4TARGET
=$(SHL4TARGETN
)
5735 .IF
"$(GUI)" != "UNX"
5745 .IF
"$(VERBOSE)" == "TRUE"
5746 @echo
-------------------------------
5748 @echo
"Making: " $(@
:f
)
5749 .IF
"$(GUI)" == "WNT"
5751 @echo no ImportLibs on mingw
5754 .ELSE
# "$(COM)=="GCC"
5755 # bei use_deffile implib von linker erstellt
5756 .IF
"$(USE_DEFFILE)"==""
5757 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL4IMPLIBN
) \
5759 .ELSE
# "$(USE_DEFFILE)==""
5760 @echo build of
$(SHL4TARGETN
) creates
$@
5762 .ENDIF
# "$(USE_DEFFILE)==""
5763 .ENDIF
# "$(COM)"=="GCC"
5765 .ELIF
"$(GUI)" == "OS2"
5767 # touch creates an empty file, but this is not good for emxomfar, so
5768 # create a dummy lib here
5769 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL4VERSIONOBJ
)
5770 +@echo build of
$(SHL4TARGETN
) creates
$@
5773 @echo no ImportLibs on Mac and
*ix
5781 .IF
"$(SHL5IMPLIBN)" != ""
5783 .IF
"$(UPDATER)"=="YES"
5784 USELIB5DEPN
+=$(SHL5LIBS
)
5788 .IF
"$(USE_DEFFILE)"!=""
5789 USE_SHL5TARGET
=$(SHL5TARGETN
)
5792 .IF
"$(GUI)" != "UNX"
5802 .IF
"$(VERBOSE)" == "TRUE"
5803 @echo
-------------------------------
5805 @echo
"Making: " $(@
:f
)
5806 .IF
"$(GUI)" == "WNT"
5808 @echo no ImportLibs on mingw
5811 .ELSE
# "$(COM)=="GCC"
5812 # bei use_deffile implib von linker erstellt
5813 .IF
"$(USE_DEFFILE)"==""
5814 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL5IMPLIBN
) \
5816 .ELSE
# "$(USE_DEFFILE)==""
5817 @echo build of
$(SHL5TARGETN
) creates
$@
5819 .ENDIF
# "$(USE_DEFFILE)==""
5820 .ENDIF
# "$(COM)"=="GCC"
5822 .ELIF
"$(GUI)" == "OS2"
5824 # touch creates an empty file, but this is not good for emxomfar, so
5825 # create a dummy lib here
5826 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL5VERSIONOBJ
)
5827 +@echo build of
$(SHL5TARGETN
) creates
$@
5830 @echo no ImportLibs on Mac and
*ix
5838 .IF
"$(SHL6IMPLIBN)" != ""
5840 .IF
"$(UPDATER)"=="YES"
5841 USELIB6DEPN
+=$(SHL6LIBS
)
5845 .IF
"$(USE_DEFFILE)"!=""
5846 USE_SHL6TARGET
=$(SHL6TARGETN
)
5849 .IF
"$(GUI)" != "UNX"
5859 .IF
"$(VERBOSE)" == "TRUE"
5860 @echo
-------------------------------
5862 @echo
"Making: " $(@
:f
)
5863 .IF
"$(GUI)" == "WNT"
5865 @echo no ImportLibs on mingw
5868 .ELSE
# "$(COM)=="GCC"
5869 # bei use_deffile implib von linker erstellt
5870 .IF
"$(USE_DEFFILE)"==""
5871 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL6IMPLIBN
) \
5873 .ELSE
# "$(USE_DEFFILE)==""
5874 @echo build of
$(SHL6TARGETN
) creates
$@
5876 .ENDIF
# "$(USE_DEFFILE)==""
5877 .ENDIF
# "$(COM)"=="GCC"
5879 .ELIF
"$(GUI)" == "OS2"
5881 # touch creates an empty file, but this is not good for emxomfar, so
5882 # create a dummy lib here
5883 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL6VERSIONOBJ
)
5884 +@echo build of
$(SHL6TARGETN
) creates
$@
5887 @echo no ImportLibs on Mac and
*ix
5895 .IF
"$(SHL7IMPLIBN)" != ""
5897 .IF
"$(UPDATER)"=="YES"
5898 USELIB7DEPN
+=$(SHL7LIBS
)
5902 .IF
"$(USE_DEFFILE)"!=""
5903 USE_SHL7TARGET
=$(SHL7TARGETN
)
5906 .IF
"$(GUI)" != "UNX"
5916 .IF
"$(VERBOSE)" == "TRUE"
5917 @echo
-------------------------------
5919 @echo
"Making: " $(@
:f
)
5920 .IF
"$(GUI)" == "WNT"
5922 @echo no ImportLibs on mingw
5925 .ELSE
# "$(COM)=="GCC"
5926 # bei use_deffile implib von linker erstellt
5927 .IF
"$(USE_DEFFILE)"==""
5928 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL7IMPLIBN
) \
5930 .ELSE
# "$(USE_DEFFILE)==""
5931 @echo build of
$(SHL7TARGETN
) creates
$@
5933 .ENDIF
# "$(USE_DEFFILE)==""
5934 .ENDIF
# "$(COM)"=="GCC"
5936 .ELIF
"$(GUI)" == "OS2"
5938 # touch creates an empty file, but this is not good for emxomfar, so
5939 # create a dummy lib here
5940 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL7VERSIONOBJ
)
5941 +@echo build of
$(SHL7TARGETN
) creates
$@
5944 @echo no ImportLibs on Mac and
*ix
5952 .IF
"$(SHL8IMPLIBN)" != ""
5954 .IF
"$(UPDATER)"=="YES"
5955 USELIB8DEPN
+=$(SHL8LIBS
)
5959 .IF
"$(USE_DEFFILE)"!=""
5960 USE_SHL8TARGET
=$(SHL8TARGETN
)
5963 .IF
"$(GUI)" != "UNX"
5973 .IF
"$(VERBOSE)" == "TRUE"
5974 @echo
-------------------------------
5976 @echo
"Making: " $(@
:f
)
5977 .IF
"$(GUI)" == "WNT"
5979 @echo no ImportLibs on mingw
5982 .ELSE
# "$(COM)=="GCC"
5983 # bei use_deffile implib von linker erstellt
5984 .IF
"$(USE_DEFFILE)"==""
5985 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL8IMPLIBN
) \
5987 .ELSE
# "$(USE_DEFFILE)==""
5988 @echo build of
$(SHL8TARGETN
) creates
$@
5990 .ENDIF
# "$(USE_DEFFILE)==""
5991 .ENDIF
# "$(COM)"=="GCC"
5993 .ELIF
"$(GUI)" == "OS2"
5995 # touch creates an empty file, but this is not good for emxomfar, so
5996 # create a dummy lib here
5997 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL8VERSIONOBJ
)
5998 +@echo build of
$(SHL8TARGETN
) creates
$@
6001 @echo no ImportLibs on Mac and
*ix
6009 .IF
"$(SHL9IMPLIBN)" != ""
6011 .IF
"$(UPDATER)"=="YES"
6012 USELIB9DEPN
+=$(SHL9LIBS
)
6016 .IF
"$(USE_DEFFILE)"!=""
6017 USE_SHL9TARGET
=$(SHL9TARGETN
)
6020 .IF
"$(GUI)" != "UNX"
6030 .IF
"$(VERBOSE)" == "TRUE"
6031 @echo
-------------------------------
6033 @echo
"Making: " $(@
:f
)
6034 .IF
"$(GUI)" == "WNT"
6036 @echo no ImportLibs on mingw
6039 .ELSE
# "$(COM)=="GCC"
6040 # bei use_deffile implib von linker erstellt
6041 .IF
"$(USE_DEFFILE)"==""
6042 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL9IMPLIBN
) \
6044 .ELSE
# "$(USE_DEFFILE)==""
6045 @echo build of
$(SHL9TARGETN
) creates
$@
6047 .ENDIF
# "$(USE_DEFFILE)==""
6048 .ENDIF
# "$(COM)"=="GCC"
6050 .ELIF
"$(GUI)" == "OS2"
6052 # touch creates an empty file, but this is not good for emxomfar, so
6053 # create a dummy lib here
6054 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL9VERSIONOBJ
)
6055 +@echo build of
$(SHL9TARGETN
) creates
$@
6058 @echo no ImportLibs on Mac and
*ix
6066 .IF
"$(SHL10IMPLIBN)" != ""
6068 .IF
"$(UPDATER)"=="YES"
6069 USELIB10DEPN
+=$(SHL10LIBS
)
6073 .IF
"$(USE_DEFFILE)"!=""
6074 USE_SHL10TARGET
=$(SHL10TARGETN
)
6077 .IF
"$(GUI)" != "UNX"
6080 $(USE_SHL10TARGET
) \
6087 .IF
"$(VERBOSE)" == "TRUE"
6088 @echo
-------------------------------
6090 @echo
"Making: " $(@
:f
)
6091 .IF
"$(GUI)" == "WNT"
6093 @echo no ImportLibs on mingw
6096 .ELSE
# "$(COM)=="GCC"
6097 # bei use_deffile implib von linker erstellt
6098 .IF
"$(USE_DEFFILE)"==""
6099 $(IMPLIB
) $(IMPLIBFLAGS
) @
$(mktmp
-out
:$(SHL10IMPLIBN
) \
6101 .ELSE
# "$(USE_DEFFILE)==""
6102 @echo build of
$(SHL10TARGETN
) creates
$@
6104 .ENDIF
# "$(USE_DEFFILE)==""
6105 .ENDIF
# "$(COM)"=="GCC"
6107 .ELIF
"$(GUI)" == "OS2"
6109 # touch creates an empty file, but this is not good for emxomfar, so
6110 # create a dummy lib here
6111 $(COMMAND_ECHO
)-$(LIBMGR
) $(LIBFLAGS
) $@
$(SHL10VERSIONOBJ
)
6112 +@echo build of
$(SHL10TARGETN
) creates
$@
6115 @echo no ImportLibs on Mac and
*ix