1# unroll begin 2 3.IF "$(SHL1TARGETN)"!="" 4 5.IF "$(OS)"=="AIX" 6SHL1STDLIBS= 7.ENDIF 8 9.IF "$(SHLLINKARCONLY)" != "" 10SHL1STDLIBS= 11STDSHL= 12.ELSE 13SHL1ARCHIVES= 14.ENDIF 15 16# decide how to link 17.IF "$(SHL1CODETYPE)"=="C" 18SHL1LINKER=$(LINKC) 19SHL1STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 20SHL1LINKFLAGS+=$(LINKCFLAGS) 21.ELSE # "$(SHL1CODETYPE)"=="C" 22SHL1LINKER=$(LINK) 23SHL1STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 24SHL1LINKFLAGS+=$(LINKFLAGS) 25.ENDIF # "$(SHL1CODETYPE)"=="C" 26 27SHL1RPATH*=OOO 28LINKFLAGSRUNPATH_$(SHL1RPATH)*=/ERROR:/Bad_SHL1RPATH_value 29SHL1LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL1RPATH)) 30 31.IF "$(SHL1USE_EXPORTS)"=="" 32SHL1DEF*=$(MISC)/$(SHL1TARGET).def 33.ENDIF # "$(SHL1USE_EXPORTS)"=="" 34 35EXTRALIBPATHS1=$(EXTRALIBPATHS) 36.IF "$(UPDATER)"=="YES" 37.IF "$(SHL1NOCHECK)"=="" 38.IF "$(SOLAR_STLLIBPATH)"!="" 39EXTRALIBPATHS1+=-L$(SOLAR_STLLIBPATH) 40.ENDIF 41.ENDIF # "$(SHL1NOCHECK)"!="" 42.ENDIF 43#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 44#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 45#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 46 47.IF "$(L10N_framework)"=="" 48.IF "$(VERSIONOBJ)"!="" 49SHL1VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL1TARGET))}$(VERSIONOBJ:f) 50USE_VERSIONH:=$(INCCOM)/$(SHL1VERSIONOBJ:b).h 51.IF "$(GUI)" == "UNX" 52SHL1VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL1TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 53.ELSE # "$(GUI)" == "UNX" 54SHL1VERSIONOBJDEP:=$(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/ > $@ 59 60.INIT : $(SHL1VERSIONOBJDEP) 61.ENDIF # "$(VERSIONOBJ)"!="" 62.ENDIF 63 64.IF "$(GUI)" != "UNX" 65.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 66.IF "$(SHL1IMPLIB)" == "" 67SHL1IMPLIB=i$(TARGET)_t1 68.ENDIF # "$(SHL1IMPLIB)" == "" 69.IF "$(COM)" != "GCC" 70USE_1IMPLIB=-implib:$(LB)/$(SHL1IMPLIB).lib 71.ENDIF # "$(COM)" != "GCC" 72SHL1IMPLIBN=$(LB)/$(SHL1IMPLIB).lib 73ALLTAR : $(SHL1IMPLIBN) 74 75.IF "$(USE_DEFFILE)"=="" 76USE_1IMPLIB_DEPS=$(LB)/$(SHL1IMPLIB).lib 77.ENDIF # "$(USE_DEFFILE)"=="" 78.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 79USE_SHL1DEF=$(SHL1DEF) 80.ELSE # "$(GUI)" != "UNX" 81USE_SHL1DEF= 82SHL1DEPN+:=$(SHL1DEPNU) 83 84.IF "$(SHL1VERSIONMAP)"=="" 85# to activate vmaps remove "#" 86USE_SHL1VERSIONMAP=$(MISC)/$(SHL1TARGET).vmap 87.ENDIF # "$(SHL1VERSIONMAP)"=="" 88 89.IF "$(USE_SHL1VERSIONMAP)"!="" 90 91.IF "$(SHL1FILTERFILE)"!="" 92.IF "$(SHL1VERSIONMAP)"!="" 93#eine von beiden ist zuviel 94USE_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 100 101.ENDIF # "$(SHL1VERSIONMAP)"!="" 102 103SHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP) 104 105$(USE_SHL1VERSIONMAP): \ 106 $(SHL1OBJS)\ 107 $(SHL1LIBS)\ 108 $(SHL1FILTERFILE) 109 @$(RM) $@.dump 110.IF "$(SHL1OBJS)"!="" 111# dump remaining objects on the fly 112.IF "$(OS)"=="MACOSX" 113 @-nm $(SHL1OBJS:s/.obj/.o/) > $@.dump 114.ELSE 115 @nm $(SHL1OBJS:s/.obj/.o/) > $@.dump 116.ENDIF 117.ENDIF # "$(SHL1OBJS)!"="" 118 @$(TYPE) /dev/null $(SHL1LIBS:s/.lib/.dump/) >> $@.dump 119 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL1INTERFACE) -f $(SHL1FILTERFILE) -m $@ 120 121.ELSE # "$(SHL1FILTERFILE)"!="" 122USE_SHL1VERSIONMAP=$(MISC)/$(SHL1TARGET).vmap 123$(USE_SHL1VERSIONMAP) : 124.IF "$(VERBOSE)" == "TRUE" 125 @echo ----------------------------- 126 @echo SHL1FILTERFILE not set! 127 @echo ----------------------------- 128 @$(TOUCH) $@ 129 @echo dummy file to keep the dependencies for later use. 130.ELSE 131 @$(TOUCH) $@ 132.ENDIF 133# force_dmake_to_error 134.ENDIF # "$(SHL1FILTERFILE)"!="" 135.ELSE # "$(USE_SHL1VERSIONMAP)"!="" 136 137#and now for the plain non-generic way... 138.IF "$(SHL1VERSIONMAP)"!="" 139USE_SHL1VERSIONMAP=$(MISC)/$(SHL1VERSIONMAP:b)_$(SHL1TARGET)$(SHL1VERSIONMAP:e) 140SHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP) 141 142.IF "$(OS)"=="MACOSX" 143$(USE_SHL1VERSIONMAP): $(SHL1OBJS) $(SHL1LIBS) 144.ENDIF 145 146# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 147# even if the $(AWK) part fails: 148$(USE_SHL1VERSIONMAP) .ERRREMOVE: $(SHL1VERSIONMAP) 149 @@-$(RM) -f $@ 150# The following files will only be generated and needed on Mac OS X as temporary files 151# in order to generate exported symbols list out of Linux/Solaris map files 152.IF "$(OS)"=="MACOSX" 153 @-$(RM) -f $@.symregexp >& $(NULLDEV) 154 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 155.ENDIF 156# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 157# happens if somebody will change it in the future 158.IF "$(COMID)"=="gcc3" 159 $(COMMAND_ECHO) tr -d "\015" < $(SHL1VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 160.ELIF "$(COMNAME)"=="sunpro5" 161 $(COMMAND_ECHO) tr -d "\015" < $(SHL1VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 162.ELSE # "$(COMID)"=="gcc3" 163 $(COMMAND_ECHO) tr -d "\015" < $(SHL1VERSIONMAP) > $@ 164.ENDIF # "$(COMID)"=="gcc3" 165 @chmod a+w $@ 166# Mac OS X post-processing generate an exported symbols list from the generated map file 167# for details on exported symbols list see man ld on Mac OS X 168.IF "$(OS)"=="MACOSX" 169 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 170 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 171# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 172# Extract RTTI symbols from all the objects that will be used to build a shared library 173.IF "$(SHL1OBJS)"!="" 174 -echo $(foreach,i,$(SHL1OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 175.ENDIF 176.IF "$(SHL1LIBS)"!="" 177 $(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 178.ENDIF 179# overwrite the map file generate into the local output tree with the generated 180# exported symbols list 181 cp $@.exported-symbols $@ 182.ENDIF # .IF "$(OS)"=="MACOSX" 183.ENDIF # "$(SHL1VERSIONMAP)"!="" 184.ENDIF # "$(USE_SHL1VERSIONMAP)"!="" 185.ENDIF # "$(GUI)" != "UNX" 186 187.IF "$(UNIXVERSIONNAMES)"!="" 188.IF "$(OS)"!="MACOSX" 189.IF "$(GUI)"=="UNX" 190SHL1SONAME=\"$(SONAME_SWITCH)$(SHL1TARGETN:f)\" 191.ENDIF # "$(GUI)"!="UNX" 192.ENDIF # "$(OS)"!="MACOSX" 193.ENDIF # "$(UNIXVERSIONNAMES)"!="" 194 195.IF "$(SHL1RES)"!="" 196SHL1ALLRES+=$(SHL1RES) 197SHL1LINKRES*=$(MISC)/$(SHL1TARGET).res 198SHL1LINKRESO*=$(MISC)/$(SHL1TARGET)_res.o 199.ENDIF # "$(SHL1RES)"!="" 200 201.IF "$(SHL1DEFAULTRES)$(use_shl_versions)"!="" 202SHL1DEFAULTRES*=$(MISC)/$(SHL1TARGET)_def.res 203SHL1ALLRES+=$(SHL1DEFAULTRES) 204SHL1LINKRES*=$(MISC)/$(SHL1TARGET).res 205SHL1LINKRESO*=$(MISC)/$(SHL1TARGET)_res.o 206.ENDIF # "$(SHL1DEFAULTRES)$(use_shl_versions)"!="" 207 208#.IF "$(SHL1TARGETN)"!="" 209 210.IF "$(linkinc)"!="" 211.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 212.IF "$(SHL1LIBS)"!="" 213$(MISC)/$(SHL1TARGET)_linkinc.ls .PHONY: 214 @@-$(RM) $@ 215 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL1LIBS) $(i:s/.lib/.lin/)) >> $@ 216.ENDIF # "$(SHL1LIBS)"!="" 217.ENDIF 218 219LINKINCTARGETS+=$(MISC)/$(SHL1TARGETN:b)_linkinc.ls 220$(SHL1TARGETN) : $(LINKINCTARGETS) 221 222.ELSE 223.IF "$(SHL1USE_EXPORTS)"=="name" 224.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 225.IF "$(COM)"!="GCC" 226.IF "$(SHL1LIBS)"!="" 227SHL1LINKLIST=$(MISC)/$(SHL1TARGET)_link.lst 228SHL1LINKLISTPARAM=@$(SHL1LINKLIST) 229$(SHL1LINKLIST) : $(SHL1LIBS) 230 @@-$(RM) $@ 231 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL1LIBS) $(i:s/.lib/.lin/)) >> $@ 232.ENDIF # "$(SHL1LIBS)"!="" 233.ENDIF # "$(COM)"!="GCC" 234.ENDIF 235.ENDIF # "$(SHL1USE_EXPORTS)"=="name" 236 237$(MISC)/%linkinc.ls: 238 @echo . > $@ 239.ENDIF # "$(linkinc)"!="" 240 241.IF "$(GUI)" == "OS2" 242#21/02/2006 YD dll names must be 8.3, invoke fix script 243#check osl/os2/module.c/osl_loadModule() 244SHL1TARGET8=$(shell @fix_shl.cmd $(SHL1TARGET)) 245.ENDIF 246 247 248$(SHL1TARGETN) : \ 249 $(SHL1OBJS)\ 250 $(SHL1LIBS)\ 251 $(USE_1IMPLIB_DEPS)\ 252 $(USE_SHL1DEF)\ 253 $(USE_SHL1VERSIONMAP)\ 254 $(SHL1RES)\ 255 $(SHL1DEPN) \ 256 $(SHL1LINKLIST) 257 @echo "Making: " $(@:f) 258.IF "$(GUI)" == "WNT" 259.IF "$(SHL1DEFAULTRES)"!="" 260 @@-$(RM) $(MISC)/$(SHL1DEFAULTRES:b).rc 261.IF "$(SHL1ICON)" != "" 262 @echo 1 ICON $(SHL1ICON) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 263.ENDIF 264.IF "$(use_shl_versions)" != "" 265.IF "$(SHL1ADD_VERINFO)"!="" 266 @echo $(EMQ)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc 267.ELSE # "$(SHL1ADD_VERINFO)"!="" 268 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL1DEFAULTRES:b).rc 269 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL1DEFAULTRES:b).rc 270 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL1DEFAULTRES:b).rc 271.ENDIF # "$(SHL1ADD_VERINFO)"!="" 272 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 273 @echo $(EMQ)#define ORG_NAME $(SHL1TARGET)$(DLLPOST) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 274 @echo $(EMQ)#define INTERNAL_NAME $(SHL1TARGET:b) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 275 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc 276.ENDIF # "$(use_shl_versions)" != "" 277 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL1DEFAULTRES:b).rc 278.ENDIF # "$(SHL1DEFAULTRES)"!="" 279.IF "$(SHL1ALLRES)"!="" 280 $(COMMAND_ECHO)$(TYPE) $(SHL1ALLRES) > $(SHL1LINKRES) 281.IF "$(COM)"=="GCC" 282 windres $(SHL1LINKRES) $(SHL1LINKRESO) 283.ENDIF # "$(COM)"=="GCC" 284.ENDIF # "$(SHL1ALLRES)"!="" 285.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 286 @echo dlltool --dllname $(SHL1TARGET)$(DLLPOST) \ 287 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_1.cmd 288 @noop $(assign ALL1OBJLIST:=$(STDOBJ) $(SHL1OBJS) $(SHL1LINKRESO) $(shell $(TYPE) /dev/null $(SHL1LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 289.IF "$(DEFLIB1NAME)"!="" # do not have to include objs 290 @noop $(assign DEF1OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 291 @noop $(foreach,i,$(DEF1OBJLIST) $(assign ALL1OBJLIST:=$(ALL1OBJLIST:s?$i??))) 292.ENDIF # "$(DEFLIB1NAME)"!="" 293 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd 294.IF "$(SHL1DEF)"!="" 295 @echo --input-def $(SHL1DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd 296.ELSE 297 @echo $(SHL1VERSIONOBJ) $(SHL1DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd 298.ENDIF 299 @echo $(ALL1OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_1.cmd 300 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 301 $(STDOBJ) $(SHL1VERSIONOBJ) $(SHL1DESCRIPTIONOBJ) $(SHL1OBJS) $(SHL1LINKRESO) \ 302 `$(TYPE) /dev/null $(SHL1LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 303 -Wl,--exclude-libs,ALL,--start-group $(SHL1STDLIBS) -Wl,--end-group \ 304 $(SHL1STDSHL) $(STDSHL1) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 305 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_1.cmd 306 .IF "$(VERBOSE)" == "TRUE" 307 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_1.cmd 308 .ENDIF 309 @+source $(MISC)/$(TARGET).$(@:b)_1.cmd 310.ELSE 311.IF "$(linkinc)"=="" 312.IF "$(SHL1USE_EXPORTS)"!="name" 313.IF "$(USE_DEFFILE)"!="" 314 $(COMMAND_ECHO)$(SHL1LINKER) @$(mktmp \ 315 $(SHL1LINKFLAGS) \ 316 $(LINKFLAGSSHL) \ 317 $(SHL1STACK) $(SHL1BASEX) \ 318 -out:$@ \ 319 -map:$(MISC)/$(@:b).map \ 320 -def:$(SHL1DEF) \ 321 $(USE_1IMPLIB) \ 322 $(STDOBJ) \ 323 $(SHL1VERSIONOBJ) $(SHL1OBJS) \ 324 $(SHL1LIBS) \ 325 $(SHL1STDLIBS) \ 326 $(SHL1STDSHL) $(STDSHL1) \ 327 $(SHL1LINKRES) \ 328 ) 329# double check if target was really written... still making sense? 330 @@$(LS) $@ 331 @echo linking $@.manifest ... 332.IF "$(VISTA_MANIFEST)"!="" 333 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 334 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 335.ELSE 336 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 337.ENDIF # "$(VISTA_MANIFEST)"!="" 338 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 339 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 340.ELSE # "$(USE_DEFFILE)"!="" 341 $(COMMAND_ECHO)$(SHL1LINKER) @$(mktmp $(SHL1LINKFLAGS) \ 342 $(LINKFLAGSSHL) $(SHL1BASEX) \ 343 $(SHL1STACK) -out:$(SHL1TARGETN) \ 344 -map:$(MISC)/$(@:B).map \ 345 $(LB)/$(SHL1IMPLIB).exp \ 346 $(STDOBJ) \ 347 $(SHL1OBJS) $(SHL1VERSIONOBJ) \ 348 $(SHL1LIBS) \ 349 $(SHL1STDLIBS) \ 350 $(SHL1STDSHL) $(STDSHL1) \ 351 $(SHL1LINKRES) \ 352 ) 353# double check if target was really written... still making sense? 354 @@$(LS) $@ 355 @echo linking $@.manifest ... 356.IF "$(VISTA_MANIFEST)"!="" 357 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 358 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 359.ELSE 360 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 361.ENDIF # "$(VISTA_MANIFEST)"!="" 362 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 363 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 364.ENDIF # "$(USE_DEFFILE)"!="" 365.ELSE # "$(SHL1USE_EXPORTS)"!="name" 366 $(COMMAND_ECHO)$(SHL1LINKER) @$(mktmp $(SHL1LINKFLAGS) \ 367 $(LINKFLAGSSHL) $(SHL1BASEX) \ 368 $(SHL1STACK) -out:$(SHL1TARGETN) \ 369 -map:$(MISC)/$(@:B).map \ 370 $(USE_1IMPLIB) \ 371 $(STDOBJ) \ 372 $(SHL1OBJS) $(SHL1VERSIONOBJ)) \ 373 $(SHL1LINKLISTPARAM) \ 374 @$(mktmp $(SHL1STDLIBS) \ 375 $(SHL1STDSHL) $(STDSHL1) \ 376 $(SHL1LINKRES) \ 377 ) 378 @echo linking $@.manifest ... 379.IF "$(VISTA_MANIFEST)"!="" 380 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 381 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 382.ELSE 383 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 384.ENDIF # "$(VISTA_MANIFEST)"!="" 385 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 386 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 387.ENDIF # "$(SHL1USE_EXPORTS)"!="name" 388.ELSE # "$(linkinc)"=="" 389 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL1TARGET).lnk 390 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL1TARGET).lst 391 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 392 $(SHL1LINKFLAGS) \ 393 $(LINKFLAGSSHL) $(SHL1BASEX) \ 394 $(SHL1STACK) $(MAPFILE) \ 395 -out:$@ \ 396 $(LB)/$(SHL1IMPLIB).exp \ 397 $(STDOBJ) \ 398 $(SHL1OBJS) \ 399 $(SHL1STDLIBS) \ 400 $(SHL1STDSHL) $(STDSHL1) \ 401 $(SHL1LINKRES) \ 402 ) >> $(MISC)/$(SHL1TARGET).lnk 403 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL1TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL1TARGET).lnk 404 $(COMMAND_ECHO)$(SHL1LINKER) @$(MISC)/$(SHL1TARGET).lnk 405 @echo linking $@.manifest ... 406.IF "$(VISTA_MANIFEST)"!="" 407 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 408 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 409.ELSE 410 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 411.ENDIF # "$(VISTA_MANIFEST)"!="" 412 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 413 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 414.ENDIF # "$(linkinc)"=="" 415.ENDIF # "$(COM)"=="GCC" 416.ENDIF # "$(GUI)" == "WNT" 417.IF "$(GUI)"=="UNX" 418.IF "$(OS)"=="MACOSX" 419 @-$(RM) $(MISC)/$(@:b).list 420 @-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd 421 @echo $(STDSLO) $(SHL1OBJS:s/.obj/.o/) \ 422 $(SHL1VERSIONOBJ) \ 423 `cat /dev/null $(SHL1LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 424 @echo -n $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 425 $(SHL1STDLIBS) $(SHL1ARCHIVES) $(SHL1STDSHL) $(STDSHL1) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_1.cmd 426 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 427 `cat $(MISC)/$(TARGET).$(@:b)_1.cmd` \ 428 >> $(MISC)/$(TARGET).$(@:b)_1.cmd 429 .IF "$(VERBOSE)" == "TRUE" 430 @cat $(MISC)/$(TARGET).$(@:b)_1.cmd 431 .ENDIF 432 @+source $(MISC)/$(TARGET).$(@:b)_1.cmd 433 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 434 shl $(SHL1RPATH) $@ 435.IF "$(SHL1CREATEJNILIB)"!="" 436 @echo "Making: " $(@:f).jnilib 437 @macosx-create-bundle $@ 438.ENDIF # "$(SHL1CREATEJNILIB)"!="" 439.IF "$(UPDATER)"=="YES" 440.IF "$(SHL1NOCHECK)"=="" 441 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) $(SHL1TARGETN) 442.ENDIF # "$(SHL1NOCHECK)"!="" 443.ENDIF 444.ELSE # "$(OS)"=="MACOSX" 445 @-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd 446 @echo $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1SONAME) $(LINKFLAGSSHL) $(SHL1VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL1OBJS:s/.obj/.o/) \ 447 $(SHL1VERSIONOBJ) -o $@ \ 448 `cat /dev/null $(SHL1LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 449 $(SHL1STDLIBS) $(SHL1ARCHIVES) $(SHL1STDSHL) $(STDSHL1) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_1.cmd 450 .IF "$(VERBOSE)" == "TRUE" 451 @cat $(MISC)/$(TARGET).$(@:b)_1.cmd 452 .ENDIF 453 @+source $(MISC)/$(TARGET).$(@:b)_1.cmd 454.IF "$(UPDATER)"=="YES" 455.IF "$(SHL1NOCHECK)"=="" 456 $(COMMAND_ECHO)-$(RM) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 457 $(COMMAND_ECHO)$(RENAME) $(SHL1TARGETN) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 458.IF "$(VERBOSE)"=="TRUE" 459 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 460.ELSE 461 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) -- -s $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 462.ENDIF 463.ENDIF # "$(SHL1NOCHECK)"!="" 464.ENDIF # "$(UPDATER)"=="YES" 465.ENDIF # "$(OS)"=="MACOSX" 466.IF "$(UNIXVERSIONNAMES)"!="" 467 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL1TARGETN:b) 468 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL1TARGETN:f) $(SHL1TARGETN:b) 469.ENDIF # "$(UNIXVERSIONNAMES)"!="" 470.IF "$(VERBOSE)" == "TRUE" 471 @ls -l $@ 472.ENDIF 473.ENDIF # "$(GUI)" == "UNX" 474 475.IF "$(GUI)" == "OS2" 476 477.IF "$(SHL1DEFAULTRES)"!="" 478 @+-$(RM) $(MISC)/$(SHL1DEFAULTRES:b).rc > $(NULLDEV) 479.IF "$(SHL1ICON)" != "" 480 @-+echo 1 ICON $(SHL1ICON) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 481.ENDIF 482.IF "$(use_shl_versions)" != "" 483.IF "$(SHL1ADD_VERINFO)"!="" 484 @-+echo $(EMQ)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc 485.ENDIF # "$(SHL1ADD_VERINFO)"!="" 486 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL1DEFAULTRES:b).rc 487# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 488.ENDIF # "$(use_shl_versions)" != "" 489# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 490 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL1DEFAULTRES:b).rc 491.ENDIF # "$(SHL1DEFAULTRES)"!="" 492 493.IF "$(SHL1ALLRES)"!="" 494 $(COMMAND_ECHO)+$(TYPE) $(SHL1ALLRES) > $(SHL1LINKRES) 495.ENDIF # "$(SHL1ALLRES)"!="" 496 497.IF "$(USE_DEFFILE)"!="" 498 499 $(COMMAND_ECHO)$(SHL1LINKER) $(SHL1LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 500 $(SHL1DEF) \ 501 $(STDOBJ) \ 502 -L$(LB) \ 503 -L$(SOLARVERSION)/$(INPATH)/lib \ 504 $(SHL1OBJS) $(SHL1VERSIONOBJ) \ 505 $(SHL1LIBS) \ 506 $(SHL1LINKRES) \ 507 $(SHL1STDLIBS) \ 508 $(SHL1STDSHL) $(STDSHL1) 509 510.ELSE # "$(USE_DEFFILE)"!="" 511 512 $(COMMAND_ECHO)$(SHL1LINKER) $(SHL1LINKFLAGS) \ 513 $(LINKFLAGSSHL) $(SHL1BASEX) \ 514 $(SHL1STACK) -o $(SHL1TARGETN) \ 515 $(SHL1DEF) \ 516 $(STDOBJ) \ 517 -L$(LB) \ 518 -L$(SOLARVERSION)/$(INPATH)/lib \ 519 $(SHL1OBJS) $(SHL1VERSIONOBJ) \ 520 $(SHL1LIBS) \ 521 $(SHL1LINKRES) \ 522 $(SHL1STDLIBS) \ 523 $(SHL1STDSHL) $(STDSHL1) 524 525.ENDIF # "$(USE_DEFFILE)"!="" 526 527 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL1IMPLIBN) $@ 528 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL1TARGET).lib $@ 529 530.IF "$(SHL1TARGET8)" != "$(SHL1TARGET)" 531 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL1TARGET8).dll 532.ENDIF 533 534.ENDIF # "$(GUI)" == "OS2" 535 536.ENDIF # "$(SHL1TARGETN)"!="" 537 538# unroll begin 539 540.IF "$(SHL2TARGETN)"!="" 541 542.IF "$(OS)"=="AIX" 543SHL2STDLIBS= 544.ENDIF 545 546.IF "$(SHLLINKARCONLY)" != "" 547SHL2STDLIBS= 548STDSHL= 549.ELSE 550SHL2ARCHIVES= 551.ENDIF 552 553# decide how to link 554.IF "$(SHL2CODETYPE)"=="C" 555SHL2LINKER=$(LINKC) 556SHL2STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 557SHL2LINKFLAGS+=$(LINKCFLAGS) 558.ELSE # "$(SHL2CODETYPE)"=="C" 559SHL2LINKER=$(LINK) 560SHL2STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 561SHL2LINKFLAGS+=$(LINKFLAGS) 562.ENDIF # "$(SHL2CODETYPE)"=="C" 563 564SHL2RPATH*=OOO 565LINKFLAGSRUNPATH_$(SHL2RPATH)*=/ERROR:/Bad_SHL2RPATH_value 566SHL2LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL2RPATH)) 567 568.IF "$(SHL2USE_EXPORTS)"=="" 569SHL2DEF*=$(MISC)/$(SHL2TARGET).def 570.ENDIF # "$(SHL2USE_EXPORTS)"=="" 571 572EXTRALIBPATHS2=$(EXTRALIBPATHS) 573.IF "$(UPDATER)"=="YES" 574.IF "$(SHL2NOCHECK)"=="" 575.IF "$(SOLAR_STLLIBPATH)"!="" 576EXTRALIBPATHS2+=-L$(SOLAR_STLLIBPATH) 577.ENDIF 578.ENDIF # "$(SHL2NOCHECK)"!="" 579.ENDIF 580#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 581#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 582#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 583 584.IF "$(L10N_framework)"=="" 585.IF "$(VERSIONOBJ)"!="" 586SHL2VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL2TARGET))}$(VERSIONOBJ:f) 587USE_VERSIONH:=$(INCCOM)/$(SHL2VERSIONOBJ:b).h 588.IF "$(GUI)" == "UNX" 589SHL2VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL2TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 590.ELSE # "$(GUI)" == "UNX" 591SHL2VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL2TARGET))}$(VERSIONOBJ:f) 592.ENDIF # "$(GUI)" == "UNX" 593$(MISC)/$(SHL2VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL2VERSIONOBJ:b).h 594# $(COPY) $(SOLARENV)/src/version.c $@ 595 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL2VERSIONOBJ:b).h/ > $@ 596 597.INIT : $(SHL2VERSIONOBJDEP) 598.ENDIF # "$(VERSIONOBJ)"!="" 599.ENDIF 600 601.IF "$(GUI)" != "UNX" 602.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 603.IF "$(SHL2IMPLIB)" == "" 604SHL2IMPLIB=i$(TARGET)_t2 605.ENDIF # "$(SHL2IMPLIB)" == "" 606.IF "$(COM)" != "GCC" 607USE_2IMPLIB=-implib:$(LB)/$(SHL2IMPLIB).lib 608.ENDIF # "$(COM)" != "GCC" 609SHL2IMPLIBN=$(LB)/$(SHL2IMPLIB).lib 610ALLTAR : $(SHL2IMPLIBN) 611 612.IF "$(USE_DEFFILE)"=="" 613USE_2IMPLIB_DEPS=$(LB)/$(SHL2IMPLIB).lib 614.ENDIF # "$(USE_DEFFILE)"=="" 615.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 616USE_SHL2DEF=$(SHL2DEF) 617.ELSE # "$(GUI)" != "UNX" 618USE_SHL2DEF= 619SHL2DEPN+:=$(SHL2DEPNU) 620 621.IF "$(SHL2VERSIONMAP)"=="" 622# to activate vmaps remove "#" 623USE_SHL2VERSIONMAP=$(MISC)/$(SHL2TARGET).vmap 624.ENDIF # "$(SHL2VERSIONMAP)"=="" 625 626.IF "$(USE_SHL2VERSIONMAP)"!="" 627 628.IF "$(SHL2FILTERFILE)"!="" 629.IF "$(SHL2VERSIONMAP)"!="" 630#eine von beiden ist zuviel 631USE_SHL2VERSIONMAP=$(MISC)/$(SHL2TARGET).vmap 632$(USE_SHL2VERSIONMAP) .PHONY: 633 @echo ----------------------------- 634 @echo you should only use versionmap OR exportfile 635 @echo ----------------------------- 636# force_dmake_to_error 637 638.ENDIF # "$(SHL2VERSIONMAP)"!="" 639 640SHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP) 641 642$(USE_SHL2VERSIONMAP): \ 643 $(SHL2OBJS)\ 644 $(SHL2LIBS)\ 645 $(SHL2FILTERFILE) 646 @$(RM) $@.dump 647.IF "$(SHL2OBJS)"!="" 648# dump remaining objects on the fly 649.IF "$(OS)"=="MACOSX" 650 @-nm $(SHL2OBJS:s/.obj/.o/) > $@.dump 651.ELSE 652 @nm $(SHL2OBJS:s/.obj/.o/) > $@.dump 653.ENDIF 654.ENDIF # "$(SHL2OBJS)!"="" 655 @$(TYPE) /dev/null $(SHL2LIBS:s/.lib/.dump/) >> $@.dump 656 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL2INTERFACE) -f $(SHL2FILTERFILE) -m $@ 657 658.ELSE # "$(SHL2FILTERFILE)"!="" 659USE_SHL2VERSIONMAP=$(MISC)/$(SHL2TARGET).vmap 660$(USE_SHL2VERSIONMAP) : 661.IF "$(VERBOSE)" == "TRUE" 662 @echo ----------------------------- 663 @echo SHL2FILTERFILE not set! 664 @echo ----------------------------- 665 @$(TOUCH) $@ 666 @echo dummy file to keep the dependencies for later use. 667.ELSE 668 @$(TOUCH) $@ 669.ENDIF 670# force_dmake_to_error 671.ENDIF # "$(SHL2FILTERFILE)"!="" 672.ELSE # "$(USE_SHL2VERSIONMAP)"!="" 673 674#and now for the plain non-generic way... 675.IF "$(SHL2VERSIONMAP)"!="" 676USE_SHL2VERSIONMAP=$(MISC)/$(SHL2VERSIONMAP:b)_$(SHL2TARGET)$(SHL2VERSIONMAP:e) 677SHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP) 678 679.IF "$(OS)"=="MACOSX" 680$(USE_SHL2VERSIONMAP): $(SHL2OBJS) $(SHL2LIBS) 681.ENDIF 682 683# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 684# even if the $(AWK) part fails: 685$(USE_SHL2VERSIONMAP) .ERRREMOVE: $(SHL2VERSIONMAP) 686 @@-$(RM) -f $@ 687# The following files will only be generated and needed on Mac OS X as temporary files 688# in order to generate exported symbols list out of Linux/Solaris map files 689.IF "$(OS)"=="MACOSX" 690 @-$(RM) -f $@.symregexp >& $(NULLDEV) 691 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 692.ENDIF 693# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 694# happens if somebody will change it in the future 695.IF "$(COMID)"=="gcc3" 696 $(COMMAND_ECHO) tr -d "\015" < $(SHL2VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 697.ELIF "$(COMNAME)"=="sunpro5" 698 $(COMMAND_ECHO) tr -d "\015" < $(SHL2VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 699.ELSE # "$(COMID)"=="gcc3" 700 $(COMMAND_ECHO) tr -d "\015" < $(SHL2VERSIONMAP) > $@ 701.ENDIF # "$(COMID)"=="gcc3" 702 @chmod a+w $@ 703# Mac OS X post-processing generate an exported symbols list from the generated map file 704# for details on exported symbols list see man ld on Mac OS X 705.IF "$(OS)"=="MACOSX" 706 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 707 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 708# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 709# Extract RTTI symbols from all the objects that will be used to build a shared library 710.IF "$(SHL2OBJS)"!="" 711 -echo $(foreach,i,$(SHL2OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 712.ENDIF 713.IF "$(SHL2LIBS)"!="" 714 $(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 715.ENDIF 716# overwrite the map file generate into the local output tree with the generated 717# exported symbols list 718 cp $@.exported-symbols $@ 719.ENDIF # .IF "$(OS)"=="MACOSX" 720.ENDIF # "$(SHL2VERSIONMAP)"!="" 721.ENDIF # "$(USE_SHL2VERSIONMAP)"!="" 722.ENDIF # "$(GUI)" != "UNX" 723 724.IF "$(UNIXVERSIONNAMES)"!="" 725.IF "$(OS)"!="MACOSX" 726.IF "$(GUI)"=="UNX" 727SHL2SONAME=\"$(SONAME_SWITCH)$(SHL2TARGETN:f)\" 728.ENDIF # "$(GUI)"!="UNX" 729.ENDIF # "$(OS)"!="MACOSX" 730.ENDIF # "$(UNIXVERSIONNAMES)"!="" 731 732.IF "$(SHL2RES)"!="" 733SHL2ALLRES+=$(SHL2RES) 734SHL2LINKRES*=$(MISC)/$(SHL2TARGET).res 735SHL2LINKRESO*=$(MISC)/$(SHL2TARGET)_res.o 736.ENDIF # "$(SHL2RES)"!="" 737 738.IF "$(SHL2DEFAULTRES)$(use_shl_versions)"!="" 739SHL2DEFAULTRES*=$(MISC)/$(SHL2TARGET)_def.res 740SHL2ALLRES+=$(SHL2DEFAULTRES) 741SHL2LINKRES*=$(MISC)/$(SHL2TARGET).res 742SHL2LINKRESO*=$(MISC)/$(SHL2TARGET)_res.o 743.ENDIF # "$(SHL2DEFAULTRES)$(use_shl_versions)"!="" 744 745#.IF "$(SHL2TARGETN)"!="" 746 747.IF "$(linkinc)"!="" 748.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 749.IF "$(SHL2LIBS)"!="" 750$(MISC)/$(SHL2TARGET)_linkinc.ls .PHONY: 751 @@-$(RM) $@ 752 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL2LIBS) $(i:s/.lib/.lin/)) >> $@ 753.ENDIF # "$(SHL2LIBS)"!="" 754.ENDIF 755 756LINKINCTARGETS+=$(MISC)/$(SHL2TARGETN:b)_linkinc.ls 757$(SHL2TARGETN) : $(LINKINCTARGETS) 758 759.ELSE 760.IF "$(SHL2USE_EXPORTS)"=="name" 761.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 762.IF "$(COM)"!="GCC" 763.IF "$(SHL2LIBS)"!="" 764SHL2LINKLIST=$(MISC)/$(SHL2TARGET)_link.lst 765SHL2LINKLISTPARAM=@$(SHL2LINKLIST) 766$(SHL2LINKLIST) : $(SHL2LIBS) 767 @@-$(RM) $@ 768 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL2LIBS) $(i:s/.lib/.lin/)) >> $@ 769.ENDIF # "$(SHL2LIBS)"!="" 770.ENDIF # "$(COM)"!="GCC" 771.ENDIF 772.ENDIF # "$(SHL2USE_EXPORTS)"=="name" 773 774$(MISC)/%linkinc.ls: 775 @echo . > $@ 776.ENDIF # "$(linkinc)"!="" 777 778.IF "$(GUI)" == "OS2" 779#21/02/2006 YD dll names must be 8.3, invoke fix script 780#check osl/os2/module.c/osl_loadModule() 781SHL2TARGET8=$(shell @fix_shl.cmd $(SHL2TARGET)) 782.ENDIF 783 784 785$(SHL2TARGETN) : \ 786 $(SHL2OBJS)\ 787 $(SHL2LIBS)\ 788 $(USE_2IMPLIB_DEPS)\ 789 $(USE_SHL2DEF)\ 790 $(USE_SHL2VERSIONMAP)\ 791 $(SHL2RES)\ 792 $(SHL2DEPN) \ 793 $(SHL2LINKLIST) 794 @echo "Making: " $(@:f) 795.IF "$(GUI)" == "WNT" 796.IF "$(SHL2DEFAULTRES)"!="" 797 @@-$(RM) $(MISC)/$(SHL2DEFAULTRES:b).rc 798.IF "$(SHL2ICON)" != "" 799 @echo 1 ICON $(SHL2ICON) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 800.ENDIF 801.IF "$(use_shl_versions)" != "" 802.IF "$(SHL2ADD_VERINFO)"!="" 803 @echo $(EMQ)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc 804.ELSE # "$(SHL2ADD_VERINFO)"!="" 805 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL2DEFAULTRES:b).rc 806 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL2DEFAULTRES:b).rc 807 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL2DEFAULTRES:b).rc 808.ENDIF # "$(SHL2ADD_VERINFO)"!="" 809 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 810 @echo $(EMQ)#define ORG_NAME $(SHL2TARGET)$(DLLPOST) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 811 @echo $(EMQ)#define INTERNAL_NAME $(SHL2TARGET:b) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 812 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc 813.ENDIF # "$(use_shl_versions)" != "" 814 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL2DEFAULTRES:b).rc 815.ENDIF # "$(SHL2DEFAULTRES)"!="" 816.IF "$(SHL2ALLRES)"!="" 817 $(COMMAND_ECHO)$(TYPE) $(SHL2ALLRES) > $(SHL2LINKRES) 818.IF "$(COM)"=="GCC" 819 windres $(SHL2LINKRES) $(SHL2LINKRESO) 820.ENDIF # "$(COM)"=="GCC" 821.ENDIF # "$(SHL2ALLRES)"!="" 822.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 823 @echo dlltool --dllname $(SHL2TARGET)$(DLLPOST) \ 824 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_2.cmd 825 @noop $(assign ALL2OBJLIST:=$(STDOBJ) $(SHL2OBJS) $(SHL2LINKRESO) $(shell $(TYPE) /dev/null $(SHL2LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 826.IF "$(DEFLIB2NAME)"!="" # do not have to include objs 827 @noop $(assign DEF2OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 828 @noop $(foreach,i,$(DEF2OBJLIST) $(assign ALL2OBJLIST:=$(ALL2OBJLIST:s?$i??))) 829.ENDIF # "$(DEFLIB2NAME)"!="" 830 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd 831.IF "$(SHL2DEF)"!="" 832 @echo --input-def $(SHL2DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd 833.ELSE 834 @echo $(SHL2VERSIONOBJ) $(SHL2DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd 835.ENDIF 836 @echo $(ALL2OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_2.cmd 837 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 838 $(STDOBJ) $(SHL2VERSIONOBJ) $(SHL2DESCRIPTIONOBJ) $(SHL2OBJS) $(SHL2LINKRESO) \ 839 `$(TYPE) /dev/null $(SHL2LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 840 -Wl,--exclude-libs,ALL,--start-group $(SHL2STDLIBS) -Wl,--end-group \ 841 $(SHL2STDSHL) $(STDSHL2) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 842 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_2.cmd 843 .IF "$(VERBOSE)" == "TRUE" 844 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_2.cmd 845 .ENDIF 846 @+source $(MISC)/$(TARGET).$(@:b)_2.cmd 847.ELSE 848.IF "$(linkinc)"=="" 849.IF "$(SHL2USE_EXPORTS)"!="name" 850.IF "$(USE_DEFFILE)"!="" 851 $(COMMAND_ECHO)$(SHL2LINKER) @$(mktmp \ 852 $(SHL2LINKFLAGS) \ 853 $(LINKFLAGSSHL) \ 854 $(SHL2STACK) $(SHL2BASEX) \ 855 -out:$@ \ 856 -map:$(MISC)/$(@:b).map \ 857 -def:$(SHL2DEF) \ 858 $(USE_2IMPLIB) \ 859 $(STDOBJ) \ 860 $(SHL2VERSIONOBJ) $(SHL2OBJS) \ 861 $(SHL2LIBS) \ 862 $(SHL2STDLIBS) \ 863 $(SHL2STDSHL) $(STDSHL2) \ 864 $(SHL2LINKRES) \ 865 ) 866# double check if target was really written... still making sense? 867 @@$(LS) $@ 868 @echo linking $@.manifest ... 869.IF "$(VISTA_MANIFEST)"!="" 870 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 871 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 872.ELSE 873 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 874.ENDIF # "$(VISTA_MANIFEST)"!="" 875 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 876 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 877.ELSE # "$(USE_DEFFILE)"!="" 878 $(COMMAND_ECHO)$(SHL2LINKER) @$(mktmp $(SHL2LINKFLAGS) \ 879 $(LINKFLAGSSHL) $(SHL2BASEX) \ 880 $(SHL2STACK) -out:$(SHL2TARGETN) \ 881 -map:$(MISC)/$(@:B).map \ 882 $(LB)/$(SHL2IMPLIB).exp \ 883 $(STDOBJ) \ 884 $(SHL2OBJS) $(SHL2VERSIONOBJ) \ 885 $(SHL2LIBS) \ 886 $(SHL2STDLIBS) \ 887 $(SHL2STDSHL) $(STDSHL2) \ 888 $(SHL2LINKRES) \ 889 ) 890# double check if target was really written... still making sense? 891 @@$(LS) $@ 892 @echo linking $@.manifest ... 893.IF "$(VISTA_MANIFEST)"!="" 894 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 895 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 896.ELSE 897 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 898.ENDIF # "$(VISTA_MANIFEST)"!="" 899 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 900 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 901.ENDIF # "$(USE_DEFFILE)"!="" 902.ELSE # "$(SHL2USE_EXPORTS)"!="name" 903 $(COMMAND_ECHO)$(SHL2LINKER) @$(mktmp $(SHL2LINKFLAGS) \ 904 $(LINKFLAGSSHL) $(SHL2BASEX) \ 905 $(SHL2STACK) -out:$(SHL2TARGETN) \ 906 -map:$(MISC)/$(@:B).map \ 907 $(USE_2IMPLIB) \ 908 $(STDOBJ) \ 909 $(SHL2OBJS) $(SHL2VERSIONOBJ)) \ 910 $(SHL2LINKLISTPARAM) \ 911 @$(mktmp $(SHL2STDLIBS) \ 912 $(SHL2STDSHL) $(STDSHL2) \ 913 $(SHL2LINKRES) \ 914 ) 915 @echo linking $@.manifest ... 916.IF "$(VISTA_MANIFEST)"!="" 917 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 918 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 919.ELSE 920 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 921.ENDIF # "$(VISTA_MANIFEST)"!="" 922 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 923 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 924.ENDIF # "$(SHL2USE_EXPORTS)"!="name" 925.ELSE # "$(linkinc)"=="" 926 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL2TARGET).lnk 927 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL2TARGET).lst 928 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 929 $(SHL2LINKFLAGS) \ 930 $(LINKFLAGSSHL) $(SHL2BASEX) \ 931 $(SHL2STACK) $(MAPFILE) \ 932 -out:$@ \ 933 $(LB)/$(SHL2IMPLIB).exp \ 934 $(STDOBJ) \ 935 $(SHL2OBJS) \ 936 $(SHL2STDLIBS) \ 937 $(SHL2STDSHL) $(STDSHL2) \ 938 $(SHL2LINKRES) \ 939 ) >> $(MISC)/$(SHL2TARGET).lnk 940 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL2TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL2TARGET).lnk 941 $(COMMAND_ECHO)$(SHL2LINKER) @$(MISC)/$(SHL2TARGET).lnk 942 @echo linking $@.manifest ... 943.IF "$(VISTA_MANIFEST)"!="" 944 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 945 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 946.ELSE 947 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 948.ENDIF # "$(VISTA_MANIFEST)"!="" 949 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 950 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 951.ENDIF # "$(linkinc)"=="" 952.ENDIF # "$(COM)"=="GCC" 953.ENDIF # "$(GUI)" == "WNT" 954.IF "$(GUI)"=="UNX" 955.IF "$(OS)"=="MACOSX" 956 @-$(RM) $(MISC)/$(@:b).list 957 @-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd 958 @echo $(STDSLO) $(SHL2OBJS:s/.obj/.o/) \ 959 $(SHL2VERSIONOBJ) \ 960 `cat /dev/null $(SHL2LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 961 @echo -n $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 962 $(SHL2STDLIBS) $(SHL2ARCHIVES) $(SHL2STDSHL) $(STDSHL2) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_2.cmd 963 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 964 `cat $(MISC)/$(TARGET).$(@:b)_2.cmd` \ 965 >> $(MISC)/$(TARGET).$(@:b)_2.cmd 966 .IF "$(VERBOSE)" == "TRUE" 967 @cat $(MISC)/$(TARGET).$(@:b)_2.cmd 968 .ENDIF 969 @+source $(MISC)/$(TARGET).$(@:b)_2.cmd 970 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 971 shl $(SHL2RPATH) $@ 972.IF "$(SHL2CREATEJNILIB)"!="" 973 @echo "Making: " $(@:f).jnilib 974 @macosx-create-bundle $@ 975.ENDIF # "$(SHL2CREATEJNILIB)"!="" 976.IF "$(UPDATER)"=="YES" 977.IF "$(SHL2NOCHECK)"=="" 978 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) $(SHL2TARGETN) 979.ENDIF # "$(SHL2NOCHECK)"!="" 980.ENDIF 981.ELSE # "$(OS)"=="MACOSX" 982 @-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd 983 @echo $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2SONAME) $(LINKFLAGSSHL) $(SHL2VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL2OBJS:s/.obj/.o/) \ 984 $(SHL2VERSIONOBJ) -o $@ \ 985 `cat /dev/null $(SHL2LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 986 $(SHL2STDLIBS) $(SHL2ARCHIVES) $(SHL2STDSHL) $(STDSHL2) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_2.cmd 987 .IF "$(VERBOSE)" == "TRUE" 988 @cat $(MISC)/$(TARGET).$(@:b)_2.cmd 989 .ENDIF 990 @+source $(MISC)/$(TARGET).$(@:b)_2.cmd 991.IF "$(UPDATER)"=="YES" 992.IF "$(SHL2NOCHECK)"=="" 993 $(COMMAND_ECHO)-$(RM) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 994 $(COMMAND_ECHO)$(RENAME) $(SHL2TARGETN) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 995.IF "$(VERBOSE)"=="TRUE" 996 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 997.ELSE 998 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) -- -s $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 999.ENDIF 1000.ENDIF # "$(SHL2NOCHECK)"!="" 1001.ENDIF # "$(UPDATER)"=="YES" 1002.ENDIF # "$(OS)"=="MACOSX" 1003.IF "$(UNIXVERSIONNAMES)"!="" 1004 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL2TARGETN:b) 1005 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL2TARGETN:f) $(SHL2TARGETN:b) 1006.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1007.IF "$(VERBOSE)" == "TRUE" 1008 @ls -l $@ 1009.ENDIF 1010.ENDIF # "$(GUI)" == "UNX" 1011 1012.IF "$(GUI)" == "OS2" 1013 1014.IF "$(SHL2DEFAULTRES)"!="" 1015 @+-$(RM) $(MISC)/$(SHL2DEFAULTRES:b).rc > $(NULLDEV) 1016.IF "$(SHL2ICON)" != "" 1017 @-+echo 1 ICON $(SHL2ICON) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1018.ENDIF 1019.IF "$(use_shl_versions)" != "" 1020.IF "$(SHL2ADD_VERINFO)"!="" 1021 @-+echo $(EMQ)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1022.ENDIF # "$(SHL2ADD_VERINFO)"!="" 1023 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1024# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1025.ENDIF # "$(use_shl_versions)" != "" 1026# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 1027 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL2DEFAULTRES:b).rc 1028.ENDIF # "$(SHL2DEFAULTRES)"!="" 1029 1030.IF "$(SHL2ALLRES)"!="" 1031 $(COMMAND_ECHO)+$(TYPE) $(SHL2ALLRES) > $(SHL2LINKRES) 1032.ENDIF # "$(SHL2ALLRES)"!="" 1033 1034.IF "$(USE_DEFFILE)"!="" 1035 1036 $(COMMAND_ECHO)$(SHL2LINKER) $(SHL2LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 1037 $(SHL2DEF) \ 1038 $(STDOBJ) \ 1039 -L$(LB) \ 1040 -L$(SOLARVERSION)/$(INPATH)/lib \ 1041 $(SHL2OBJS) $(SHL2VERSIONOBJ) \ 1042 $(SHL2LIBS) \ 1043 $(SHL2LINKRES) \ 1044 $(SHL2STDLIBS) \ 1045 $(SHL2STDSHL) $(STDSHL2) 1046 1047.ELSE # "$(USE_DEFFILE)"!="" 1048 1049 $(COMMAND_ECHO)$(SHL2LINKER) $(SHL2LINKFLAGS) \ 1050 $(LINKFLAGSSHL) $(SHL2BASEX) \ 1051 $(SHL2STACK) -o $(SHL2TARGETN) \ 1052 $(SHL2DEF) \ 1053 $(STDOBJ) \ 1054 -L$(LB) \ 1055 -L$(SOLARVERSION)/$(INPATH)/lib \ 1056 $(SHL2OBJS) $(SHL2VERSIONOBJ) \ 1057 $(SHL2LIBS) \ 1058 $(SHL2LINKRES) \ 1059 $(SHL2STDLIBS) \ 1060 $(SHL2STDSHL) $(STDSHL2) 1061 1062.ENDIF # "$(USE_DEFFILE)"!="" 1063 1064 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL2IMPLIBN) $@ 1065 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL2TARGET).lib $@ 1066 1067.IF "$(SHL2TARGET8)" != "$(SHL2TARGET)" 1068 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL2TARGET8).dll 1069.ENDIF 1070 1071.ENDIF # "$(GUI)" == "OS2" 1072 1073.ENDIF # "$(SHL2TARGETN)"!="" 1074 1075# unroll begin 1076 1077.IF "$(SHL3TARGETN)"!="" 1078 1079.IF "$(OS)"=="AIX" 1080SHL3STDLIBS= 1081.ENDIF 1082 1083.IF "$(SHLLINKARCONLY)" != "" 1084SHL3STDLIBS= 1085STDSHL= 1086.ELSE 1087SHL3ARCHIVES= 1088.ENDIF 1089 1090# decide how to link 1091.IF "$(SHL3CODETYPE)"=="C" 1092SHL3LINKER=$(LINKC) 1093SHL3STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 1094SHL3LINKFLAGS+=$(LINKCFLAGS) 1095.ELSE # "$(SHL3CODETYPE)"=="C" 1096SHL3LINKER=$(LINK) 1097SHL3STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 1098SHL3LINKFLAGS+=$(LINKFLAGS) 1099.ENDIF # "$(SHL3CODETYPE)"=="C" 1100 1101SHL3RPATH*=OOO 1102LINKFLAGSRUNPATH_$(SHL3RPATH)*=/ERROR:/Bad_SHL3RPATH_value 1103SHL3LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL3RPATH)) 1104 1105.IF "$(SHL3USE_EXPORTS)"=="" 1106SHL3DEF*=$(MISC)/$(SHL3TARGET).def 1107.ENDIF # "$(SHL3USE_EXPORTS)"=="" 1108 1109EXTRALIBPATHS3=$(EXTRALIBPATHS) 1110.IF "$(UPDATER)"=="YES" 1111.IF "$(SHL3NOCHECK)"=="" 1112.IF "$(SOLAR_STLLIBPATH)"!="" 1113EXTRALIBPATHS3+=-L$(SOLAR_STLLIBPATH) 1114.ENDIF 1115.ENDIF # "$(SHL3NOCHECK)"!="" 1116.ENDIF 1117#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1118#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 1119#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1120 1121.IF "$(L10N_framework)"=="" 1122.IF "$(VERSIONOBJ)"!="" 1123SHL3VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL3TARGET))}$(VERSIONOBJ:f) 1124USE_VERSIONH:=$(INCCOM)/$(SHL3VERSIONOBJ:b).h 1125.IF "$(GUI)" == "UNX" 1126SHL3VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL3TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 1127.ELSE # "$(GUI)" == "UNX" 1128SHL3VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL3TARGET))}$(VERSIONOBJ:f) 1129.ENDIF # "$(GUI)" == "UNX" 1130$(MISC)/$(SHL3VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL3VERSIONOBJ:b).h 1131# $(COPY) $(SOLARENV)/src/version.c $@ 1132 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL3VERSIONOBJ:b).h/ > $@ 1133 1134.INIT : $(SHL3VERSIONOBJDEP) 1135.ENDIF # "$(VERSIONOBJ)"!="" 1136.ENDIF 1137 1138.IF "$(GUI)" != "UNX" 1139.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1140.IF "$(SHL3IMPLIB)" == "" 1141SHL3IMPLIB=i$(TARGET)_t3 1142.ENDIF # "$(SHL3IMPLIB)" == "" 1143.IF "$(COM)" != "GCC" 1144USE_3IMPLIB=-implib:$(LB)/$(SHL3IMPLIB).lib 1145.ENDIF # "$(COM)" != "GCC" 1146SHL3IMPLIBN=$(LB)/$(SHL3IMPLIB).lib 1147ALLTAR : $(SHL3IMPLIBN) 1148 1149.IF "$(USE_DEFFILE)"=="" 1150USE_3IMPLIB_DEPS=$(LB)/$(SHL3IMPLIB).lib 1151.ENDIF # "$(USE_DEFFILE)"=="" 1152.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1153USE_SHL3DEF=$(SHL3DEF) 1154.ELSE # "$(GUI)" != "UNX" 1155USE_SHL3DEF= 1156SHL3DEPN+:=$(SHL3DEPNU) 1157 1158.IF "$(SHL3VERSIONMAP)"=="" 1159# to activate vmaps remove "#" 1160USE_SHL3VERSIONMAP=$(MISC)/$(SHL3TARGET).vmap 1161.ENDIF # "$(SHL3VERSIONMAP)"=="" 1162 1163.IF "$(USE_SHL3VERSIONMAP)"!="" 1164 1165.IF "$(SHL3FILTERFILE)"!="" 1166.IF "$(SHL3VERSIONMAP)"!="" 1167#eine von beiden ist zuviel 1168USE_SHL3VERSIONMAP=$(MISC)/$(SHL3TARGET).vmap 1169$(USE_SHL3VERSIONMAP) .PHONY: 1170 @echo ----------------------------- 1171 @echo you should only use versionmap OR exportfile 1172 @echo ----------------------------- 1173# force_dmake_to_error 1174 1175.ENDIF # "$(SHL3VERSIONMAP)"!="" 1176 1177SHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP) 1178 1179$(USE_SHL3VERSIONMAP): \ 1180 $(SHL3OBJS)\ 1181 $(SHL3LIBS)\ 1182 $(SHL3FILTERFILE) 1183 @$(RM) $@.dump 1184.IF "$(SHL3OBJS)"!="" 1185# dump remaining objects on the fly 1186.IF "$(OS)"=="MACOSX" 1187 @-nm $(SHL3OBJS:s/.obj/.o/) > $@.dump 1188.ELSE 1189 @nm $(SHL3OBJS:s/.obj/.o/) > $@.dump 1190.ENDIF 1191.ENDIF # "$(SHL3OBJS)!"="" 1192 @$(TYPE) /dev/null $(SHL3LIBS:s/.lib/.dump/) >> $@.dump 1193 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL3INTERFACE) -f $(SHL3FILTERFILE) -m $@ 1194 1195.ELSE # "$(SHL3FILTERFILE)"!="" 1196USE_SHL3VERSIONMAP=$(MISC)/$(SHL3TARGET).vmap 1197$(USE_SHL3VERSIONMAP) : 1198.IF "$(VERBOSE)" == "TRUE" 1199 @echo ----------------------------- 1200 @echo SHL3FILTERFILE not set! 1201 @echo ----------------------------- 1202 @$(TOUCH) $@ 1203 @echo dummy file to keep the dependencies for later use. 1204.ELSE 1205 @$(TOUCH) $@ 1206.ENDIF 1207# force_dmake_to_error 1208.ENDIF # "$(SHL3FILTERFILE)"!="" 1209.ELSE # "$(USE_SHL3VERSIONMAP)"!="" 1210 1211#and now for the plain non-generic way... 1212.IF "$(SHL3VERSIONMAP)"!="" 1213USE_SHL3VERSIONMAP=$(MISC)/$(SHL3VERSIONMAP:b)_$(SHL3TARGET)$(SHL3VERSIONMAP:e) 1214SHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP) 1215 1216.IF "$(OS)"=="MACOSX" 1217$(USE_SHL3VERSIONMAP): $(SHL3OBJS) $(SHL3LIBS) 1218.ENDIF 1219 1220# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 1221# even if the $(AWK) part fails: 1222$(USE_SHL3VERSIONMAP) .ERRREMOVE: $(SHL3VERSIONMAP) 1223 @@-$(RM) -f $@ 1224# The following files will only be generated and needed on Mac OS X as temporary files 1225# in order to generate exported symbols list out of Linux/Solaris map files 1226.IF "$(OS)"=="MACOSX" 1227 @-$(RM) -f $@.symregexp >& $(NULLDEV) 1228 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 1229.ENDIF 1230# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 1231# happens if somebody will change it in the future 1232.IF "$(COMID)"=="gcc3" 1233 $(COMMAND_ECHO) tr -d "\015" < $(SHL3VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 1234.ELIF "$(COMNAME)"=="sunpro5" 1235 $(COMMAND_ECHO) tr -d "\015" < $(SHL3VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 1236.ELSE # "$(COMID)"=="gcc3" 1237 $(COMMAND_ECHO) tr -d "\015" < $(SHL3VERSIONMAP) > $@ 1238.ENDIF # "$(COMID)"=="gcc3" 1239 @chmod a+w $@ 1240# Mac OS X post-processing generate an exported symbols list from the generated map file 1241# for details on exported symbols list see man ld on Mac OS X 1242.IF "$(OS)"=="MACOSX" 1243 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 1244 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 1245# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 1246# Extract RTTI symbols from all the objects that will be used to build a shared library 1247.IF "$(SHL3OBJS)"!="" 1248 -echo $(foreach,i,$(SHL3OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 1249.ENDIF 1250.IF "$(SHL3LIBS)"!="" 1251 $(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 1252.ENDIF 1253# overwrite the map file generate into the local output tree with the generated 1254# exported symbols list 1255 cp $@.exported-symbols $@ 1256.ENDIF # .IF "$(OS)"=="MACOSX" 1257.ENDIF # "$(SHL3VERSIONMAP)"!="" 1258.ENDIF # "$(USE_SHL3VERSIONMAP)"!="" 1259.ENDIF # "$(GUI)" != "UNX" 1260 1261.IF "$(UNIXVERSIONNAMES)"!="" 1262.IF "$(OS)"!="MACOSX" 1263.IF "$(GUI)"=="UNX" 1264SHL3SONAME=\"$(SONAME_SWITCH)$(SHL3TARGETN:f)\" 1265.ENDIF # "$(GUI)"!="UNX" 1266.ENDIF # "$(OS)"!="MACOSX" 1267.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1268 1269.IF "$(SHL3RES)"!="" 1270SHL3ALLRES+=$(SHL3RES) 1271SHL3LINKRES*=$(MISC)/$(SHL3TARGET).res 1272SHL3LINKRESO*=$(MISC)/$(SHL3TARGET)_res.o 1273.ENDIF # "$(SHL3RES)"!="" 1274 1275.IF "$(SHL3DEFAULTRES)$(use_shl_versions)"!="" 1276SHL3DEFAULTRES*=$(MISC)/$(SHL3TARGET)_def.res 1277SHL3ALLRES+=$(SHL3DEFAULTRES) 1278SHL3LINKRES*=$(MISC)/$(SHL3TARGET).res 1279SHL3LINKRESO*=$(MISC)/$(SHL3TARGET)_res.o 1280.ENDIF # "$(SHL3DEFAULTRES)$(use_shl_versions)"!="" 1281 1282#.IF "$(SHL3TARGETN)"!="" 1283 1284.IF "$(linkinc)"!="" 1285.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1286.IF "$(SHL3LIBS)"!="" 1287$(MISC)/$(SHL3TARGET)_linkinc.ls .PHONY: 1288 @@-$(RM) $@ 1289 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL3LIBS) $(i:s/.lib/.lin/)) >> $@ 1290.ENDIF # "$(SHL3LIBS)"!="" 1291.ENDIF 1292 1293LINKINCTARGETS+=$(MISC)/$(SHL3TARGETN:b)_linkinc.ls 1294$(SHL3TARGETN) : $(LINKINCTARGETS) 1295 1296.ELSE 1297.IF "$(SHL3USE_EXPORTS)"=="name" 1298.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1299.IF "$(COM)"!="GCC" 1300.IF "$(SHL3LIBS)"!="" 1301SHL3LINKLIST=$(MISC)/$(SHL3TARGET)_link.lst 1302SHL3LINKLISTPARAM=@$(SHL3LINKLIST) 1303$(SHL3LINKLIST) : $(SHL3LIBS) 1304 @@-$(RM) $@ 1305 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL3LIBS) $(i:s/.lib/.lin/)) >> $@ 1306.ENDIF # "$(SHL3LIBS)"!="" 1307.ENDIF # "$(COM)"!="GCC" 1308.ENDIF 1309.ENDIF # "$(SHL3USE_EXPORTS)"=="name" 1310 1311$(MISC)/%linkinc.ls: 1312 @echo . > $@ 1313.ENDIF # "$(linkinc)"!="" 1314 1315.IF "$(GUI)" == "OS2" 1316#21/02/2006 YD dll names must be 8.3, invoke fix script 1317#check osl/os2/module.c/osl_loadModule() 1318SHL3TARGET8=$(shell @fix_shl.cmd $(SHL3TARGET)) 1319.ENDIF 1320 1321 1322$(SHL3TARGETN) : \ 1323 $(SHL3OBJS)\ 1324 $(SHL3LIBS)\ 1325 $(USE_3IMPLIB_DEPS)\ 1326 $(USE_SHL3DEF)\ 1327 $(USE_SHL3VERSIONMAP)\ 1328 $(SHL3RES)\ 1329 $(SHL3DEPN) \ 1330 $(SHL3LINKLIST) 1331 @echo "Making: " $(@:f) 1332.IF "$(GUI)" == "WNT" 1333.IF "$(SHL3DEFAULTRES)"!="" 1334 @@-$(RM) $(MISC)/$(SHL3DEFAULTRES:b).rc 1335.IF "$(SHL3ICON)" != "" 1336 @echo 1 ICON $(SHL3ICON) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1337.ENDIF 1338.IF "$(use_shl_versions)" != "" 1339.IF "$(SHL3ADD_VERINFO)"!="" 1340 @echo $(EMQ)#include $(EMQ)"$(SHL3ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1341.ELSE # "$(SHL3ADD_VERINFO)"!="" 1342 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1343 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1344 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1345.ENDIF # "$(SHL3ADD_VERINFO)"!="" 1346 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1347 @echo $(EMQ)#define ORG_NAME $(SHL3TARGET)$(DLLPOST) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1348 @echo $(EMQ)#define INTERNAL_NAME $(SHL3TARGET:b) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1349 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1350.ENDIF # "$(use_shl_versions)" != "" 1351 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL3DEFAULTRES:b).rc 1352.ENDIF # "$(SHL3DEFAULTRES)"!="" 1353.IF "$(SHL3ALLRES)"!="" 1354 $(COMMAND_ECHO)$(TYPE) $(SHL3ALLRES) > $(SHL3LINKRES) 1355.IF "$(COM)"=="GCC" 1356 windres $(SHL3LINKRES) $(SHL3LINKRESO) 1357.ENDIF # "$(COM)"=="GCC" 1358.ENDIF # "$(SHL3ALLRES)"!="" 1359.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 1360 @echo dlltool --dllname $(SHL3TARGET)$(DLLPOST) \ 1361 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_3.cmd 1362 @noop $(assign ALL3OBJLIST:=$(STDOBJ) $(SHL3OBJS) $(SHL3LINKRESO) $(shell $(TYPE) /dev/null $(SHL3LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1363.IF "$(DEFLIB3NAME)"!="" # do not have to include objs 1364 @noop $(assign DEF3OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1365 @noop $(foreach,i,$(DEF3OBJLIST) $(assign ALL3OBJLIST:=$(ALL3OBJLIST:s?$i??))) 1366.ENDIF # "$(DEFLIB3NAME)"!="" 1367 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1368.IF "$(SHL3DEF)"!="" 1369 @echo --input-def $(SHL3DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1370.ELSE 1371 @echo $(SHL3VERSIONOBJ) $(SHL3DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1372.ENDIF 1373 @echo $(ALL3OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1374 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 1375 $(STDOBJ) $(SHL3VERSIONOBJ) $(SHL3DESCRIPTIONOBJ) $(SHL3OBJS) $(SHL3LINKRESO) \ 1376 `$(TYPE) /dev/null $(SHL3LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 1377 -Wl,--exclude-libs,ALL,--start-group $(SHL3STDLIBS) -Wl,--end-group \ 1378 $(SHL3STDSHL) $(STDSHL3) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 1379 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1380 .IF "$(VERBOSE)" == "TRUE" 1381 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_3.cmd 1382 .ENDIF 1383 @+source $(MISC)/$(TARGET).$(@:b)_3.cmd 1384.ELSE 1385.IF "$(linkinc)"=="" 1386.IF "$(SHL3USE_EXPORTS)"!="name" 1387.IF "$(USE_DEFFILE)"!="" 1388 $(COMMAND_ECHO)$(SHL3LINKER) @$(mktmp \ 1389 $(SHL3LINKFLAGS) \ 1390 $(LINKFLAGSSHL) \ 1391 $(SHL3STACK) $(SHL3BASEX) \ 1392 -out:$@ \ 1393 -map:$(MISC)/$(@:b).map \ 1394 -def:$(SHL3DEF) \ 1395 $(USE_3IMPLIB) \ 1396 $(STDOBJ) \ 1397 $(SHL3VERSIONOBJ) $(SHL3OBJS) \ 1398 $(SHL3LIBS) \ 1399 $(SHL3STDLIBS) \ 1400 $(SHL3STDSHL) $(STDSHL3) \ 1401 $(SHL3LINKRES) \ 1402 ) 1403# double check if target was really written... still making sense? 1404 @@$(LS) $@ 1405 @echo linking $@.manifest ... 1406.IF "$(VISTA_MANIFEST)"!="" 1407 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1408 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1409.ELSE 1410 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1411.ENDIF # "$(VISTA_MANIFEST)"!="" 1412 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1413 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1414.ELSE # "$(USE_DEFFILE)"!="" 1415 $(COMMAND_ECHO)$(SHL3LINKER) @$(mktmp $(SHL3LINKFLAGS) \ 1416 $(LINKFLAGSSHL) $(SHL3BASEX) \ 1417 $(SHL3STACK) -out:$(SHL3TARGETN) \ 1418 -map:$(MISC)/$(@:B).map \ 1419 $(LB)/$(SHL3IMPLIB).exp \ 1420 $(STDOBJ) \ 1421 $(SHL3OBJS) $(SHL3VERSIONOBJ) \ 1422 $(SHL3LIBS) \ 1423 $(SHL3STDLIBS) \ 1424 $(SHL3STDSHL) $(STDSHL3) \ 1425 $(SHL3LINKRES) \ 1426 ) 1427# double check if target was really written... still making sense? 1428 @@$(LS) $@ 1429 @echo linking $@.manifest ... 1430.IF "$(VISTA_MANIFEST)"!="" 1431 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1432 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1433.ELSE 1434 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1435.ENDIF # "$(VISTA_MANIFEST)"!="" 1436 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1437 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1438.ENDIF # "$(USE_DEFFILE)"!="" 1439.ELSE # "$(SHL3USE_EXPORTS)"!="name" 1440 $(COMMAND_ECHO)$(SHL3LINKER) @$(mktmp $(SHL3LINKFLAGS) \ 1441 $(LINKFLAGSSHL) $(SHL3BASEX) \ 1442 $(SHL3STACK) -out:$(SHL3TARGETN) \ 1443 -map:$(MISC)/$(@:B).map \ 1444 $(USE_3IMPLIB) \ 1445 $(STDOBJ) \ 1446 $(SHL3OBJS) $(SHL3VERSIONOBJ)) \ 1447 $(SHL3LINKLISTPARAM) \ 1448 @$(mktmp $(SHL3STDLIBS) \ 1449 $(SHL3STDSHL) $(STDSHL3) \ 1450 $(SHL3LINKRES) \ 1451 ) 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) 1456.ELSE 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.ENDIF # "$(SHL3USE_EXPORTS)"!="name" 1462.ELSE # "$(linkinc)"=="" 1463 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL3TARGET).lnk 1464 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL3TARGET).lst 1465 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 1466 $(SHL3LINKFLAGS) \ 1467 $(LINKFLAGSSHL) $(SHL3BASEX) \ 1468 $(SHL3STACK) $(MAPFILE) \ 1469 -out:$@ \ 1470 $(LB)/$(SHL3IMPLIB).exp \ 1471 $(STDOBJ) \ 1472 $(SHL3OBJS) \ 1473 $(SHL3STDLIBS) \ 1474 $(SHL3STDSHL) $(STDSHL3) \ 1475 $(SHL3LINKRES) \ 1476 ) >> $(MISC)/$(SHL3TARGET).lnk 1477 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL3TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL3TARGET).lnk 1478 $(COMMAND_ECHO)$(SHL3LINKER) @$(MISC)/$(SHL3TARGET).lnk 1479 @echo linking $@.manifest ... 1480.IF "$(VISTA_MANIFEST)"!="" 1481 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1482 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1483.ELSE 1484 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1485.ENDIF # "$(VISTA_MANIFEST)"!="" 1486 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1487 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1488.ENDIF # "$(linkinc)"=="" 1489.ENDIF # "$(COM)"=="GCC" 1490.ENDIF # "$(GUI)" == "WNT" 1491.IF "$(GUI)"=="UNX" 1492.IF "$(OS)"=="MACOSX" 1493 @-$(RM) $(MISC)/$(@:b).list 1494 @-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd 1495 @echo $(STDSLO) $(SHL3OBJS:s/.obj/.o/) \ 1496 $(SHL3VERSIONOBJ) \ 1497 `cat /dev/null $(SHL3LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 1498 @echo -n $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 1499 $(SHL3STDLIBS) $(SHL3ARCHIVES) $(SHL3STDSHL) $(STDSHL3) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_3.cmd 1500 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 1501 `cat $(MISC)/$(TARGET).$(@:b)_3.cmd` \ 1502 >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1503 .IF "$(VERBOSE)" == "TRUE" 1504 @cat $(MISC)/$(TARGET).$(@:b)_3.cmd 1505 .ENDIF 1506 @+source $(MISC)/$(TARGET).$(@:b)_3.cmd 1507 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 1508 shl $(SHL3RPATH) $@ 1509.IF "$(SHL3CREATEJNILIB)"!="" 1510 @echo "Making: " $(@:f).jnilib 1511 @macosx-create-bundle $@ 1512.ENDIF # "$(SHL3CREATEJNILIB)"!="" 1513.IF "$(UPDATER)"=="YES" 1514.IF "$(SHL3NOCHECK)"=="" 1515 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) $(SHL3TARGETN) 1516.ENDIF # "$(SHL3NOCHECK)"!="" 1517.ENDIF 1518.ELSE # "$(OS)"=="MACOSX" 1519 @-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd 1520 @echo $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3SONAME) $(LINKFLAGSSHL) $(SHL3VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL3OBJS:s/.obj/.o/) \ 1521 $(SHL3VERSIONOBJ) -o $@ \ 1522 `cat /dev/null $(SHL3LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 1523 $(SHL3STDLIBS) $(SHL3ARCHIVES) $(SHL3STDSHL) $(STDSHL3) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_3.cmd 1524 .IF "$(VERBOSE)" == "TRUE" 1525 @cat $(MISC)/$(TARGET).$(@:b)_3.cmd 1526 .ENDIF 1527 @+source $(MISC)/$(TARGET).$(@:b)_3.cmd 1528.IF "$(UPDATER)"=="YES" 1529.IF "$(SHL3NOCHECK)"=="" 1530 $(COMMAND_ECHO)-$(RM) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1531 $(COMMAND_ECHO)$(RENAME) $(SHL3TARGETN) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1532.IF "$(VERBOSE)"=="TRUE" 1533 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1534.ELSE 1535 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) -- -s $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1536.ENDIF 1537.ENDIF # "$(SHL3NOCHECK)"!="" 1538.ENDIF # "$(UPDATER)"=="YES" 1539.ENDIF # "$(OS)"=="MACOSX" 1540.IF "$(UNIXVERSIONNAMES)"!="" 1541 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL3TARGETN:b) 1542 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL3TARGETN:f) $(SHL3TARGETN:b) 1543.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1544.IF "$(VERBOSE)" == "TRUE" 1545 @ls -l $@ 1546.ENDIF 1547.ENDIF # "$(GUI)" == "UNX" 1548 1549.IF "$(GUI)" == "OS2" 1550 1551.IF "$(SHL3DEFAULTRES)"!="" 1552 @+-$(RM) $(MISC)/$(SHL3DEFAULTRES:b).rc > $(NULLDEV) 1553.IF "$(SHL3ICON)" != "" 1554 @-+echo 1 ICON $(SHL3ICON) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1555.ENDIF 1556.IF "$(use_shl_versions)" != "" 1557.IF "$(SHL3ADD_VERINFO)"!="" 1558 @-+echo $(EMQ)#include $(EMQ)"$(SHL3ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1559.ENDIF # "$(SHL3ADD_VERINFO)"!="" 1560 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1561# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1562.ENDIF # "$(use_shl_versions)" != "" 1563# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 1564 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL3DEFAULTRES:b).rc 1565.ENDIF # "$(SHL3DEFAULTRES)"!="" 1566 1567.IF "$(SHL3ALLRES)"!="" 1568 $(COMMAND_ECHO)+$(TYPE) $(SHL3ALLRES) > $(SHL3LINKRES) 1569.ENDIF # "$(SHL3ALLRES)"!="" 1570 1571.IF "$(USE_DEFFILE)"!="" 1572 1573 $(COMMAND_ECHO)$(SHL3LINKER) $(SHL3LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 1574 $(SHL3DEF) \ 1575 $(STDOBJ) \ 1576 -L$(LB) \ 1577 -L$(SOLARVERSION)/$(INPATH)/lib \ 1578 $(SHL3OBJS) $(SHL3VERSIONOBJ) \ 1579 $(SHL3LIBS) \ 1580 $(SHL3LINKRES) \ 1581 $(SHL3STDLIBS) \ 1582 $(SHL3STDSHL) $(STDSHL3) 1583 1584.ELSE # "$(USE_DEFFILE)"!="" 1585 1586 $(COMMAND_ECHO)$(SHL3LINKER) $(SHL3LINKFLAGS) \ 1587 $(LINKFLAGSSHL) $(SHL3BASEX) \ 1588 $(SHL3STACK) -o $(SHL3TARGETN) \ 1589 $(SHL3DEF) \ 1590 $(STDOBJ) \ 1591 -L$(LB) \ 1592 -L$(SOLARVERSION)/$(INPATH)/lib \ 1593 $(SHL3OBJS) $(SHL3VERSIONOBJ) \ 1594 $(SHL3LIBS) \ 1595 $(SHL3LINKRES) \ 1596 $(SHL3STDLIBS) \ 1597 $(SHL3STDSHL) $(STDSHL3) 1598 1599.ENDIF # "$(USE_DEFFILE)"!="" 1600 1601 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL3IMPLIBN) $@ 1602 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL3TARGET).lib $@ 1603 1604.IF "$(SHL3TARGET8)" != "$(SHL3TARGET)" 1605 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL3TARGET8).dll 1606.ENDIF 1607 1608.ENDIF # "$(GUI)" == "OS2" 1609 1610.ENDIF # "$(SHL3TARGETN)"!="" 1611 1612# unroll begin 1613 1614.IF "$(SHL4TARGETN)"!="" 1615 1616.IF "$(OS)"=="AIX" 1617SHL4STDLIBS= 1618.ENDIF 1619 1620.IF "$(SHLLINKARCONLY)" != "" 1621SHL4STDLIBS= 1622STDSHL= 1623.ELSE 1624SHL4ARCHIVES= 1625.ENDIF 1626 1627# decide how to link 1628.IF "$(SHL4CODETYPE)"=="C" 1629SHL4LINKER=$(LINKC) 1630SHL4STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 1631SHL4LINKFLAGS+=$(LINKCFLAGS) 1632.ELSE # "$(SHL4CODETYPE)"=="C" 1633SHL4LINKER=$(LINK) 1634SHL4STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 1635SHL4LINKFLAGS+=$(LINKFLAGS) 1636.ENDIF # "$(SHL4CODETYPE)"=="C" 1637 1638SHL4RPATH*=OOO 1639LINKFLAGSRUNPATH_$(SHL4RPATH)*=/ERROR:/Bad_SHL4RPATH_value 1640SHL4LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL4RPATH)) 1641 1642.IF "$(SHL4USE_EXPORTS)"=="" 1643SHL4DEF*=$(MISC)/$(SHL4TARGET).def 1644.ENDIF # "$(SHL4USE_EXPORTS)"=="" 1645 1646EXTRALIBPATHS4=$(EXTRALIBPATHS) 1647.IF "$(UPDATER)"=="YES" 1648.IF "$(SHL4NOCHECK)"=="" 1649.IF "$(SOLAR_STLLIBPATH)"!="" 1650EXTRALIBPATHS4+=-L$(SOLAR_STLLIBPATH) 1651.ENDIF 1652.ENDIF # "$(SHL4NOCHECK)"!="" 1653.ENDIF 1654#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1655#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 1656#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1657 1658.IF "$(L10N_framework)"=="" 1659.IF "$(VERSIONOBJ)"!="" 1660SHL4VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL4TARGET))}$(VERSIONOBJ:f) 1661USE_VERSIONH:=$(INCCOM)/$(SHL4VERSIONOBJ:b).h 1662.IF "$(GUI)" == "UNX" 1663SHL4VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL4TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 1664.ELSE # "$(GUI)" == "UNX" 1665SHL4VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL4TARGET))}$(VERSIONOBJ:f) 1666.ENDIF # "$(GUI)" == "UNX" 1667$(MISC)/$(SHL4VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL4VERSIONOBJ:b).h 1668# $(COPY) $(SOLARENV)/src/version.c $@ 1669 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL4VERSIONOBJ:b).h/ > $@ 1670 1671.INIT : $(SHL4VERSIONOBJDEP) 1672.ENDIF # "$(VERSIONOBJ)"!="" 1673.ENDIF 1674 1675.IF "$(GUI)" != "UNX" 1676.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1677.IF "$(SHL4IMPLIB)" == "" 1678SHL4IMPLIB=i$(TARGET)_t4 1679.ENDIF # "$(SHL4IMPLIB)" == "" 1680.IF "$(COM)" != "GCC" 1681USE_4IMPLIB=-implib:$(LB)/$(SHL4IMPLIB).lib 1682.ENDIF # "$(COM)" != "GCC" 1683SHL4IMPLIBN=$(LB)/$(SHL4IMPLIB).lib 1684ALLTAR : $(SHL4IMPLIBN) 1685 1686.IF "$(USE_DEFFILE)"=="" 1687USE_4IMPLIB_DEPS=$(LB)/$(SHL4IMPLIB).lib 1688.ENDIF # "$(USE_DEFFILE)"=="" 1689.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1690USE_SHL4DEF=$(SHL4DEF) 1691.ELSE # "$(GUI)" != "UNX" 1692USE_SHL4DEF= 1693SHL4DEPN+:=$(SHL4DEPNU) 1694 1695.IF "$(SHL4VERSIONMAP)"=="" 1696# to activate vmaps remove "#" 1697USE_SHL4VERSIONMAP=$(MISC)/$(SHL4TARGET).vmap 1698.ENDIF # "$(SHL4VERSIONMAP)"=="" 1699 1700.IF "$(USE_SHL4VERSIONMAP)"!="" 1701 1702.IF "$(SHL4FILTERFILE)"!="" 1703.IF "$(SHL4VERSIONMAP)"!="" 1704#eine von beiden ist zuviel 1705USE_SHL4VERSIONMAP=$(MISC)/$(SHL4TARGET).vmap 1706$(USE_SHL4VERSIONMAP) .PHONY: 1707 @echo ----------------------------- 1708 @echo you should only use versionmap OR exportfile 1709 @echo ----------------------------- 1710# force_dmake_to_error 1711 1712.ENDIF # "$(SHL4VERSIONMAP)"!="" 1713 1714SHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP) 1715 1716$(USE_SHL4VERSIONMAP): \ 1717 $(SHL4OBJS)\ 1718 $(SHL4LIBS)\ 1719 $(SHL4FILTERFILE) 1720 @$(RM) $@.dump 1721.IF "$(SHL4OBJS)"!="" 1722# dump remaining objects on the fly 1723.IF "$(OS)"=="MACOSX" 1724 @-nm $(SHL4OBJS:s/.obj/.o/) > $@.dump 1725.ELSE 1726 @nm $(SHL4OBJS:s/.obj/.o/) > $@.dump 1727.ENDIF 1728.ENDIF # "$(SHL4OBJS)!"="" 1729 @$(TYPE) /dev/null $(SHL4LIBS:s/.lib/.dump/) >> $@.dump 1730 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL4INTERFACE) -f $(SHL4FILTERFILE) -m $@ 1731 1732.ELSE # "$(SHL4FILTERFILE)"!="" 1733USE_SHL4VERSIONMAP=$(MISC)/$(SHL4TARGET).vmap 1734$(USE_SHL4VERSIONMAP) : 1735.IF "$(VERBOSE)" == "TRUE" 1736 @echo ----------------------------- 1737 @echo SHL4FILTERFILE not set! 1738 @echo ----------------------------- 1739 @$(TOUCH) $@ 1740 @echo dummy file to keep the dependencies for later use. 1741.ELSE 1742 @$(TOUCH) $@ 1743.ENDIF 1744# force_dmake_to_error 1745.ENDIF # "$(SHL4FILTERFILE)"!="" 1746.ELSE # "$(USE_SHL4VERSIONMAP)"!="" 1747 1748#and now for the plain non-generic way... 1749.IF "$(SHL4VERSIONMAP)"!="" 1750USE_SHL4VERSIONMAP=$(MISC)/$(SHL4VERSIONMAP:b)_$(SHL4TARGET)$(SHL4VERSIONMAP:e) 1751SHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP) 1752 1753.IF "$(OS)"=="MACOSX" 1754$(USE_SHL4VERSIONMAP): $(SHL4OBJS) $(SHL4LIBS) 1755.ENDIF 1756 1757# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 1758# even if the $(AWK) part fails: 1759$(USE_SHL4VERSIONMAP) .ERRREMOVE: $(SHL4VERSIONMAP) 1760 @@-$(RM) -f $@ 1761# The following files will only be generated and needed on Mac OS X as temporary files 1762# in order to generate exported symbols list out of Linux/Solaris map files 1763.IF "$(OS)"=="MACOSX" 1764 @-$(RM) -f $@.symregexp >& $(NULLDEV) 1765 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 1766.ENDIF 1767# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 1768# happens if somebody will change it in the future 1769.IF "$(COMID)"=="gcc3" 1770 $(COMMAND_ECHO) tr -d "\015" < $(SHL4VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 1771.ELIF "$(COMNAME)"=="sunpro5" 1772 $(COMMAND_ECHO) tr -d "\015" < $(SHL4VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 1773.ELSE # "$(COMID)"=="gcc3" 1774 $(COMMAND_ECHO) tr -d "\015" < $(SHL4VERSIONMAP) > $@ 1775.ENDIF # "$(COMID)"=="gcc3" 1776 @chmod a+w $@ 1777# Mac OS X post-processing generate an exported symbols list from the generated map file 1778# for details on exported symbols list see man ld on Mac OS X 1779.IF "$(OS)"=="MACOSX" 1780 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 1781 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 1782# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 1783# Extract RTTI symbols from all the objects that will be used to build a shared library 1784.IF "$(SHL4OBJS)"!="" 1785 -echo $(foreach,i,$(SHL4OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 1786.ENDIF 1787.IF "$(SHL4LIBS)"!="" 1788 $(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 1789.ENDIF 1790# overwrite the map file generate into the local output tree with the generated 1791# exported symbols list 1792 cp $@.exported-symbols $@ 1793.ENDIF # .IF "$(OS)"=="MACOSX" 1794.ENDIF # "$(SHL4VERSIONMAP)"!="" 1795.ENDIF # "$(USE_SHL4VERSIONMAP)"!="" 1796.ENDIF # "$(GUI)" != "UNX" 1797 1798.IF "$(UNIXVERSIONNAMES)"!="" 1799.IF "$(OS)"!="MACOSX" 1800.IF "$(GUI)"=="UNX" 1801SHL4SONAME=\"$(SONAME_SWITCH)$(SHL4TARGETN:f)\" 1802.ENDIF # "$(GUI)"!="UNX" 1803.ENDIF # "$(OS)"!="MACOSX" 1804.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1805 1806.IF "$(SHL4RES)"!="" 1807SHL4ALLRES+=$(SHL4RES) 1808SHL4LINKRES*=$(MISC)/$(SHL4TARGET).res 1809SHL4LINKRESO*=$(MISC)/$(SHL4TARGET)_res.o 1810.ENDIF # "$(SHL4RES)"!="" 1811 1812.IF "$(SHL4DEFAULTRES)$(use_shl_versions)"!="" 1813SHL4DEFAULTRES*=$(MISC)/$(SHL4TARGET)_def.res 1814SHL4ALLRES+=$(SHL4DEFAULTRES) 1815SHL4LINKRES*=$(MISC)/$(SHL4TARGET).res 1816SHL4LINKRESO*=$(MISC)/$(SHL4TARGET)_res.o 1817.ENDIF # "$(SHL4DEFAULTRES)$(use_shl_versions)"!="" 1818 1819#.IF "$(SHL4TARGETN)"!="" 1820 1821.IF "$(linkinc)"!="" 1822.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1823.IF "$(SHL4LIBS)"!="" 1824$(MISC)/$(SHL4TARGET)_linkinc.ls .PHONY: 1825 @@-$(RM) $@ 1826 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL4LIBS) $(i:s/.lib/.lin/)) >> $@ 1827.ENDIF # "$(SHL4LIBS)"!="" 1828.ENDIF 1829 1830LINKINCTARGETS+=$(MISC)/$(SHL4TARGETN:b)_linkinc.ls 1831$(SHL4TARGETN) : $(LINKINCTARGETS) 1832 1833.ELSE 1834.IF "$(SHL4USE_EXPORTS)"=="name" 1835.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1836.IF "$(COM)"!="GCC" 1837.IF "$(SHL4LIBS)"!="" 1838SHL4LINKLIST=$(MISC)/$(SHL4TARGET)_link.lst 1839SHL4LINKLISTPARAM=@$(SHL4LINKLIST) 1840$(SHL4LINKLIST) : $(SHL4LIBS) 1841 @@-$(RM) $@ 1842 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL4LIBS) $(i:s/.lib/.lin/)) >> $@ 1843.ENDIF # "$(SHL4LIBS)"!="" 1844.ENDIF # "$(COM)"!="GCC" 1845.ENDIF 1846.ENDIF # "$(SHL4USE_EXPORTS)"=="name" 1847 1848$(MISC)/%linkinc.ls: 1849 @echo . > $@ 1850.ENDIF # "$(linkinc)"!="" 1851 1852.IF "$(GUI)" == "OS2" 1853#21/02/2006 YD dll names must be 8.3, invoke fix script 1854#check osl/os2/module.c/osl_loadModule() 1855SHL4TARGET8=$(shell @fix_shl.cmd $(SHL4TARGET)) 1856.ENDIF 1857 1858 1859$(SHL4TARGETN) : \ 1860 $(SHL4OBJS)\ 1861 $(SHL4LIBS)\ 1862 $(USE_4IMPLIB_DEPS)\ 1863 $(USE_SHL4DEF)\ 1864 $(USE_SHL4VERSIONMAP)\ 1865 $(SHL4RES)\ 1866 $(SHL4DEPN) \ 1867 $(SHL4LINKLIST) 1868 @echo "Making: " $(@:f) 1869.IF "$(GUI)" == "WNT" 1870.IF "$(SHL4DEFAULTRES)"!="" 1871 @@-$(RM) $(MISC)/$(SHL4DEFAULTRES:b).rc 1872.IF "$(SHL4ICON)" != "" 1873 @echo 1 ICON $(SHL4ICON) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1874.ENDIF 1875.IF "$(use_shl_versions)" != "" 1876.IF "$(SHL4ADD_VERINFO)"!="" 1877 @echo $(EMQ)#include $(EMQ)"$(SHL4ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1878.ELSE # "$(SHL4ADD_VERINFO)"!="" 1879 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1880 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1881 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1882.ENDIF # "$(SHL4ADD_VERINFO)"!="" 1883 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1884 @echo $(EMQ)#define ORG_NAME $(SHL4TARGET)$(DLLPOST) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1885 @echo $(EMQ)#define INTERNAL_NAME $(SHL4TARGET:b) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1886 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1887.ENDIF # "$(use_shl_versions)" != "" 1888 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL4DEFAULTRES:b).rc 1889.ENDIF # "$(SHL4DEFAULTRES)"!="" 1890.IF "$(SHL4ALLRES)"!="" 1891 $(COMMAND_ECHO)$(TYPE) $(SHL4ALLRES) > $(SHL4LINKRES) 1892.IF "$(COM)"=="GCC" 1893 windres $(SHL4LINKRES) $(SHL4LINKRESO) 1894.ENDIF # "$(COM)"=="GCC" 1895.ENDIF # "$(SHL4ALLRES)"!="" 1896.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 1897 @echo dlltool --dllname $(SHL4TARGET)$(DLLPOST) \ 1898 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_4.cmd 1899 @noop $(assign ALL4OBJLIST:=$(STDOBJ) $(SHL4OBJS) $(SHL4LINKRESO) $(shell $(TYPE) /dev/null $(SHL4LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1900.IF "$(DEFLIB4NAME)"!="" # do not have to include objs 1901 @noop $(assign DEF4OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1902 @noop $(foreach,i,$(DEF4OBJLIST) $(assign ALL4OBJLIST:=$(ALL4OBJLIST:s?$i??))) 1903.ENDIF # "$(DEFLIB4NAME)"!="" 1904 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1905.IF "$(SHL4DEF)"!="" 1906 @echo --input-def $(SHL4DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1907.ELSE 1908 @echo $(SHL4VERSIONOBJ) $(SHL4DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1909.ENDIF 1910 @echo $(ALL4OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1911 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 1912 $(STDOBJ) $(SHL4VERSIONOBJ) $(SHL4DESCRIPTIONOBJ) $(SHL4OBJS) $(SHL4LINKRESO) \ 1913 `$(TYPE) /dev/null $(SHL4LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 1914 -Wl,--exclude-libs,ALL,--start-group $(SHL4STDLIBS) -Wl,--end-group \ 1915 $(SHL4STDSHL) $(STDSHL4) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 1916 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1917 .IF "$(VERBOSE)" == "TRUE" 1918 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_4.cmd 1919 .ENDIF 1920 @+source $(MISC)/$(TARGET).$(@:b)_4.cmd 1921.ELSE 1922.IF "$(linkinc)"=="" 1923.IF "$(SHL4USE_EXPORTS)"!="name" 1924.IF "$(USE_DEFFILE)"!="" 1925 $(COMMAND_ECHO)$(SHL4LINKER) @$(mktmp \ 1926 $(SHL4LINKFLAGS) \ 1927 $(LINKFLAGSSHL) \ 1928 $(SHL4STACK) $(SHL4BASEX) \ 1929 -out:$@ \ 1930 -map:$(MISC)/$(@:b).map \ 1931 -def:$(SHL4DEF) \ 1932 $(USE_4IMPLIB) \ 1933 $(STDOBJ) \ 1934 $(SHL4VERSIONOBJ) $(SHL4OBJS) \ 1935 $(SHL4LIBS) \ 1936 $(SHL4STDLIBS) \ 1937 $(SHL4STDSHL) $(STDSHL4) \ 1938 $(SHL4LINKRES) \ 1939 ) 1940# double check if target was really written... still making sense? 1941 @@$(LS) $@ 1942 @echo linking $@.manifest ... 1943.IF "$(VISTA_MANIFEST)"!="" 1944 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1945 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1946.ELSE 1947 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1948.ENDIF # "$(VISTA_MANIFEST)"!="" 1949 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1950 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1951.ELSE # "$(USE_DEFFILE)"!="" 1952 $(COMMAND_ECHO)$(SHL4LINKER) @$(mktmp $(SHL4LINKFLAGS) \ 1953 $(LINKFLAGSSHL) $(SHL4BASEX) \ 1954 $(SHL4STACK) -out:$(SHL4TARGETN) \ 1955 -map:$(MISC)/$(@:B).map \ 1956 $(LB)/$(SHL4IMPLIB).exp \ 1957 $(STDOBJ) \ 1958 $(SHL4OBJS) $(SHL4VERSIONOBJ) \ 1959 $(SHL4LIBS) \ 1960 $(SHL4STDLIBS) \ 1961 $(SHL4STDSHL) $(STDSHL4) \ 1962 $(SHL4LINKRES) \ 1963 ) 1964# double check if target was really written... still making sense? 1965 @@$(LS) $@ 1966 @echo linking $@.manifest ... 1967.IF "$(VISTA_MANIFEST)"!="" 1968 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1969 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1970.ELSE 1971 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1972.ENDIF # "$(VISTA_MANIFEST)"!="" 1973 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1974 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1975.ENDIF # "$(USE_DEFFILE)"!="" 1976.ELSE # "$(SHL4USE_EXPORTS)"!="name" 1977 $(COMMAND_ECHO)$(SHL4LINKER) @$(mktmp $(SHL4LINKFLAGS) \ 1978 $(LINKFLAGSSHL) $(SHL4BASEX) \ 1979 $(SHL4STACK) -out:$(SHL4TARGETN) \ 1980 -map:$(MISC)/$(@:B).map \ 1981 $(USE_4IMPLIB) \ 1982 $(STDOBJ) \ 1983 $(SHL4OBJS) $(SHL4VERSIONOBJ)) \ 1984 $(SHL4LINKLISTPARAM) \ 1985 @$(mktmp $(SHL4STDLIBS) \ 1986 $(SHL4STDSHL) $(STDSHL4) \ 1987 $(SHL4LINKRES) \ 1988 ) 1989 @echo linking $@.manifest ... 1990.IF "$(VISTA_MANIFEST)"!="" 1991 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1992 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1993.ELSE 1994 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1995.ENDIF # "$(VISTA_MANIFEST)"!="" 1996 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1997 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1998.ENDIF # "$(SHL4USE_EXPORTS)"!="name" 1999.ELSE # "$(linkinc)"=="" 2000 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL4TARGET).lnk 2001 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL4TARGET).lst 2002 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 2003 $(SHL4LINKFLAGS) \ 2004 $(LINKFLAGSSHL) $(SHL4BASEX) \ 2005 $(SHL4STACK) $(MAPFILE) \ 2006 -out:$@ \ 2007 $(LB)/$(SHL4IMPLIB).exp \ 2008 $(STDOBJ) \ 2009 $(SHL4OBJS) \ 2010 $(SHL4STDLIBS) \ 2011 $(SHL4STDSHL) $(STDSHL4) \ 2012 $(SHL4LINKRES) \ 2013 ) >> $(MISC)/$(SHL4TARGET).lnk 2014 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL4TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL4TARGET).lnk 2015 $(COMMAND_ECHO)$(SHL4LINKER) @$(MISC)/$(SHL4TARGET).lnk 2016 @echo linking $@.manifest ... 2017.IF "$(VISTA_MANIFEST)"!="" 2018 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2019 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2020.ELSE 2021 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2022.ENDIF # "$(VISTA_MANIFEST)"!="" 2023 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2024 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2025.ENDIF # "$(linkinc)"=="" 2026.ENDIF # "$(COM)"=="GCC" 2027.ENDIF # "$(GUI)" == "WNT" 2028.IF "$(GUI)"=="UNX" 2029.IF "$(OS)"=="MACOSX" 2030 @-$(RM) $(MISC)/$(@:b).list 2031 @-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd 2032 @echo $(STDSLO) $(SHL4OBJS:s/.obj/.o/) \ 2033 $(SHL4VERSIONOBJ) \ 2034 `cat /dev/null $(SHL4LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 2035 @echo -n $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 2036 $(SHL4STDLIBS) $(SHL4ARCHIVES) $(SHL4STDSHL) $(STDSHL4) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_4.cmd 2037 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 2038 `cat $(MISC)/$(TARGET).$(@:b)_4.cmd` \ 2039 >> $(MISC)/$(TARGET).$(@:b)_4.cmd 2040 .IF "$(VERBOSE)" == "TRUE" 2041 @cat $(MISC)/$(TARGET).$(@:b)_4.cmd 2042 .ENDIF 2043 @+source $(MISC)/$(TARGET).$(@:b)_4.cmd 2044 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 2045 shl $(SHL4RPATH) $@ 2046.IF "$(SHL4CREATEJNILIB)"!="" 2047 @echo "Making: " $(@:f).jnilib 2048 @macosx-create-bundle $@ 2049.ENDIF # "$(SHL4CREATEJNILIB)"!="" 2050.IF "$(UPDATER)"=="YES" 2051.IF "$(SHL4NOCHECK)"=="" 2052 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) $(SHL4TARGETN) 2053.ENDIF # "$(SHL4NOCHECK)"!="" 2054.ENDIF 2055.ELSE # "$(OS)"=="MACOSX" 2056 @-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd 2057 @echo $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4SONAME) $(LINKFLAGSSHL) $(SHL4VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL4OBJS:s/.obj/.o/) \ 2058 $(SHL4VERSIONOBJ) -o $@ \ 2059 `cat /dev/null $(SHL4LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 2060 $(SHL4STDLIBS) $(SHL4ARCHIVES) $(SHL4STDSHL) $(STDSHL4) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_4.cmd 2061 .IF "$(VERBOSE)" == "TRUE" 2062 @cat $(MISC)/$(TARGET).$(@:b)_4.cmd 2063 .ENDIF 2064 @+source $(MISC)/$(TARGET).$(@:b)_4.cmd 2065.IF "$(UPDATER)"=="YES" 2066.IF "$(SHL4NOCHECK)"=="" 2067 $(COMMAND_ECHO)-$(RM) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2068 $(COMMAND_ECHO)$(RENAME) $(SHL4TARGETN) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2069.IF "$(VERBOSE)"=="TRUE" 2070 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2071.ELSE 2072 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) -- -s $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2073.ENDIF 2074.ENDIF # "$(SHL4NOCHECK)"!="" 2075.ENDIF # "$(UPDATER)"=="YES" 2076.ENDIF # "$(OS)"=="MACOSX" 2077.IF "$(UNIXVERSIONNAMES)"!="" 2078 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL4TARGETN:b) 2079 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL4TARGETN:f) $(SHL4TARGETN:b) 2080.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2081.IF "$(VERBOSE)" == "TRUE" 2082 @ls -l $@ 2083.ENDIF 2084.ENDIF # "$(GUI)" == "UNX" 2085 2086.IF "$(GUI)" == "OS2" 2087 2088.IF "$(SHL4DEFAULTRES)"!="" 2089 @+-$(RM) $(MISC)/$(SHL4DEFAULTRES:b).rc > $(NULLDEV) 2090.IF "$(SHL4ICON)" != "" 2091 @-+echo 1 ICON $(SHL4ICON) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2092.ENDIF 2093.IF "$(use_shl_versions)" != "" 2094.IF "$(SHL4ADD_VERINFO)"!="" 2095 @-+echo $(EMQ)#include $(EMQ)"$(SHL4ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2096.ENDIF # "$(SHL4ADD_VERINFO)"!="" 2097 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2098# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2099.ENDIF # "$(use_shl_versions)" != "" 2100# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 2101 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL4DEFAULTRES:b).rc 2102.ENDIF # "$(SHL4DEFAULTRES)"!="" 2103 2104.IF "$(SHL4ALLRES)"!="" 2105 $(COMMAND_ECHO)+$(TYPE) $(SHL4ALLRES) > $(SHL4LINKRES) 2106.ENDIF # "$(SHL4ALLRES)"!="" 2107 2108.IF "$(USE_DEFFILE)"!="" 2109 2110 $(COMMAND_ECHO)$(SHL4LINKER) $(SHL4LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 2111 $(SHL4DEF) \ 2112 $(STDOBJ) \ 2113 -L$(LB) \ 2114 -L$(SOLARVERSION)/$(INPATH)/lib \ 2115 $(SHL4OBJS) $(SHL4VERSIONOBJ) \ 2116 $(SHL4LIBS) \ 2117 $(SHL4LINKRES) \ 2118 $(SHL4STDLIBS) \ 2119 $(SHL4STDSHL) $(STDSHL4) 2120 2121.ELSE # "$(USE_DEFFILE)"!="" 2122 2123 $(COMMAND_ECHO)$(SHL4LINKER) $(SHL4LINKFLAGS) \ 2124 $(LINKFLAGSSHL) $(SHL4BASEX) \ 2125 $(SHL4STACK) -o $(SHL4TARGETN) \ 2126 $(SHL4DEF) \ 2127 $(STDOBJ) \ 2128 -L$(LB) \ 2129 -L$(SOLARVERSION)/$(INPATH)/lib \ 2130 $(SHL4OBJS) $(SHL4VERSIONOBJ) \ 2131 $(SHL4LIBS) \ 2132 $(SHL4LINKRES) \ 2133 $(SHL4STDLIBS) \ 2134 $(SHL4STDSHL) $(STDSHL4) 2135 2136.ENDIF # "$(USE_DEFFILE)"!="" 2137 2138 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL4IMPLIBN) $@ 2139 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL4TARGET).lib $@ 2140 2141.IF "$(SHL4TARGET8)" != "$(SHL4TARGET)" 2142 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL4TARGET8).dll 2143.ENDIF 2144 2145.ENDIF # "$(GUI)" == "OS2" 2146 2147.ENDIF # "$(SHL4TARGETN)"!="" 2148 2149# unroll begin 2150 2151.IF "$(SHL5TARGETN)"!="" 2152 2153.IF "$(OS)"=="AIX" 2154SHL5STDLIBS= 2155.ENDIF 2156 2157.IF "$(SHLLINKARCONLY)" != "" 2158SHL5STDLIBS= 2159STDSHL= 2160.ELSE 2161SHL5ARCHIVES= 2162.ENDIF 2163 2164# decide how to link 2165.IF "$(SHL5CODETYPE)"=="C" 2166SHL5LINKER=$(LINKC) 2167SHL5STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 2168SHL5LINKFLAGS+=$(LINKCFLAGS) 2169.ELSE # "$(SHL5CODETYPE)"=="C" 2170SHL5LINKER=$(LINK) 2171SHL5STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 2172SHL5LINKFLAGS+=$(LINKFLAGS) 2173.ENDIF # "$(SHL5CODETYPE)"=="C" 2174 2175SHL5RPATH*=OOO 2176LINKFLAGSRUNPATH_$(SHL5RPATH)*=/ERROR:/Bad_SHL5RPATH_value 2177SHL5LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL5RPATH)) 2178 2179.IF "$(SHL5USE_EXPORTS)"=="" 2180SHL5DEF*=$(MISC)/$(SHL5TARGET).def 2181.ENDIF # "$(SHL5USE_EXPORTS)"=="" 2182 2183EXTRALIBPATHS5=$(EXTRALIBPATHS) 2184.IF "$(UPDATER)"=="YES" 2185.IF "$(SHL5NOCHECK)"=="" 2186.IF "$(SOLAR_STLLIBPATH)"!="" 2187EXTRALIBPATHS5+=-L$(SOLAR_STLLIBPATH) 2188.ENDIF 2189.ENDIF # "$(SHL5NOCHECK)"!="" 2190.ENDIF 2191#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2192#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 2193#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2194 2195.IF "$(L10N_framework)"=="" 2196.IF "$(VERSIONOBJ)"!="" 2197SHL5VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL5TARGET))}$(VERSIONOBJ:f) 2198USE_VERSIONH:=$(INCCOM)/$(SHL5VERSIONOBJ:b).h 2199.IF "$(GUI)" == "UNX" 2200SHL5VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL5TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 2201.ELSE # "$(GUI)" == "UNX" 2202SHL5VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL5TARGET))}$(VERSIONOBJ:f) 2203.ENDIF # "$(GUI)" == "UNX" 2204$(MISC)/$(SHL5VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL5VERSIONOBJ:b).h 2205# $(COPY) $(SOLARENV)/src/version.c $@ 2206 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL5VERSIONOBJ:b).h/ > $@ 2207 2208.INIT : $(SHL5VERSIONOBJDEP) 2209.ENDIF # "$(VERSIONOBJ)"!="" 2210.ENDIF 2211 2212.IF "$(GUI)" != "UNX" 2213.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2214.IF "$(SHL5IMPLIB)" == "" 2215SHL5IMPLIB=i$(TARGET)_t5 2216.ENDIF # "$(SHL5IMPLIB)" == "" 2217.IF "$(COM)" != "GCC" 2218USE_5IMPLIB=-implib:$(LB)/$(SHL5IMPLIB).lib 2219.ENDIF # "$(COM)" != "GCC" 2220SHL5IMPLIBN=$(LB)/$(SHL5IMPLIB).lib 2221ALLTAR : $(SHL5IMPLIBN) 2222 2223.IF "$(USE_DEFFILE)"=="" 2224USE_5IMPLIB_DEPS=$(LB)/$(SHL5IMPLIB).lib 2225.ENDIF # "$(USE_DEFFILE)"=="" 2226.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2227USE_SHL5DEF=$(SHL5DEF) 2228.ELSE # "$(GUI)" != "UNX" 2229USE_SHL5DEF= 2230SHL5DEPN+:=$(SHL5DEPNU) 2231 2232.IF "$(SHL5VERSIONMAP)"=="" 2233# to activate vmaps remove "#" 2234USE_SHL5VERSIONMAP=$(MISC)/$(SHL5TARGET).vmap 2235.ENDIF # "$(SHL5VERSIONMAP)"=="" 2236 2237.IF "$(USE_SHL5VERSIONMAP)"!="" 2238 2239.IF "$(SHL5FILTERFILE)"!="" 2240.IF "$(SHL5VERSIONMAP)"!="" 2241#eine von beiden ist zuviel 2242USE_SHL5VERSIONMAP=$(MISC)/$(SHL5TARGET).vmap 2243$(USE_SHL5VERSIONMAP) .PHONY: 2244 @echo ----------------------------- 2245 @echo you should only use versionmap OR exportfile 2246 @echo ----------------------------- 2247# force_dmake_to_error 2248 2249.ENDIF # "$(SHL5VERSIONMAP)"!="" 2250 2251SHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP) 2252 2253$(USE_SHL5VERSIONMAP): \ 2254 $(SHL5OBJS)\ 2255 $(SHL5LIBS)\ 2256 $(SHL5FILTERFILE) 2257 @$(RM) $@.dump 2258.IF "$(SHL5OBJS)"!="" 2259# dump remaining objects on the fly 2260.IF "$(OS)"=="MACOSX" 2261 @-nm $(SHL5OBJS:s/.obj/.o/) > $@.dump 2262.ELSE 2263 @nm $(SHL5OBJS:s/.obj/.o/) > $@.dump 2264.ENDIF 2265.ENDIF # "$(SHL5OBJS)!"="" 2266 @$(TYPE) /dev/null $(SHL5LIBS:s/.lib/.dump/) >> $@.dump 2267 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL5INTERFACE) -f $(SHL5FILTERFILE) -m $@ 2268 2269.ELSE # "$(SHL5FILTERFILE)"!="" 2270USE_SHL5VERSIONMAP=$(MISC)/$(SHL5TARGET).vmap 2271$(USE_SHL5VERSIONMAP) : 2272.IF "$(VERBOSE)" == "TRUE" 2273 @echo ----------------------------- 2274 @echo SHL5FILTERFILE not set! 2275 @echo ----------------------------- 2276 @$(TOUCH) $@ 2277 @echo dummy file to keep the dependencies for later use. 2278.ELSE 2279 @$(TOUCH) $@ 2280.ENDIF 2281# force_dmake_to_error 2282.ENDIF # "$(SHL5FILTERFILE)"!="" 2283.ELSE # "$(USE_SHL5VERSIONMAP)"!="" 2284 2285#and now for the plain non-generic way... 2286.IF "$(SHL5VERSIONMAP)"!="" 2287USE_SHL5VERSIONMAP=$(MISC)/$(SHL5VERSIONMAP:b)_$(SHL5TARGET)$(SHL5VERSIONMAP:e) 2288SHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP) 2289 2290.IF "$(OS)"=="MACOSX" 2291$(USE_SHL5VERSIONMAP): $(SHL5OBJS) $(SHL5LIBS) 2292.ENDIF 2293 2294# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 2295# even if the $(AWK) part fails: 2296$(USE_SHL5VERSIONMAP) .ERRREMOVE: $(SHL5VERSIONMAP) 2297 @@-$(RM) -f $@ 2298# The following files will only be generated and needed on Mac OS X as temporary files 2299# in order to generate exported symbols list out of Linux/Solaris map files 2300.IF "$(OS)"=="MACOSX" 2301 @-$(RM) -f $@.symregexp >& $(NULLDEV) 2302 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 2303.ENDIF 2304# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 2305# happens if somebody will change it in the future 2306.IF "$(COMID)"=="gcc3" 2307 $(COMMAND_ECHO) tr -d "\015" < $(SHL5VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 2308.ELIF "$(COMNAME)"=="sunpro5" 2309 $(COMMAND_ECHO) tr -d "\015" < $(SHL5VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 2310.ELSE # "$(COMID)"=="gcc3" 2311 $(COMMAND_ECHO) tr -d "\015" < $(SHL5VERSIONMAP) > $@ 2312.ENDIF # "$(COMID)"=="gcc3" 2313 @chmod a+w $@ 2314# Mac OS X post-processing generate an exported symbols list from the generated map file 2315# for details on exported symbols list see man ld on Mac OS X 2316.IF "$(OS)"=="MACOSX" 2317 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 2318 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 2319# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 2320# Extract RTTI symbols from all the objects that will be used to build a shared library 2321.IF "$(SHL5OBJS)"!="" 2322 -echo $(foreach,i,$(SHL5OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 2323.ENDIF 2324.IF "$(SHL5LIBS)"!="" 2325 $(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 2326.ENDIF 2327# overwrite the map file generate into the local output tree with the generated 2328# exported symbols list 2329 cp $@.exported-symbols $@ 2330.ENDIF # .IF "$(OS)"=="MACOSX" 2331.ENDIF # "$(SHL5VERSIONMAP)"!="" 2332.ENDIF # "$(USE_SHL5VERSIONMAP)"!="" 2333.ENDIF # "$(GUI)" != "UNX" 2334 2335.IF "$(UNIXVERSIONNAMES)"!="" 2336.IF "$(OS)"!="MACOSX" 2337.IF "$(GUI)"=="UNX" 2338SHL5SONAME=\"$(SONAME_SWITCH)$(SHL5TARGETN:f)\" 2339.ENDIF # "$(GUI)"!="UNX" 2340.ENDIF # "$(OS)"!="MACOSX" 2341.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2342 2343.IF "$(SHL5RES)"!="" 2344SHL5ALLRES+=$(SHL5RES) 2345SHL5LINKRES*=$(MISC)/$(SHL5TARGET).res 2346SHL5LINKRESO*=$(MISC)/$(SHL5TARGET)_res.o 2347.ENDIF # "$(SHL5RES)"!="" 2348 2349.IF "$(SHL5DEFAULTRES)$(use_shl_versions)"!="" 2350SHL5DEFAULTRES*=$(MISC)/$(SHL5TARGET)_def.res 2351SHL5ALLRES+=$(SHL5DEFAULTRES) 2352SHL5LINKRES*=$(MISC)/$(SHL5TARGET).res 2353SHL5LINKRESO*=$(MISC)/$(SHL5TARGET)_res.o 2354.ENDIF # "$(SHL5DEFAULTRES)$(use_shl_versions)"!="" 2355 2356#.IF "$(SHL5TARGETN)"!="" 2357 2358.IF "$(linkinc)"!="" 2359.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2360.IF "$(SHL5LIBS)"!="" 2361$(MISC)/$(SHL5TARGET)_linkinc.ls .PHONY: 2362 @@-$(RM) $@ 2363 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL5LIBS) $(i:s/.lib/.lin/)) >> $@ 2364.ENDIF # "$(SHL5LIBS)"!="" 2365.ENDIF 2366 2367LINKINCTARGETS+=$(MISC)/$(SHL5TARGETN:b)_linkinc.ls 2368$(SHL5TARGETN) : $(LINKINCTARGETS) 2369 2370.ELSE 2371.IF "$(SHL5USE_EXPORTS)"=="name" 2372.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2373.IF "$(COM)"!="GCC" 2374.IF "$(SHL5LIBS)"!="" 2375SHL5LINKLIST=$(MISC)/$(SHL5TARGET)_link.lst 2376SHL5LINKLISTPARAM=@$(SHL5LINKLIST) 2377$(SHL5LINKLIST) : $(SHL5LIBS) 2378 @@-$(RM) $@ 2379 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL5LIBS) $(i:s/.lib/.lin/)) >> $@ 2380.ENDIF # "$(SHL5LIBS)"!="" 2381.ENDIF # "$(COM)"!="GCC" 2382.ENDIF 2383.ENDIF # "$(SHL5USE_EXPORTS)"=="name" 2384 2385$(MISC)/%linkinc.ls: 2386 @echo . > $@ 2387.ENDIF # "$(linkinc)"!="" 2388 2389.IF "$(GUI)" == "OS2" 2390#21/02/2006 YD dll names must be 8.3, invoke fix script 2391#check osl/os2/module.c/osl_loadModule() 2392SHL5TARGET8=$(shell @fix_shl.cmd $(SHL5TARGET)) 2393.ENDIF 2394 2395 2396$(SHL5TARGETN) : \ 2397 $(SHL5OBJS)\ 2398 $(SHL5LIBS)\ 2399 $(USE_5IMPLIB_DEPS)\ 2400 $(USE_SHL5DEF)\ 2401 $(USE_SHL5VERSIONMAP)\ 2402 $(SHL5RES)\ 2403 $(SHL5DEPN) \ 2404 $(SHL5LINKLIST) 2405 @echo "Making: " $(@:f) 2406.IF "$(GUI)" == "WNT" 2407.IF "$(SHL5DEFAULTRES)"!="" 2408 @@-$(RM) $(MISC)/$(SHL5DEFAULTRES:b).rc 2409.IF "$(SHL5ICON)" != "" 2410 @echo 1 ICON $(SHL5ICON) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2411.ENDIF 2412.IF "$(use_shl_versions)" != "" 2413.IF "$(SHL5ADD_VERINFO)"!="" 2414 @echo $(EMQ)#include $(EMQ)"$(SHL5ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2415.ELSE # "$(SHL5ADD_VERINFO)"!="" 2416 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2417 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2418 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2419.ENDIF # "$(SHL5ADD_VERINFO)"!="" 2420 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2421 @echo $(EMQ)#define ORG_NAME $(SHL5TARGET)$(DLLPOST) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2422 @echo $(EMQ)#define INTERNAL_NAME $(SHL5TARGET:b) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2423 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2424.ENDIF # "$(use_shl_versions)" != "" 2425 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL5DEFAULTRES:b).rc 2426.ENDIF # "$(SHL5DEFAULTRES)"!="" 2427.IF "$(SHL5ALLRES)"!="" 2428 $(COMMAND_ECHO)$(TYPE) $(SHL5ALLRES) > $(SHL5LINKRES) 2429.IF "$(COM)"=="GCC" 2430 windres $(SHL5LINKRES) $(SHL5LINKRESO) 2431.ENDIF # "$(COM)"=="GCC" 2432.ENDIF # "$(SHL5ALLRES)"!="" 2433.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 2434 @echo dlltool --dllname $(SHL5TARGET)$(DLLPOST) \ 2435 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_5.cmd 2436 @noop $(assign ALL5OBJLIST:=$(STDOBJ) $(SHL5OBJS) $(SHL5LINKRESO) $(shell $(TYPE) /dev/null $(SHL5LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 2437.IF "$(DEFLIB5NAME)"!="" # do not have to include objs 2438 @noop $(assign DEF5OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 2439 @noop $(foreach,i,$(DEF5OBJLIST) $(assign ALL5OBJLIST:=$(ALL5OBJLIST:s?$i??))) 2440.ENDIF # "$(DEFLIB5NAME)"!="" 2441 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2442.IF "$(SHL5DEF)"!="" 2443 @echo --input-def $(SHL5DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2444.ELSE 2445 @echo $(SHL5VERSIONOBJ) $(SHL5DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2446.ENDIF 2447 @echo $(ALL5OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2448 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 2449 $(STDOBJ) $(SHL5VERSIONOBJ) $(SHL5DESCRIPTIONOBJ) $(SHL5OBJS) $(SHL5LINKRESO) \ 2450 `$(TYPE) /dev/null $(SHL5LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 2451 -Wl,--exclude-libs,ALL,--start-group $(SHL5STDLIBS) -Wl,--end-group \ 2452 $(SHL5STDSHL) $(STDSHL5) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 2453 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2454 .IF "$(VERBOSE)" == "TRUE" 2455 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_5.cmd 2456 .ENDIF 2457 @+source $(MISC)/$(TARGET).$(@:b)_5.cmd 2458.ELSE 2459.IF "$(linkinc)"=="" 2460.IF "$(SHL5USE_EXPORTS)"!="name" 2461.IF "$(USE_DEFFILE)"!="" 2462 $(COMMAND_ECHO)$(SHL5LINKER) @$(mktmp \ 2463 $(SHL5LINKFLAGS) \ 2464 $(LINKFLAGSSHL) \ 2465 $(SHL5STACK) $(SHL5BASEX) \ 2466 -out:$@ \ 2467 -map:$(MISC)/$(@:b).map \ 2468 -def:$(SHL5DEF) \ 2469 $(USE_5IMPLIB) \ 2470 $(STDOBJ) \ 2471 $(SHL5VERSIONOBJ) $(SHL5OBJS) \ 2472 $(SHL5LIBS) \ 2473 $(SHL5STDLIBS) \ 2474 $(SHL5STDSHL) $(STDSHL5) \ 2475 $(SHL5LINKRES) \ 2476 ) 2477# double check if target was really written... still making sense? 2478 @@$(LS) $@ 2479 @echo linking $@.manifest ... 2480.IF "$(VISTA_MANIFEST)"!="" 2481 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2482 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2483.ELSE 2484 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2485.ENDIF # "$(VISTA_MANIFEST)"!="" 2486 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2487 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2488.ELSE # "$(USE_DEFFILE)"!="" 2489 $(COMMAND_ECHO)$(SHL5LINKER) @$(mktmp $(SHL5LINKFLAGS) \ 2490 $(LINKFLAGSSHL) $(SHL5BASEX) \ 2491 $(SHL5STACK) -out:$(SHL5TARGETN) \ 2492 -map:$(MISC)/$(@:B).map \ 2493 $(LB)/$(SHL5IMPLIB).exp \ 2494 $(STDOBJ) \ 2495 $(SHL5OBJS) $(SHL5VERSIONOBJ) \ 2496 $(SHL5LIBS) \ 2497 $(SHL5STDLIBS) \ 2498 $(SHL5STDSHL) $(STDSHL5) \ 2499 $(SHL5LINKRES) \ 2500 ) 2501# double check if target was really written... still making sense? 2502 @@$(LS) $@ 2503 @echo linking $@.manifest ... 2504.IF "$(VISTA_MANIFEST)"!="" 2505 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2506 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2507.ELSE 2508 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2509.ENDIF # "$(VISTA_MANIFEST)"!="" 2510 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2511 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2512.ENDIF # "$(USE_DEFFILE)"!="" 2513.ELSE # "$(SHL5USE_EXPORTS)"!="name" 2514 $(COMMAND_ECHO)$(SHL5LINKER) @$(mktmp $(SHL5LINKFLAGS) \ 2515 $(LINKFLAGSSHL) $(SHL5BASEX) \ 2516 $(SHL5STACK) -out:$(SHL5TARGETN) \ 2517 -map:$(MISC)/$(@:B).map \ 2518 $(USE_5IMPLIB) \ 2519 $(STDOBJ) \ 2520 $(SHL5OBJS) $(SHL5VERSIONOBJ)) \ 2521 $(SHL5LINKLISTPARAM) \ 2522 @$(mktmp $(SHL5STDLIBS) \ 2523 $(SHL5STDSHL) $(STDSHL5) \ 2524 $(SHL5LINKRES) \ 2525 ) 2526 @echo linking $@.manifest ... 2527.IF "$(VISTA_MANIFEST)"!="" 2528 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2529 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2530.ELSE 2531 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2532.ENDIF # "$(VISTA_MANIFEST)"!="" 2533 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2534 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2535.ENDIF # "$(SHL5USE_EXPORTS)"!="name" 2536.ELSE # "$(linkinc)"=="" 2537 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL5TARGET).lnk 2538 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL5TARGET).lst 2539 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 2540 $(SHL5LINKFLAGS) \ 2541 $(LINKFLAGSSHL) $(SHL5BASEX) \ 2542 $(SHL5STACK) $(MAPFILE) \ 2543 -out:$@ \ 2544 $(LB)/$(SHL5IMPLIB).exp \ 2545 $(STDOBJ) \ 2546 $(SHL5OBJS) \ 2547 $(SHL5STDLIBS) \ 2548 $(SHL5STDSHL) $(STDSHL5) \ 2549 $(SHL5LINKRES) \ 2550 ) >> $(MISC)/$(SHL5TARGET).lnk 2551 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL5TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL5TARGET).lnk 2552 $(COMMAND_ECHO)$(SHL5LINKER) @$(MISC)/$(SHL5TARGET).lnk 2553 @echo linking $@.manifest ... 2554.IF "$(VISTA_MANIFEST)"!="" 2555 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2556 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2557.ELSE 2558 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2559.ENDIF # "$(VISTA_MANIFEST)"!="" 2560 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2561 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2562.ENDIF # "$(linkinc)"=="" 2563.ENDIF # "$(COM)"=="GCC" 2564.ENDIF # "$(GUI)" == "WNT" 2565.IF "$(GUI)"=="UNX" 2566.IF "$(OS)"=="MACOSX" 2567 @-$(RM) $(MISC)/$(@:b).list 2568 @-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd 2569 @echo $(STDSLO) $(SHL5OBJS:s/.obj/.o/) \ 2570 $(SHL5VERSIONOBJ) \ 2571 `cat /dev/null $(SHL5LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 2572 @echo -n $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 2573 $(SHL5STDLIBS) $(SHL5ARCHIVES) $(SHL5STDSHL) $(STDSHL5) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_5.cmd 2574 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 2575 `cat $(MISC)/$(TARGET).$(@:b)_5.cmd` \ 2576 >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2577 .IF "$(VERBOSE)" == "TRUE" 2578 @cat $(MISC)/$(TARGET).$(@:b)_5.cmd 2579 .ENDIF 2580 @+source $(MISC)/$(TARGET).$(@:b)_5.cmd 2581 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 2582 shl $(SHL5RPATH) $@ 2583.IF "$(SHL5CREATEJNILIB)"!="" 2584 @echo "Making: " $(@:f).jnilib 2585 @macosx-create-bundle $@ 2586.ENDIF # "$(SHL5CREATEJNILIB)"!="" 2587.IF "$(UPDATER)"=="YES" 2588.IF "$(SHL5NOCHECK)"=="" 2589 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) $(SHL5TARGETN) 2590.ENDIF # "$(SHL5NOCHECK)"!="" 2591.ENDIF 2592.ELSE # "$(OS)"=="MACOSX" 2593 @-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd 2594 @echo $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5SONAME) $(LINKFLAGSSHL) $(SHL5VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL5OBJS:s/.obj/.o/) \ 2595 $(SHL5VERSIONOBJ) -o $@ \ 2596 `cat /dev/null $(SHL5LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 2597 $(SHL5STDLIBS) $(SHL5ARCHIVES) $(SHL5STDSHL) $(STDSHL5) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_5.cmd 2598 .IF "$(VERBOSE)" == "TRUE" 2599 @cat $(MISC)/$(TARGET).$(@:b)_5.cmd 2600 .ENDIF 2601 @+source $(MISC)/$(TARGET).$(@:b)_5.cmd 2602.IF "$(UPDATER)"=="YES" 2603.IF "$(SHL5NOCHECK)"=="" 2604 $(COMMAND_ECHO)-$(RM) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2605 $(COMMAND_ECHO)$(RENAME) $(SHL5TARGETN) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2606.IF "$(VERBOSE)"=="TRUE" 2607 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2608.ELSE 2609 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) -- -s $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2610.ENDIF 2611.ENDIF # "$(SHL5NOCHECK)"!="" 2612.ENDIF # "$(UPDATER)"=="YES" 2613.ENDIF # "$(OS)"=="MACOSX" 2614.IF "$(UNIXVERSIONNAMES)"!="" 2615 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL5TARGETN:b) 2616 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL5TARGETN:f) $(SHL5TARGETN:b) 2617.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2618.IF "$(VERBOSE)" == "TRUE" 2619 @ls -l $@ 2620.ENDIF 2621.ENDIF # "$(GUI)" == "UNX" 2622 2623.IF "$(GUI)" == "OS2" 2624 2625.IF "$(SHL5DEFAULTRES)"!="" 2626 @+-$(RM) $(MISC)/$(SHL5DEFAULTRES:b).rc > $(NULLDEV) 2627.IF "$(SHL5ICON)" != "" 2628 @-+echo 1 ICON $(SHL5ICON) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2629.ENDIF 2630.IF "$(use_shl_versions)" != "" 2631.IF "$(SHL5ADD_VERINFO)"!="" 2632 @-+echo $(EMQ)#include $(EMQ)"$(SHL5ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2633.ENDIF # "$(SHL5ADD_VERINFO)"!="" 2634 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2635# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2636.ENDIF # "$(use_shl_versions)" != "" 2637# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 2638 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL5DEFAULTRES:b).rc 2639.ENDIF # "$(SHL5DEFAULTRES)"!="" 2640 2641.IF "$(SHL5ALLRES)"!="" 2642 $(COMMAND_ECHO)+$(TYPE) $(SHL5ALLRES) > $(SHL5LINKRES) 2643.ENDIF # "$(SHL5ALLRES)"!="" 2644 2645.IF "$(USE_DEFFILE)"!="" 2646 2647 $(COMMAND_ECHO)$(SHL5LINKER) $(SHL5LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 2648 $(SHL5DEF) \ 2649 $(STDOBJ) \ 2650 -L$(LB) \ 2651 -L$(SOLARVERSION)/$(INPATH)/lib \ 2652 $(SHL5OBJS) $(SHL5VERSIONOBJ) \ 2653 $(SHL5LIBS) \ 2654 $(SHL5LINKRES) \ 2655 $(SHL5STDLIBS) \ 2656 $(SHL5STDSHL) $(STDSHL5) 2657 2658.ELSE # "$(USE_DEFFILE)"!="" 2659 2660 $(COMMAND_ECHO)$(SHL5LINKER) $(SHL5LINKFLAGS) \ 2661 $(LINKFLAGSSHL) $(SHL5BASEX) \ 2662 $(SHL5STACK) -o $(SHL5TARGETN) \ 2663 $(SHL5DEF) \ 2664 $(STDOBJ) \ 2665 -L$(LB) \ 2666 -L$(SOLARVERSION)/$(INPATH)/lib \ 2667 $(SHL5OBJS) $(SHL5VERSIONOBJ) \ 2668 $(SHL5LIBS) \ 2669 $(SHL5LINKRES) \ 2670 $(SHL5STDLIBS) \ 2671 $(SHL5STDSHL) $(STDSHL5) 2672 2673.ENDIF # "$(USE_DEFFILE)"!="" 2674 2675 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL5IMPLIBN) $@ 2676 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL5TARGET).lib $@ 2677 2678.IF "$(SHL5TARGET8)" != "$(SHL5TARGET)" 2679 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL5TARGET8).dll 2680.ENDIF 2681 2682.ENDIF # "$(GUI)" == "OS2" 2683 2684.ENDIF # "$(SHL5TARGETN)"!="" 2685 2686# unroll begin 2687 2688.IF "$(SHL6TARGETN)"!="" 2689 2690.IF "$(OS)"=="AIX" 2691SHL6STDLIBS= 2692.ENDIF 2693 2694.IF "$(SHLLINKARCONLY)" != "" 2695SHL6STDLIBS= 2696STDSHL= 2697.ELSE 2698SHL6ARCHIVES= 2699.ENDIF 2700 2701# decide how to link 2702.IF "$(SHL6CODETYPE)"=="C" 2703SHL6LINKER=$(LINKC) 2704SHL6STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 2705SHL6LINKFLAGS+=$(LINKCFLAGS) 2706.ELSE # "$(SHL6CODETYPE)"=="C" 2707SHL6LINKER=$(LINK) 2708SHL6STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 2709SHL6LINKFLAGS+=$(LINKFLAGS) 2710.ENDIF # "$(SHL6CODETYPE)"=="C" 2711 2712SHL6RPATH*=OOO 2713LINKFLAGSRUNPATH_$(SHL6RPATH)*=/ERROR:/Bad_SHL6RPATH_value 2714SHL6LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL6RPATH)) 2715 2716.IF "$(SHL6USE_EXPORTS)"=="" 2717SHL6DEF*=$(MISC)/$(SHL6TARGET).def 2718.ENDIF # "$(SHL6USE_EXPORTS)"=="" 2719 2720EXTRALIBPATHS6=$(EXTRALIBPATHS) 2721.IF "$(UPDATER)"=="YES" 2722.IF "$(SHL6NOCHECK)"=="" 2723.IF "$(SOLAR_STLLIBPATH)"!="" 2724EXTRALIBPATHS6+=-L$(SOLAR_STLLIBPATH) 2725.ENDIF 2726.ENDIF # "$(SHL6NOCHECK)"!="" 2727.ENDIF 2728#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2729#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 2730#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2731 2732.IF "$(L10N_framework)"=="" 2733.IF "$(VERSIONOBJ)"!="" 2734SHL6VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL6TARGET))}$(VERSIONOBJ:f) 2735USE_VERSIONH:=$(INCCOM)/$(SHL6VERSIONOBJ:b).h 2736.IF "$(GUI)" == "UNX" 2737SHL6VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL6TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 2738.ELSE # "$(GUI)" == "UNX" 2739SHL6VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL6TARGET))}$(VERSIONOBJ:f) 2740.ENDIF # "$(GUI)" == "UNX" 2741$(MISC)/$(SHL6VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL6VERSIONOBJ:b).h 2742# $(COPY) $(SOLARENV)/src/version.c $@ 2743 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL6VERSIONOBJ:b).h/ > $@ 2744 2745.INIT : $(SHL6VERSIONOBJDEP) 2746.ENDIF # "$(VERSIONOBJ)"!="" 2747.ENDIF 2748 2749.IF "$(GUI)" != "UNX" 2750.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2751.IF "$(SHL6IMPLIB)" == "" 2752SHL6IMPLIB=i$(TARGET)_t6 2753.ENDIF # "$(SHL6IMPLIB)" == "" 2754.IF "$(COM)" != "GCC" 2755USE_6IMPLIB=-implib:$(LB)/$(SHL6IMPLIB).lib 2756.ENDIF # "$(COM)" != "GCC" 2757SHL6IMPLIBN=$(LB)/$(SHL6IMPLIB).lib 2758ALLTAR : $(SHL6IMPLIBN) 2759 2760.IF "$(USE_DEFFILE)"=="" 2761USE_6IMPLIB_DEPS=$(LB)/$(SHL6IMPLIB).lib 2762.ENDIF # "$(USE_DEFFILE)"=="" 2763.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2764USE_SHL6DEF=$(SHL6DEF) 2765.ELSE # "$(GUI)" != "UNX" 2766USE_SHL6DEF= 2767SHL6DEPN+:=$(SHL6DEPNU) 2768 2769.IF "$(SHL6VERSIONMAP)"=="" 2770# to activate vmaps remove "#" 2771USE_SHL6VERSIONMAP=$(MISC)/$(SHL6TARGET).vmap 2772.ENDIF # "$(SHL6VERSIONMAP)"=="" 2773 2774.IF "$(USE_SHL6VERSIONMAP)"!="" 2775 2776.IF "$(SHL6FILTERFILE)"!="" 2777.IF "$(SHL6VERSIONMAP)"!="" 2778#eine von beiden ist zuviel 2779USE_SHL6VERSIONMAP=$(MISC)/$(SHL6TARGET).vmap 2780$(USE_SHL6VERSIONMAP) .PHONY: 2781 @echo ----------------------------- 2782 @echo you should only use versionmap OR exportfile 2783 @echo ----------------------------- 2784# force_dmake_to_error 2785 2786.ENDIF # "$(SHL6VERSIONMAP)"!="" 2787 2788SHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP) 2789 2790$(USE_SHL6VERSIONMAP): \ 2791 $(SHL6OBJS)\ 2792 $(SHL6LIBS)\ 2793 $(SHL6FILTERFILE) 2794 @$(RM) $@.dump 2795.IF "$(SHL6OBJS)"!="" 2796# dump remaining objects on the fly 2797.IF "$(OS)"=="MACOSX" 2798 @-nm $(SHL6OBJS:s/.obj/.o/) > $@.dump 2799.ELSE 2800 @nm $(SHL6OBJS:s/.obj/.o/) > $@.dump 2801.ENDIF 2802.ENDIF # "$(SHL6OBJS)!"="" 2803 @$(TYPE) /dev/null $(SHL6LIBS:s/.lib/.dump/) >> $@.dump 2804 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL6INTERFACE) -f $(SHL6FILTERFILE) -m $@ 2805 2806.ELSE # "$(SHL6FILTERFILE)"!="" 2807USE_SHL6VERSIONMAP=$(MISC)/$(SHL6TARGET).vmap 2808$(USE_SHL6VERSIONMAP) : 2809.IF "$(VERBOSE)" == "TRUE" 2810 @echo ----------------------------- 2811 @echo SHL6FILTERFILE not set! 2812 @echo ----------------------------- 2813 @$(TOUCH) $@ 2814 @echo dummy file to keep the dependencies for later use. 2815.ELSE 2816 @$(TOUCH) $@ 2817.ENDIF 2818# force_dmake_to_error 2819.ENDIF # "$(SHL6FILTERFILE)"!="" 2820.ELSE # "$(USE_SHL6VERSIONMAP)"!="" 2821 2822#and now for the plain non-generic way... 2823.IF "$(SHL6VERSIONMAP)"!="" 2824USE_SHL6VERSIONMAP=$(MISC)/$(SHL6VERSIONMAP:b)_$(SHL6TARGET)$(SHL6VERSIONMAP:e) 2825SHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP) 2826 2827.IF "$(OS)"=="MACOSX" 2828$(USE_SHL6VERSIONMAP): $(SHL6OBJS) $(SHL6LIBS) 2829.ENDIF 2830 2831# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 2832# even if the $(AWK) part fails: 2833$(USE_SHL6VERSIONMAP) .ERRREMOVE: $(SHL6VERSIONMAP) 2834 @@-$(RM) -f $@ 2835# The following files will only be generated and needed on Mac OS X as temporary files 2836# in order to generate exported symbols list out of Linux/Solaris map files 2837.IF "$(OS)"=="MACOSX" 2838 @-$(RM) -f $@.symregexp >& $(NULLDEV) 2839 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 2840.ENDIF 2841# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 2842# happens if somebody will change it in the future 2843.IF "$(COMID)"=="gcc3" 2844 $(COMMAND_ECHO) tr -d "\015" < $(SHL6VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 2845.ELIF "$(COMNAME)"=="sunpro5" 2846 $(COMMAND_ECHO) tr -d "\015" < $(SHL6VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 2847.ELSE # "$(COMID)"=="gcc3" 2848 $(COMMAND_ECHO) tr -d "\015" < $(SHL6VERSIONMAP) > $@ 2849.ENDIF # "$(COMID)"=="gcc3" 2850 @chmod a+w $@ 2851# Mac OS X post-processing generate an exported symbols list from the generated map file 2852# for details on exported symbols list see man ld on Mac OS X 2853.IF "$(OS)"=="MACOSX" 2854 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 2855 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 2856# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 2857# Extract RTTI symbols from all the objects that will be used to build a shared library 2858.IF "$(SHL6OBJS)"!="" 2859 -echo $(foreach,i,$(SHL6OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 2860.ENDIF 2861.IF "$(SHL6LIBS)"!="" 2862 $(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 2863.ENDIF 2864# overwrite the map file generate into the local output tree with the generated 2865# exported symbols list 2866 cp $@.exported-symbols $@ 2867.ENDIF # .IF "$(OS)"=="MACOSX" 2868.ENDIF # "$(SHL6VERSIONMAP)"!="" 2869.ENDIF # "$(USE_SHL6VERSIONMAP)"!="" 2870.ENDIF # "$(GUI)" != "UNX" 2871 2872.IF "$(UNIXVERSIONNAMES)"!="" 2873.IF "$(OS)"!="MACOSX" 2874.IF "$(GUI)"=="UNX" 2875SHL6SONAME=\"$(SONAME_SWITCH)$(SHL6TARGETN:f)\" 2876.ENDIF # "$(GUI)"!="UNX" 2877.ENDIF # "$(OS)"!="MACOSX" 2878.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2879 2880.IF "$(SHL6RES)"!="" 2881SHL6ALLRES+=$(SHL6RES) 2882SHL6LINKRES*=$(MISC)/$(SHL6TARGET).res 2883SHL6LINKRESO*=$(MISC)/$(SHL6TARGET)_res.o 2884.ENDIF # "$(SHL6RES)"!="" 2885 2886.IF "$(SHL6DEFAULTRES)$(use_shl_versions)"!="" 2887SHL6DEFAULTRES*=$(MISC)/$(SHL6TARGET)_def.res 2888SHL6ALLRES+=$(SHL6DEFAULTRES) 2889SHL6LINKRES*=$(MISC)/$(SHL6TARGET).res 2890SHL6LINKRESO*=$(MISC)/$(SHL6TARGET)_res.o 2891.ENDIF # "$(SHL6DEFAULTRES)$(use_shl_versions)"!="" 2892 2893#.IF "$(SHL6TARGETN)"!="" 2894 2895.IF "$(linkinc)"!="" 2896.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2897.IF "$(SHL6LIBS)"!="" 2898$(MISC)/$(SHL6TARGET)_linkinc.ls .PHONY: 2899 @@-$(RM) $@ 2900 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL6LIBS) $(i:s/.lib/.lin/)) >> $@ 2901.ENDIF # "$(SHL6LIBS)"!="" 2902.ENDIF 2903 2904LINKINCTARGETS+=$(MISC)/$(SHL6TARGETN:b)_linkinc.ls 2905$(SHL6TARGETN) : $(LINKINCTARGETS) 2906 2907.ELSE 2908.IF "$(SHL6USE_EXPORTS)"=="name" 2909.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2910.IF "$(COM)"!="GCC" 2911.IF "$(SHL6LIBS)"!="" 2912SHL6LINKLIST=$(MISC)/$(SHL6TARGET)_link.lst 2913SHL6LINKLISTPARAM=@$(SHL6LINKLIST) 2914$(SHL6LINKLIST) : $(SHL6LIBS) 2915 @@-$(RM) $@ 2916 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL6LIBS) $(i:s/.lib/.lin/)) >> $@ 2917.ENDIF # "$(SHL6LIBS)"!="" 2918.ENDIF # "$(COM)"!="GCC" 2919.ENDIF 2920.ENDIF # "$(SHL6USE_EXPORTS)"=="name" 2921 2922$(MISC)/%linkinc.ls: 2923 @echo . > $@ 2924.ENDIF # "$(linkinc)"!="" 2925 2926.IF "$(GUI)" == "OS2" 2927#21/02/2006 YD dll names must be 8.3, invoke fix script 2928#check osl/os2/module.c/osl_loadModule() 2929SHL6TARGET8=$(shell @fix_shl.cmd $(SHL6TARGET)) 2930.ENDIF 2931 2932 2933$(SHL6TARGETN) : \ 2934 $(SHL6OBJS)\ 2935 $(SHL6LIBS)\ 2936 $(USE_6IMPLIB_DEPS)\ 2937 $(USE_SHL6DEF)\ 2938 $(USE_SHL6VERSIONMAP)\ 2939 $(SHL6RES)\ 2940 $(SHL6DEPN) \ 2941 $(SHL6LINKLIST) 2942 @echo "Making: " $(@:f) 2943.IF "$(GUI)" == "WNT" 2944.IF "$(SHL6DEFAULTRES)"!="" 2945 @@-$(RM) $(MISC)/$(SHL6DEFAULTRES:b).rc 2946.IF "$(SHL6ICON)" != "" 2947 @echo 1 ICON $(SHL6ICON) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2948.ENDIF 2949.IF "$(use_shl_versions)" != "" 2950.IF "$(SHL6ADD_VERINFO)"!="" 2951 @echo $(EMQ)#include $(EMQ)"$(SHL6ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2952.ELSE # "$(SHL6ADD_VERINFO)"!="" 2953 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2954 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2955 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2956.ENDIF # "$(SHL6ADD_VERINFO)"!="" 2957 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2958 @echo $(EMQ)#define ORG_NAME $(SHL6TARGET)$(DLLPOST) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2959 @echo $(EMQ)#define INTERNAL_NAME $(SHL6TARGET:b) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2960 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2961.ENDIF # "$(use_shl_versions)" != "" 2962 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL6DEFAULTRES:b).rc 2963.ENDIF # "$(SHL6DEFAULTRES)"!="" 2964.IF "$(SHL6ALLRES)"!="" 2965 $(COMMAND_ECHO)$(TYPE) $(SHL6ALLRES) > $(SHL6LINKRES) 2966.IF "$(COM)"=="GCC" 2967 windres $(SHL6LINKRES) $(SHL6LINKRESO) 2968.ENDIF # "$(COM)"=="GCC" 2969.ENDIF # "$(SHL6ALLRES)"!="" 2970.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 2971 @echo dlltool --dllname $(SHL6TARGET)$(DLLPOST) \ 2972 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_6.cmd 2973 @noop $(assign ALL6OBJLIST:=$(STDOBJ) $(SHL6OBJS) $(SHL6LINKRESO) $(shell $(TYPE) /dev/null $(SHL6LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 2974.IF "$(DEFLIB6NAME)"!="" # do not have to include objs 2975 @noop $(assign DEF6OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 2976 @noop $(foreach,i,$(DEF6OBJLIST) $(assign ALL6OBJLIST:=$(ALL6OBJLIST:s?$i??))) 2977.ENDIF # "$(DEFLIB6NAME)"!="" 2978 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd 2979.IF "$(SHL6DEF)"!="" 2980 @echo --input-def $(SHL6DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd 2981.ELSE 2982 @echo $(SHL6VERSIONOBJ) $(SHL6DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd 2983.ENDIF 2984 @echo $(ALL6OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_6.cmd 2985 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 2986 $(STDOBJ) $(SHL6VERSIONOBJ) $(SHL6DESCRIPTIONOBJ) $(SHL6OBJS) $(SHL6LINKRESO) \ 2987 `$(TYPE) /dev/null $(SHL6LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 2988 -Wl,--exclude-libs,ALL,--start-group $(SHL6STDLIBS) -Wl,--end-group \ 2989 $(SHL6STDSHL) $(STDSHL6) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 2990 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_6.cmd 2991 .IF "$(VERBOSE)" == "TRUE" 2992 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_6.cmd 2993 .ENDIF 2994 @+source $(MISC)/$(TARGET).$(@:b)_6.cmd 2995.ELSE 2996.IF "$(linkinc)"=="" 2997.IF "$(SHL6USE_EXPORTS)"!="name" 2998.IF "$(USE_DEFFILE)"!="" 2999 $(COMMAND_ECHO)$(SHL6LINKER) @$(mktmp \ 3000 $(SHL6LINKFLAGS) \ 3001 $(LINKFLAGSSHL) \ 3002 $(SHL6STACK) $(SHL6BASEX) \ 3003 -out:$@ \ 3004 -map:$(MISC)/$(@:b).map \ 3005 -def:$(SHL6DEF) \ 3006 $(USE_6IMPLIB) \ 3007 $(STDOBJ) \ 3008 $(SHL6VERSIONOBJ) $(SHL6OBJS) \ 3009 $(SHL6LIBS) \ 3010 $(SHL6STDLIBS) \ 3011 $(SHL6STDSHL) $(STDSHL6) \ 3012 $(SHL6LINKRES) \ 3013 ) 3014# double check if target was really written... still making sense? 3015 @@$(LS) $@ 3016 @echo linking $@.manifest ... 3017.IF "$(VISTA_MANIFEST)"!="" 3018 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3019 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3020.ELSE 3021 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3022.ENDIF # "$(VISTA_MANIFEST)"!="" 3023 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3024 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3025.ELSE # "$(USE_DEFFILE)"!="" 3026 $(COMMAND_ECHO)$(SHL6LINKER) @$(mktmp $(SHL6LINKFLAGS) \ 3027 $(LINKFLAGSSHL) $(SHL6BASEX) \ 3028 $(SHL6STACK) -out:$(SHL6TARGETN) \ 3029 -map:$(MISC)/$(@:B).map \ 3030 $(LB)/$(SHL6IMPLIB).exp \ 3031 $(STDOBJ) \ 3032 $(SHL6OBJS) $(SHL6VERSIONOBJ) \ 3033 $(SHL6LIBS) \ 3034 $(SHL6STDLIBS) \ 3035 $(SHL6STDSHL) $(STDSHL6) \ 3036 $(SHL6LINKRES) \ 3037 ) 3038# double check if target was really written... still making sense? 3039 @@$(LS) $@ 3040 @echo linking $@.manifest ... 3041.IF "$(VISTA_MANIFEST)"!="" 3042 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3043 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3044.ELSE 3045 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3046.ENDIF # "$(VISTA_MANIFEST)"!="" 3047 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3048 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3049.ENDIF # "$(USE_DEFFILE)"!="" 3050.ELSE # "$(SHL6USE_EXPORTS)"!="name" 3051 $(COMMAND_ECHO)$(SHL6LINKER) @$(mktmp $(SHL6LINKFLAGS) \ 3052 $(LINKFLAGSSHL) $(SHL6BASEX) \ 3053 $(SHL6STACK) -out:$(SHL6TARGETN) \ 3054 -map:$(MISC)/$(@:B).map \ 3055 $(USE_6IMPLIB) \ 3056 $(STDOBJ) \ 3057 $(SHL6OBJS) $(SHL6VERSIONOBJ)) \ 3058 $(SHL6LINKLISTPARAM) \ 3059 @$(mktmp $(SHL6STDLIBS) \ 3060 $(SHL6STDSHL) $(STDSHL6) \ 3061 $(SHL6LINKRES) \ 3062 ) 3063 @echo linking $@.manifest ... 3064.IF "$(VISTA_MANIFEST)"!="" 3065 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3066 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3067.ELSE 3068 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3069.ENDIF # "$(VISTA_MANIFEST)"!="" 3070 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3071 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3072.ENDIF # "$(SHL6USE_EXPORTS)"!="name" 3073.ELSE # "$(linkinc)"=="" 3074 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL6TARGET).lnk 3075 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL6TARGET).lst 3076 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 3077 $(SHL6LINKFLAGS) \ 3078 $(LINKFLAGSSHL) $(SHL6BASEX) \ 3079 $(SHL6STACK) $(MAPFILE) \ 3080 -out:$@ \ 3081 $(LB)/$(SHL6IMPLIB).exp \ 3082 $(STDOBJ) \ 3083 $(SHL6OBJS) \ 3084 $(SHL6STDLIBS) \ 3085 $(SHL6STDSHL) $(STDSHL6) \ 3086 $(SHL6LINKRES) \ 3087 ) >> $(MISC)/$(SHL6TARGET).lnk 3088 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL6TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL6TARGET).lnk 3089 $(COMMAND_ECHO)$(SHL6LINKER) @$(MISC)/$(SHL6TARGET).lnk 3090 @echo linking $@.manifest ... 3091.IF "$(VISTA_MANIFEST)"!="" 3092 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3093 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3094.ELSE 3095 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3096.ENDIF # "$(VISTA_MANIFEST)"!="" 3097 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3098 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3099.ENDIF # "$(linkinc)"=="" 3100.ENDIF # "$(COM)"=="GCC" 3101.ENDIF # "$(GUI)" == "WNT" 3102.IF "$(GUI)"=="UNX" 3103.IF "$(OS)"=="MACOSX" 3104 @-$(RM) $(MISC)/$(@:b).list 3105 @-$(RM) $(MISC)/$(TARGET).$(@:b)_6.cmd 3106 @echo $(STDSLO) $(SHL6OBJS:s/.obj/.o/) \ 3107 $(SHL6VERSIONOBJ) \ 3108 `cat /dev/null $(SHL6LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 3109 @echo -n $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 3110 $(SHL6STDLIBS) $(SHL6ARCHIVES) $(SHL6STDSHL) $(STDSHL6) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_6.cmd 3111 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 3112 `cat $(MISC)/$(TARGET).$(@:b)_6.cmd` \ 3113 >> $(MISC)/$(TARGET).$(@:b)_6.cmd 3114 .IF "$(VERBOSE)" == "TRUE" 3115 @cat $(MISC)/$(TARGET).$(@:b)_6.cmd 3116 .ENDIF 3117 @+source $(MISC)/$(TARGET).$(@:b)_6.cmd 3118 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 3119 shl $(SHL6RPATH) $@ 3120.IF "$(SHL6CREATEJNILIB)"!="" 3121 @echo "Making: " $(@:f).jnilib 3122 @macosx-create-bundle $@ 3123.ENDIF # "$(SHL6CREATEJNILIB)"!="" 3124.IF "$(UPDATER)"=="YES" 3125.IF "$(SHL6NOCHECK)"=="" 3126 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) $(SHL6TARGETN) 3127.ENDIF # "$(SHL6NOCHECK)"!="" 3128.ENDIF 3129.ELSE # "$(OS)"=="MACOSX" 3130 @-$(RM) $(MISC)/$(TARGET).$(@:b)_6.cmd 3131 @echo $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6SONAME) $(LINKFLAGSSHL) $(SHL6VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL6OBJS:s/.obj/.o/) \ 3132 $(SHL6VERSIONOBJ) -o $@ \ 3133 `cat /dev/null $(SHL6LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 3134 $(SHL6STDLIBS) $(SHL6ARCHIVES) $(SHL6STDSHL) $(STDSHL6) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_6.cmd 3135 .IF "$(VERBOSE)" == "TRUE" 3136 @cat $(MISC)/$(TARGET).$(@:b)_6.cmd 3137 .ENDIF 3138 @+source $(MISC)/$(TARGET).$(@:b)_6.cmd 3139.IF "$(UPDATER)"=="YES" 3140.IF "$(SHL6NOCHECK)"=="" 3141 $(COMMAND_ECHO)-$(RM) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3142 $(COMMAND_ECHO)$(RENAME) $(SHL6TARGETN) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3143.IF "$(VERBOSE)"=="TRUE" 3144 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3145.ELSE 3146 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) -- -s $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3147.ENDIF 3148.ENDIF # "$(SHL6NOCHECK)"!="" 3149.ENDIF # "$(UPDATER)"=="YES" 3150.ENDIF # "$(OS)"=="MACOSX" 3151.IF "$(UNIXVERSIONNAMES)"!="" 3152 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL6TARGETN:b) 3153 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL6TARGETN:f) $(SHL6TARGETN:b) 3154.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3155.IF "$(VERBOSE)" == "TRUE" 3156 @ls -l $@ 3157.ENDIF 3158.ENDIF # "$(GUI)" == "UNX" 3159 3160.IF "$(GUI)" == "OS2" 3161 3162.IF "$(SHL6DEFAULTRES)"!="" 3163 @+-$(RM) $(MISC)/$(SHL6DEFAULTRES:b).rc > $(NULLDEV) 3164.IF "$(SHL6ICON)" != "" 3165 @-+echo 1 ICON $(SHL6ICON) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3166.ENDIF 3167.IF "$(use_shl_versions)" != "" 3168.IF "$(SHL6ADD_VERINFO)"!="" 3169 @-+echo $(EMQ)#include $(EMQ)"$(SHL6ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3170.ENDIF # "$(SHL6ADD_VERINFO)"!="" 3171 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3172# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3173.ENDIF # "$(use_shl_versions)" != "" 3174# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 3175 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL6DEFAULTRES:b).rc 3176.ENDIF # "$(SHL6DEFAULTRES)"!="" 3177 3178.IF "$(SHL6ALLRES)"!="" 3179 $(COMMAND_ECHO)+$(TYPE) $(SHL6ALLRES) > $(SHL6LINKRES) 3180.ENDIF # "$(SHL6ALLRES)"!="" 3181 3182.IF "$(USE_DEFFILE)"!="" 3183 3184 $(COMMAND_ECHO)$(SHL6LINKER) $(SHL6LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 3185 $(SHL6DEF) \ 3186 $(STDOBJ) \ 3187 -L$(LB) \ 3188 -L$(SOLARVERSION)/$(INPATH)/lib \ 3189 $(SHL6OBJS) $(SHL6VERSIONOBJ) \ 3190 $(SHL6LIBS) \ 3191 $(SHL6LINKRES) \ 3192 $(SHL6STDLIBS) \ 3193 $(SHL6STDSHL) $(STDSHL6) 3194 3195.ELSE # "$(USE_DEFFILE)"!="" 3196 3197 $(COMMAND_ECHO)$(SHL6LINKER) $(SHL6LINKFLAGS) \ 3198 $(LINKFLAGSSHL) $(SHL6BASEX) \ 3199 $(SHL6STACK) -o $(SHL6TARGETN) \ 3200 $(SHL6DEF) \ 3201 $(STDOBJ) \ 3202 -L$(LB) \ 3203 -L$(SOLARVERSION)/$(INPATH)/lib \ 3204 $(SHL6OBJS) $(SHL6VERSIONOBJ) \ 3205 $(SHL6LIBS) \ 3206 $(SHL6LINKRES) \ 3207 $(SHL6STDLIBS) \ 3208 $(SHL6STDSHL) $(STDSHL6) 3209 3210.ENDIF # "$(USE_DEFFILE)"!="" 3211 3212 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL6IMPLIBN) $@ 3213 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL6TARGET).lib $@ 3214 3215.IF "$(SHL6TARGET8)" != "$(SHL6TARGET)" 3216 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL6TARGET8).dll 3217.ENDIF 3218 3219.ENDIF # "$(GUI)" == "OS2" 3220 3221.ENDIF # "$(SHL6TARGETN)"!="" 3222 3223# unroll begin 3224 3225.IF "$(SHL7TARGETN)"!="" 3226 3227.IF "$(OS)"=="AIX" 3228SHL7STDLIBS= 3229.ENDIF 3230 3231.IF "$(SHLLINKARCONLY)" != "" 3232SHL7STDLIBS= 3233STDSHL= 3234.ELSE 3235SHL7ARCHIVES= 3236.ENDIF 3237 3238# decide how to link 3239.IF "$(SHL7CODETYPE)"=="C" 3240SHL7LINKER=$(LINKC) 3241SHL7STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 3242SHL7LINKFLAGS+=$(LINKCFLAGS) 3243.ELSE # "$(SHL7CODETYPE)"=="C" 3244SHL7LINKER=$(LINK) 3245SHL7STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 3246SHL7LINKFLAGS+=$(LINKFLAGS) 3247.ENDIF # "$(SHL7CODETYPE)"=="C" 3248 3249SHL7RPATH*=OOO 3250LINKFLAGSRUNPATH_$(SHL7RPATH)*=/ERROR:/Bad_SHL7RPATH_value 3251SHL7LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL7RPATH)) 3252 3253.IF "$(SHL7USE_EXPORTS)"=="" 3254SHL7DEF*=$(MISC)/$(SHL7TARGET).def 3255.ENDIF # "$(SHL7USE_EXPORTS)"=="" 3256 3257EXTRALIBPATHS7=$(EXTRALIBPATHS) 3258.IF "$(UPDATER)"=="YES" 3259.IF "$(SHL7NOCHECK)"=="" 3260.IF "$(SOLAR_STLLIBPATH)"!="" 3261EXTRALIBPATHS7+=-L$(SOLAR_STLLIBPATH) 3262.ENDIF 3263.ENDIF # "$(SHL7NOCHECK)"!="" 3264.ENDIF 3265#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3266#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 3267#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3268 3269.IF "$(L10N_framework)"=="" 3270.IF "$(VERSIONOBJ)"!="" 3271SHL7VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL7TARGET))}$(VERSIONOBJ:f) 3272USE_VERSIONH:=$(INCCOM)/$(SHL7VERSIONOBJ:b).h 3273.IF "$(GUI)" == "UNX" 3274SHL7VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL7TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 3275.ELSE # "$(GUI)" == "UNX" 3276SHL7VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL7TARGET))}$(VERSIONOBJ:f) 3277.ENDIF # "$(GUI)" == "UNX" 3278$(MISC)/$(SHL7VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL7VERSIONOBJ:b).h 3279# $(COPY) $(SOLARENV)/src/version.c $@ 3280 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL7VERSIONOBJ:b).h/ > $@ 3281 3282.INIT : $(SHL7VERSIONOBJDEP) 3283.ENDIF # "$(VERSIONOBJ)"!="" 3284.ENDIF 3285 3286.IF "$(GUI)" != "UNX" 3287.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3288.IF "$(SHL7IMPLIB)" == "" 3289SHL7IMPLIB=i$(TARGET)_t7 3290.ENDIF # "$(SHL7IMPLIB)" == "" 3291.IF "$(COM)" != "GCC" 3292USE_7IMPLIB=-implib:$(LB)/$(SHL7IMPLIB).lib 3293.ENDIF # "$(COM)" != "GCC" 3294SHL7IMPLIBN=$(LB)/$(SHL7IMPLIB).lib 3295ALLTAR : $(SHL7IMPLIBN) 3296 3297.IF "$(USE_DEFFILE)"=="" 3298USE_7IMPLIB_DEPS=$(LB)/$(SHL7IMPLIB).lib 3299.ENDIF # "$(USE_DEFFILE)"=="" 3300.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3301USE_SHL7DEF=$(SHL7DEF) 3302.ELSE # "$(GUI)" != "UNX" 3303USE_SHL7DEF= 3304SHL7DEPN+:=$(SHL7DEPNU) 3305 3306.IF "$(SHL7VERSIONMAP)"=="" 3307# to activate vmaps remove "#" 3308USE_SHL7VERSIONMAP=$(MISC)/$(SHL7TARGET).vmap 3309.ENDIF # "$(SHL7VERSIONMAP)"=="" 3310 3311.IF "$(USE_SHL7VERSIONMAP)"!="" 3312 3313.IF "$(SHL7FILTERFILE)"!="" 3314.IF "$(SHL7VERSIONMAP)"!="" 3315#eine von beiden ist zuviel 3316USE_SHL7VERSIONMAP=$(MISC)/$(SHL7TARGET).vmap 3317$(USE_SHL7VERSIONMAP) .PHONY: 3318 @echo ----------------------------- 3319 @echo you should only use versionmap OR exportfile 3320 @echo ----------------------------- 3321# force_dmake_to_error 3322 3323.ENDIF # "$(SHL7VERSIONMAP)"!="" 3324 3325SHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP) 3326 3327$(USE_SHL7VERSIONMAP): \ 3328 $(SHL7OBJS)\ 3329 $(SHL7LIBS)\ 3330 $(SHL7FILTERFILE) 3331 @$(RM) $@.dump 3332.IF "$(SHL7OBJS)"!="" 3333# dump remaining objects on the fly 3334.IF "$(OS)"=="MACOSX" 3335 @-nm $(SHL7OBJS:s/.obj/.o/) > $@.dump 3336.ELSE 3337 @nm $(SHL7OBJS:s/.obj/.o/) > $@.dump 3338.ENDIF 3339.ENDIF # "$(SHL7OBJS)!"="" 3340 @$(TYPE) /dev/null $(SHL7LIBS:s/.lib/.dump/) >> $@.dump 3341 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL7INTERFACE) -f $(SHL7FILTERFILE) -m $@ 3342 3343.ELSE # "$(SHL7FILTERFILE)"!="" 3344USE_SHL7VERSIONMAP=$(MISC)/$(SHL7TARGET).vmap 3345$(USE_SHL7VERSIONMAP) : 3346.IF "$(VERBOSE)" == "TRUE" 3347 @echo ----------------------------- 3348 @echo SHL7FILTERFILE not set! 3349 @echo ----------------------------- 3350 @$(TOUCH) $@ 3351 @echo dummy file to keep the dependencies for later use. 3352.ELSE 3353 @$(TOUCH) $@ 3354.ENDIF 3355# force_dmake_to_error 3356.ENDIF # "$(SHL7FILTERFILE)"!="" 3357.ELSE # "$(USE_SHL7VERSIONMAP)"!="" 3358 3359#and now for the plain non-generic way... 3360.IF "$(SHL7VERSIONMAP)"!="" 3361USE_SHL7VERSIONMAP=$(MISC)/$(SHL7VERSIONMAP:b)_$(SHL7TARGET)$(SHL7VERSIONMAP:e) 3362SHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP) 3363 3364.IF "$(OS)"=="MACOSX" 3365$(USE_SHL7VERSIONMAP): $(SHL7OBJS) $(SHL7LIBS) 3366.ENDIF 3367 3368# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 3369# even if the $(AWK) part fails: 3370$(USE_SHL7VERSIONMAP) .ERRREMOVE: $(SHL7VERSIONMAP) 3371 @@-$(RM) -f $@ 3372# The following files will only be generated and needed on Mac OS X as temporary files 3373# in order to generate exported symbols list out of Linux/Solaris map files 3374.IF "$(OS)"=="MACOSX" 3375 @-$(RM) -f $@.symregexp >& $(NULLDEV) 3376 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 3377.ENDIF 3378# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 3379# happens if somebody will change it in the future 3380.IF "$(COMID)"=="gcc3" 3381 $(COMMAND_ECHO) tr -d "\015" < $(SHL7VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 3382.ELIF "$(COMNAME)"=="sunpro5" 3383 $(COMMAND_ECHO) tr -d "\015" < $(SHL7VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 3384.ELSE # "$(COMID)"=="gcc3" 3385 $(COMMAND_ECHO) tr -d "\015" < $(SHL7VERSIONMAP) > $@ 3386.ENDIF # "$(COMID)"=="gcc3" 3387 @chmod a+w $@ 3388# Mac OS X post-processing generate an exported symbols list from the generated map file 3389# for details on exported symbols list see man ld on Mac OS X 3390.IF "$(OS)"=="MACOSX" 3391 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 3392 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 3393# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 3394# Extract RTTI symbols from all the objects that will be used to build a shared library 3395.IF "$(SHL7OBJS)"!="" 3396 -echo $(foreach,i,$(SHL7OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 3397.ENDIF 3398.IF "$(SHL7LIBS)"!="" 3399 $(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 3400.ENDIF 3401# overwrite the map file generate into the local output tree with the generated 3402# exported symbols list 3403 cp $@.exported-symbols $@ 3404.ENDIF # .IF "$(OS)"=="MACOSX" 3405.ENDIF # "$(SHL7VERSIONMAP)"!="" 3406.ENDIF # "$(USE_SHL7VERSIONMAP)"!="" 3407.ENDIF # "$(GUI)" != "UNX" 3408 3409.IF "$(UNIXVERSIONNAMES)"!="" 3410.IF "$(OS)"!="MACOSX" 3411.IF "$(GUI)"=="UNX" 3412SHL7SONAME=\"$(SONAME_SWITCH)$(SHL7TARGETN:f)\" 3413.ENDIF # "$(GUI)"!="UNX" 3414.ENDIF # "$(OS)"!="MACOSX" 3415.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3416 3417.IF "$(SHL7RES)"!="" 3418SHL7ALLRES+=$(SHL7RES) 3419SHL7LINKRES*=$(MISC)/$(SHL7TARGET).res 3420SHL7LINKRESO*=$(MISC)/$(SHL7TARGET)_res.o 3421.ENDIF # "$(SHL7RES)"!="" 3422 3423.IF "$(SHL7DEFAULTRES)$(use_shl_versions)"!="" 3424SHL7DEFAULTRES*=$(MISC)/$(SHL7TARGET)_def.res 3425SHL7ALLRES+=$(SHL7DEFAULTRES) 3426SHL7LINKRES*=$(MISC)/$(SHL7TARGET).res 3427SHL7LINKRESO*=$(MISC)/$(SHL7TARGET)_res.o 3428.ENDIF # "$(SHL7DEFAULTRES)$(use_shl_versions)"!="" 3429 3430#.IF "$(SHL7TARGETN)"!="" 3431 3432.IF "$(linkinc)"!="" 3433.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 3434.IF "$(SHL7LIBS)"!="" 3435$(MISC)/$(SHL7TARGET)_linkinc.ls .PHONY: 3436 @@-$(RM) $@ 3437 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL7LIBS) $(i:s/.lib/.lin/)) >> $@ 3438.ENDIF # "$(SHL7LIBS)"!="" 3439.ENDIF 3440 3441LINKINCTARGETS+=$(MISC)/$(SHL7TARGETN:b)_linkinc.ls 3442$(SHL7TARGETN) : $(LINKINCTARGETS) 3443 3444.ELSE 3445.IF "$(SHL7USE_EXPORTS)"=="name" 3446.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 3447.IF "$(COM)"!="GCC" 3448.IF "$(SHL7LIBS)"!="" 3449SHL7LINKLIST=$(MISC)/$(SHL7TARGET)_link.lst 3450SHL7LINKLISTPARAM=@$(SHL7LINKLIST) 3451$(SHL7LINKLIST) : $(SHL7LIBS) 3452 @@-$(RM) $@ 3453 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL7LIBS) $(i:s/.lib/.lin/)) >> $@ 3454.ENDIF # "$(SHL7LIBS)"!="" 3455.ENDIF # "$(COM)"!="GCC" 3456.ENDIF 3457.ENDIF # "$(SHL7USE_EXPORTS)"=="name" 3458 3459$(MISC)/%linkinc.ls: 3460 @echo . > $@ 3461.ENDIF # "$(linkinc)"!="" 3462 3463.IF "$(GUI)" == "OS2" 3464#21/02/2006 YD dll names must be 8.3, invoke fix script 3465#check osl/os2/module.c/osl_loadModule() 3466SHL7TARGET8=$(shell @fix_shl.cmd $(SHL7TARGET)) 3467.ENDIF 3468 3469 3470$(SHL7TARGETN) : \ 3471 $(SHL7OBJS)\ 3472 $(SHL7LIBS)\ 3473 $(USE_7IMPLIB_DEPS)\ 3474 $(USE_SHL7DEF)\ 3475 $(USE_SHL7VERSIONMAP)\ 3476 $(SHL7RES)\ 3477 $(SHL7DEPN) \ 3478 $(SHL7LINKLIST) 3479 @echo "Making: " $(@:f) 3480.IF "$(GUI)" == "WNT" 3481.IF "$(SHL7DEFAULTRES)"!="" 3482 @@-$(RM) $(MISC)/$(SHL7DEFAULTRES:b).rc 3483.IF "$(SHL7ICON)" != "" 3484 @echo 1 ICON $(SHL7ICON) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3485.ENDIF 3486.IF "$(use_shl_versions)" != "" 3487.IF "$(SHL7ADD_VERINFO)"!="" 3488 @echo $(EMQ)#include $(EMQ)"$(SHL7ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3489.ELSE # "$(SHL7ADD_VERINFO)"!="" 3490 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3491 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3492 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3493.ENDIF # "$(SHL7ADD_VERINFO)"!="" 3494 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3495 @echo $(EMQ)#define ORG_NAME $(SHL7TARGET)$(DLLPOST) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3496 @echo $(EMQ)#define INTERNAL_NAME $(SHL7TARGET:b) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3497 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3498.ENDIF # "$(use_shl_versions)" != "" 3499 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL7DEFAULTRES:b).rc 3500.ENDIF # "$(SHL7DEFAULTRES)"!="" 3501.IF "$(SHL7ALLRES)"!="" 3502 $(COMMAND_ECHO)$(TYPE) $(SHL7ALLRES) > $(SHL7LINKRES) 3503.IF "$(COM)"=="GCC" 3504 windres $(SHL7LINKRES) $(SHL7LINKRESO) 3505.ENDIF # "$(COM)"=="GCC" 3506.ENDIF # "$(SHL7ALLRES)"!="" 3507.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 3508 @echo dlltool --dllname $(SHL7TARGET)$(DLLPOST) \ 3509 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_7.cmd 3510 @noop $(assign ALL7OBJLIST:=$(STDOBJ) $(SHL7OBJS) $(SHL7LINKRESO) $(shell $(TYPE) /dev/null $(SHL7LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 3511.IF "$(DEFLIB7NAME)"!="" # do not have to include objs 3512 @noop $(assign DEF7OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 3513 @noop $(foreach,i,$(DEF7OBJLIST) $(assign ALL7OBJLIST:=$(ALL7OBJLIST:s?$i??))) 3514.ENDIF # "$(DEFLIB7NAME)"!="" 3515 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3516.IF "$(SHL7DEF)"!="" 3517 @echo --input-def $(SHL7DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3518.ELSE 3519 @echo $(SHL7VERSIONOBJ) $(SHL7DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3520.ENDIF 3521 @echo $(ALL7OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3522 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 3523 $(STDOBJ) $(SHL7VERSIONOBJ) $(SHL7DESCRIPTIONOBJ) $(SHL7OBJS) $(SHL7LINKRESO) \ 3524 `$(TYPE) /dev/null $(SHL7LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 3525 -Wl,--exclude-libs,ALL,--start-group $(SHL7STDLIBS) -Wl,--end-group \ 3526 $(SHL7STDSHL) $(STDSHL7) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 3527 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3528 .IF "$(VERBOSE)" == "TRUE" 3529 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_7.cmd 3530 .ENDIF 3531 @+source $(MISC)/$(TARGET).$(@:b)_7.cmd 3532.ELSE 3533.IF "$(linkinc)"=="" 3534.IF "$(SHL7USE_EXPORTS)"!="name" 3535.IF "$(USE_DEFFILE)"!="" 3536 $(COMMAND_ECHO)$(SHL7LINKER) @$(mktmp \ 3537 $(SHL7LINKFLAGS) \ 3538 $(LINKFLAGSSHL) \ 3539 $(SHL7STACK) $(SHL7BASEX) \ 3540 -out:$@ \ 3541 -map:$(MISC)/$(@:b).map \ 3542 -def:$(SHL7DEF) \ 3543 $(USE_7IMPLIB) \ 3544 $(STDOBJ) \ 3545 $(SHL7VERSIONOBJ) $(SHL7OBJS) \ 3546 $(SHL7LIBS) \ 3547 $(SHL7STDLIBS) \ 3548 $(SHL7STDSHL) $(STDSHL7) \ 3549 $(SHL7LINKRES) \ 3550 ) 3551# double check if target was really written... still making sense? 3552 @@$(LS) $@ 3553 @echo linking $@.manifest ... 3554.IF "$(VISTA_MANIFEST)"!="" 3555 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3556 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3557.ELSE 3558 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3559.ENDIF # "$(VISTA_MANIFEST)"!="" 3560 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3561 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3562.ELSE # "$(USE_DEFFILE)"!="" 3563 $(COMMAND_ECHO)$(SHL7LINKER) @$(mktmp $(SHL7LINKFLAGS) \ 3564 $(LINKFLAGSSHL) $(SHL7BASEX) \ 3565 $(SHL7STACK) -out:$(SHL7TARGETN) \ 3566 -map:$(MISC)/$(@:B).map \ 3567 $(LB)/$(SHL7IMPLIB).exp \ 3568 $(STDOBJ) \ 3569 $(SHL7OBJS) $(SHL7VERSIONOBJ) \ 3570 $(SHL7LIBS) \ 3571 $(SHL7STDLIBS) \ 3572 $(SHL7STDSHL) $(STDSHL7) \ 3573 $(SHL7LINKRES) \ 3574 ) 3575# double check if target was really written... still making sense? 3576 @@$(LS) $@ 3577 @echo linking $@.manifest ... 3578.IF "$(VISTA_MANIFEST)"!="" 3579 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3580 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3581.ELSE 3582 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3583.ENDIF # "$(VISTA_MANIFEST)"!="" 3584 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3585 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3586.ENDIF # "$(USE_DEFFILE)"!="" 3587.ELSE # "$(SHL7USE_EXPORTS)"!="name" 3588 $(COMMAND_ECHO)$(SHL7LINKER) @$(mktmp $(SHL7LINKFLAGS) \ 3589 $(LINKFLAGSSHL) $(SHL7BASEX) \ 3590 $(SHL7STACK) -out:$(SHL7TARGETN) \ 3591 -map:$(MISC)/$(@:B).map \ 3592 $(USE_7IMPLIB) \ 3593 $(STDOBJ) \ 3594 $(SHL7OBJS) $(SHL7VERSIONOBJ)) \ 3595 $(SHL7LINKLISTPARAM) \ 3596 @$(mktmp $(SHL7STDLIBS) \ 3597 $(SHL7STDSHL) $(STDSHL7) \ 3598 $(SHL7LINKRES) \ 3599 ) 3600 @echo linking $@.manifest ... 3601.IF "$(VISTA_MANIFEST)"!="" 3602 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3603 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3604.ELSE 3605 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3606.ENDIF # "$(VISTA_MANIFEST)"!="" 3607 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3608 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3609.ENDIF # "$(SHL7USE_EXPORTS)"!="name" 3610.ELSE # "$(linkinc)"=="" 3611 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL7TARGET).lnk 3612 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL7TARGET).lst 3613 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 3614 $(SHL7LINKFLAGS) \ 3615 $(LINKFLAGSSHL) $(SHL7BASEX) \ 3616 $(SHL7STACK) $(MAPFILE) \ 3617 -out:$@ \ 3618 $(LB)/$(SHL7IMPLIB).exp \ 3619 $(STDOBJ) \ 3620 $(SHL7OBJS) \ 3621 $(SHL7STDLIBS) \ 3622 $(SHL7STDSHL) $(STDSHL7) \ 3623 $(SHL7LINKRES) \ 3624 ) >> $(MISC)/$(SHL7TARGET).lnk 3625 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL7TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL7TARGET).lnk 3626 $(COMMAND_ECHO)$(SHL7LINKER) @$(MISC)/$(SHL7TARGET).lnk 3627 @echo linking $@.manifest ... 3628.IF "$(VISTA_MANIFEST)"!="" 3629 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3630 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3631.ELSE 3632 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3633.ENDIF # "$(VISTA_MANIFEST)"!="" 3634 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3635 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3636.ENDIF # "$(linkinc)"=="" 3637.ENDIF # "$(COM)"=="GCC" 3638.ENDIF # "$(GUI)" == "WNT" 3639.IF "$(GUI)"=="UNX" 3640.IF "$(OS)"=="MACOSX" 3641 @-$(RM) $(MISC)/$(@:b).list 3642 @-$(RM) $(MISC)/$(TARGET).$(@:b)_7.cmd 3643 @echo $(STDSLO) $(SHL7OBJS:s/.obj/.o/) \ 3644 $(SHL7VERSIONOBJ) \ 3645 `cat /dev/null $(SHL7LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 3646 @echo -n $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 3647 $(SHL7STDLIBS) $(SHL7ARCHIVES) $(SHL7STDSHL) $(STDSHL7) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_7.cmd 3648 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 3649 `cat $(MISC)/$(TARGET).$(@:b)_7.cmd` \ 3650 >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3651 .IF "$(VERBOSE)" == "TRUE" 3652 @cat $(MISC)/$(TARGET).$(@:b)_7.cmd 3653 .ENDIF 3654 @+source $(MISC)/$(TARGET).$(@:b)_7.cmd 3655 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 3656 shl $(SHL7RPATH) $@ 3657.IF "$(SHL7CREATEJNILIB)"!="" 3658 @echo "Making: " $(@:f).jnilib 3659 @macosx-create-bundle $@ 3660.ENDIF # "$(SHL7CREATEJNILIB)"!="" 3661.IF "$(UPDATER)"=="YES" 3662.IF "$(SHL7NOCHECK)"=="" 3663 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) $(SHL7TARGETN) 3664.ENDIF # "$(SHL7NOCHECK)"!="" 3665.ENDIF 3666.ELSE # "$(OS)"=="MACOSX" 3667 @-$(RM) $(MISC)/$(TARGET).$(@:b)_7.cmd 3668 @echo $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7SONAME) $(LINKFLAGSSHL) $(SHL7VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL7OBJS:s/.obj/.o/) \ 3669 $(SHL7VERSIONOBJ) -o $@ \ 3670 `cat /dev/null $(SHL7LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 3671 $(SHL7STDLIBS) $(SHL7ARCHIVES) $(SHL7STDSHL) $(STDSHL7) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_7.cmd 3672 .IF "$(VERBOSE)" == "TRUE" 3673 @cat $(MISC)/$(TARGET).$(@:b)_7.cmd 3674 .ENDIF 3675 @+source $(MISC)/$(TARGET).$(@:b)_7.cmd 3676.IF "$(UPDATER)"=="YES" 3677.IF "$(SHL7NOCHECK)"=="" 3678 $(COMMAND_ECHO)-$(RM) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3679 $(COMMAND_ECHO)$(RENAME) $(SHL7TARGETN) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3680.IF "$(VERBOSE)"=="TRUE" 3681 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3682.ELSE 3683 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) -- -s $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3684.ENDIF 3685.ENDIF # "$(SHL7NOCHECK)"!="" 3686.ENDIF # "$(UPDATER)"=="YES" 3687.ENDIF # "$(OS)"=="MACOSX" 3688.IF "$(UNIXVERSIONNAMES)"!="" 3689 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL7TARGETN:b) 3690 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL7TARGETN:f) $(SHL7TARGETN:b) 3691.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3692.IF "$(VERBOSE)" == "TRUE" 3693 @ls -l $@ 3694.ENDIF 3695.ENDIF # "$(GUI)" == "UNX" 3696 3697.IF "$(GUI)" == "OS2" 3698 3699.IF "$(SHL7DEFAULTRES)"!="" 3700 @+-$(RM) $(MISC)/$(SHL7DEFAULTRES:b).rc > $(NULLDEV) 3701.IF "$(SHL7ICON)" != "" 3702 @-+echo 1 ICON $(SHL7ICON) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3703.ENDIF 3704.IF "$(use_shl_versions)" != "" 3705.IF "$(SHL7ADD_VERINFO)"!="" 3706 @-+echo $(EMQ)#include $(EMQ)"$(SHL7ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3707.ENDIF # "$(SHL7ADD_VERINFO)"!="" 3708 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3709# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3710.ENDIF # "$(use_shl_versions)" != "" 3711# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 3712 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL7DEFAULTRES:b).rc 3713.ENDIF # "$(SHL7DEFAULTRES)"!="" 3714 3715.IF "$(SHL7ALLRES)"!="" 3716 $(COMMAND_ECHO)+$(TYPE) $(SHL7ALLRES) > $(SHL7LINKRES) 3717.ENDIF # "$(SHL7ALLRES)"!="" 3718 3719.IF "$(USE_DEFFILE)"!="" 3720 3721 $(COMMAND_ECHO)$(SHL7LINKER) $(SHL7LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 3722 $(SHL7DEF) \ 3723 $(STDOBJ) \ 3724 -L$(LB) \ 3725 -L$(SOLARVERSION)/$(INPATH)/lib \ 3726 $(SHL7OBJS) $(SHL7VERSIONOBJ) \ 3727 $(SHL7LIBS) \ 3728 $(SHL7LINKRES) \ 3729 $(SHL7STDLIBS) \ 3730 $(SHL7STDSHL) $(STDSHL7) 3731 3732.ELSE # "$(USE_DEFFILE)"!="" 3733 3734 $(COMMAND_ECHO)$(SHL7LINKER) $(SHL7LINKFLAGS) \ 3735 $(LINKFLAGSSHL) $(SHL7BASEX) \ 3736 $(SHL7STACK) -o $(SHL7TARGETN) \ 3737 $(SHL7DEF) \ 3738 $(STDOBJ) \ 3739 -L$(LB) \ 3740 -L$(SOLARVERSION)/$(INPATH)/lib \ 3741 $(SHL7OBJS) $(SHL7VERSIONOBJ) \ 3742 $(SHL7LIBS) \ 3743 $(SHL7LINKRES) \ 3744 $(SHL7STDLIBS) \ 3745 $(SHL7STDSHL) $(STDSHL7) 3746 3747.ENDIF # "$(USE_DEFFILE)"!="" 3748 3749 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL7IMPLIBN) $@ 3750 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL7TARGET).lib $@ 3751 3752.IF "$(SHL7TARGET8)" != "$(SHL7TARGET)" 3753 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL7TARGET8).dll 3754.ENDIF 3755 3756.ENDIF # "$(GUI)" == "OS2" 3757 3758.ENDIF # "$(SHL7TARGETN)"!="" 3759 3760# unroll begin 3761 3762.IF "$(SHL8TARGETN)"!="" 3763 3764.IF "$(OS)"=="AIX" 3765SHL8STDLIBS= 3766.ENDIF 3767 3768.IF "$(SHLLINKARCONLY)" != "" 3769SHL8STDLIBS= 3770STDSHL= 3771.ELSE 3772SHL8ARCHIVES= 3773.ENDIF 3774 3775# decide how to link 3776.IF "$(SHL8CODETYPE)"=="C" 3777SHL8LINKER=$(LINKC) 3778SHL8STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 3779SHL8LINKFLAGS+=$(LINKCFLAGS) 3780.ELSE # "$(SHL8CODETYPE)"=="C" 3781SHL8LINKER=$(LINK) 3782SHL8STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 3783SHL8LINKFLAGS+=$(LINKFLAGS) 3784.ENDIF # "$(SHL8CODETYPE)"=="C" 3785 3786SHL8RPATH*=OOO 3787LINKFLAGSRUNPATH_$(SHL8RPATH)*=/ERROR:/Bad_SHL8RPATH_value 3788SHL8LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL8RPATH)) 3789 3790.IF "$(SHL8USE_EXPORTS)"=="" 3791SHL8DEF*=$(MISC)/$(SHL8TARGET).def 3792.ENDIF # "$(SHL8USE_EXPORTS)"=="" 3793 3794EXTRALIBPATHS8=$(EXTRALIBPATHS) 3795.IF "$(UPDATER)"=="YES" 3796.IF "$(SHL8NOCHECK)"=="" 3797.IF "$(SOLAR_STLLIBPATH)"!="" 3798EXTRALIBPATHS8+=-L$(SOLAR_STLLIBPATH) 3799.ENDIF 3800.ENDIF # "$(SHL8NOCHECK)"!="" 3801.ENDIF 3802#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3803#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 3804#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3805 3806.IF "$(L10N_framework)"=="" 3807.IF "$(VERSIONOBJ)"!="" 3808SHL8VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL8TARGET))}$(VERSIONOBJ:f) 3809USE_VERSIONH:=$(INCCOM)/$(SHL8VERSIONOBJ:b).h 3810.IF "$(GUI)" == "UNX" 3811SHL8VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL8TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 3812.ELSE # "$(GUI)" == "UNX" 3813SHL8VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL8TARGET))}$(VERSIONOBJ:f) 3814.ENDIF # "$(GUI)" == "UNX" 3815$(MISC)/$(SHL8VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL8VERSIONOBJ:b).h 3816# $(COPY) $(SOLARENV)/src/version.c $@ 3817 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL8VERSIONOBJ:b).h/ > $@ 3818 3819.INIT : $(SHL8VERSIONOBJDEP) 3820.ENDIF # "$(VERSIONOBJ)"!="" 3821.ENDIF 3822 3823.IF "$(GUI)" != "UNX" 3824.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3825.IF "$(SHL8IMPLIB)" == "" 3826SHL8IMPLIB=i$(TARGET)_t8 3827.ENDIF # "$(SHL8IMPLIB)" == "" 3828.IF "$(COM)" != "GCC" 3829USE_8IMPLIB=-implib:$(LB)/$(SHL8IMPLIB).lib 3830.ENDIF # "$(COM)" != "GCC" 3831SHL8IMPLIBN=$(LB)/$(SHL8IMPLIB).lib 3832ALLTAR : $(SHL8IMPLIBN) 3833 3834.IF "$(USE_DEFFILE)"=="" 3835USE_8IMPLIB_DEPS=$(LB)/$(SHL8IMPLIB).lib 3836.ENDIF # "$(USE_DEFFILE)"=="" 3837.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3838USE_SHL8DEF=$(SHL8DEF) 3839.ELSE # "$(GUI)" != "UNX" 3840USE_SHL8DEF= 3841SHL8DEPN+:=$(SHL8DEPNU) 3842 3843.IF "$(SHL8VERSIONMAP)"=="" 3844# to activate vmaps remove "#" 3845USE_SHL8VERSIONMAP=$(MISC)/$(SHL8TARGET).vmap 3846.ENDIF # "$(SHL8VERSIONMAP)"=="" 3847 3848.IF "$(USE_SHL8VERSIONMAP)"!="" 3849 3850.IF "$(SHL8FILTERFILE)"!="" 3851.IF "$(SHL8VERSIONMAP)"!="" 3852#eine von beiden ist zuviel 3853USE_SHL8VERSIONMAP=$(MISC)/$(SHL8TARGET).vmap 3854$(USE_SHL8VERSIONMAP) .PHONY: 3855 @echo ----------------------------- 3856 @echo you should only use versionmap OR exportfile 3857 @echo ----------------------------- 3858# force_dmake_to_error 3859 3860.ENDIF # "$(SHL8VERSIONMAP)"!="" 3861 3862SHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP) 3863 3864$(USE_SHL8VERSIONMAP): \ 3865 $(SHL8OBJS)\ 3866 $(SHL8LIBS)\ 3867 $(SHL8FILTERFILE) 3868 @$(RM) $@.dump 3869.IF "$(SHL8OBJS)"!="" 3870# dump remaining objects on the fly 3871.IF "$(OS)"=="MACOSX" 3872 @-nm $(SHL8OBJS:s/.obj/.o/) > $@.dump 3873.ELSE 3874 @nm $(SHL8OBJS:s/.obj/.o/) > $@.dump 3875.ENDIF 3876.ENDIF # "$(SHL8OBJS)!"="" 3877 @$(TYPE) /dev/null $(SHL8LIBS:s/.lib/.dump/) >> $@.dump 3878 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL8INTERFACE) -f $(SHL8FILTERFILE) -m $@ 3879 3880.ELSE # "$(SHL8FILTERFILE)"!="" 3881USE_SHL8VERSIONMAP=$(MISC)/$(SHL8TARGET).vmap 3882$(USE_SHL8VERSIONMAP) : 3883.IF "$(VERBOSE)" == "TRUE" 3884 @echo ----------------------------- 3885 @echo SHL8FILTERFILE not set! 3886 @echo ----------------------------- 3887 @$(TOUCH) $@ 3888 @echo dummy file to keep the dependencies for later use. 3889.ELSE 3890 @$(TOUCH) $@ 3891.ENDIF 3892# force_dmake_to_error 3893.ENDIF # "$(SHL8FILTERFILE)"!="" 3894.ELSE # "$(USE_SHL8VERSIONMAP)"!="" 3895 3896#and now for the plain non-generic way... 3897.IF "$(SHL8VERSIONMAP)"!="" 3898USE_SHL8VERSIONMAP=$(MISC)/$(SHL8VERSIONMAP:b)_$(SHL8TARGET)$(SHL8VERSIONMAP:e) 3899SHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP) 3900 3901.IF "$(OS)"=="MACOSX" 3902$(USE_SHL8VERSIONMAP): $(SHL8OBJS) $(SHL8LIBS) 3903.ENDIF 3904 3905# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 3906# even if the $(AWK) part fails: 3907$(USE_SHL8VERSIONMAP) .ERRREMOVE: $(SHL8VERSIONMAP) 3908 @@-$(RM) -f $@ 3909# The following files will only be generated and needed on Mac OS X as temporary files 3910# in order to generate exported symbols list out of Linux/Solaris map files 3911.IF "$(OS)"=="MACOSX" 3912 @-$(RM) -f $@.symregexp >& $(NULLDEV) 3913 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 3914.ENDIF 3915# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 3916# happens if somebody will change it in the future 3917.IF "$(COMID)"=="gcc3" 3918 $(COMMAND_ECHO) tr -d "\015" < $(SHL8VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 3919.ELIF "$(COMNAME)"=="sunpro5" 3920 $(COMMAND_ECHO) tr -d "\015" < $(SHL8VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 3921.ELSE # "$(COMID)"=="gcc3" 3922 $(COMMAND_ECHO) tr -d "\015" < $(SHL8VERSIONMAP) > $@ 3923.ENDIF # "$(COMID)"=="gcc3" 3924 @chmod a+w $@ 3925# Mac OS X post-processing generate an exported symbols list from the generated map file 3926# for details on exported symbols list see man ld on Mac OS X 3927.IF "$(OS)"=="MACOSX" 3928 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 3929 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 3930# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 3931# Extract RTTI symbols from all the objects that will be used to build a shared library 3932.IF "$(SHL8OBJS)"!="" 3933 -echo $(foreach,i,$(SHL8OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 3934.ENDIF 3935.IF "$(SHL8LIBS)"!="" 3936 $(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 3937.ENDIF 3938# overwrite the map file generate into the local output tree with the generated 3939# exported symbols list 3940 cp $@.exported-symbols $@ 3941.ENDIF # .IF "$(OS)"=="MACOSX" 3942.ENDIF # "$(SHL8VERSIONMAP)"!="" 3943.ENDIF # "$(USE_SHL8VERSIONMAP)"!="" 3944.ENDIF # "$(GUI)" != "UNX" 3945 3946.IF "$(UNIXVERSIONNAMES)"!="" 3947.IF "$(OS)"!="MACOSX" 3948.IF "$(GUI)"=="UNX" 3949SHL8SONAME=\"$(SONAME_SWITCH)$(SHL8TARGETN:f)\" 3950.ENDIF # "$(GUI)"!="UNX" 3951.ENDIF # "$(OS)"!="MACOSX" 3952.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3953 3954.IF "$(SHL8RES)"!="" 3955SHL8ALLRES+=$(SHL8RES) 3956SHL8LINKRES*=$(MISC)/$(SHL8TARGET).res 3957SHL8LINKRESO*=$(MISC)/$(SHL8TARGET)_res.o 3958.ENDIF # "$(SHL8RES)"!="" 3959 3960.IF "$(SHL8DEFAULTRES)$(use_shl_versions)"!="" 3961SHL8DEFAULTRES*=$(MISC)/$(SHL8TARGET)_def.res 3962SHL8ALLRES+=$(SHL8DEFAULTRES) 3963SHL8LINKRES*=$(MISC)/$(SHL8TARGET).res 3964SHL8LINKRESO*=$(MISC)/$(SHL8TARGET)_res.o 3965.ENDIF # "$(SHL8DEFAULTRES)$(use_shl_versions)"!="" 3966 3967#.IF "$(SHL8TARGETN)"!="" 3968 3969.IF "$(linkinc)"!="" 3970.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 3971.IF "$(SHL8LIBS)"!="" 3972$(MISC)/$(SHL8TARGET)_linkinc.ls .PHONY: 3973 @@-$(RM) $@ 3974 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL8LIBS) $(i:s/.lib/.lin/)) >> $@ 3975.ENDIF # "$(SHL8LIBS)"!="" 3976.ENDIF 3977 3978LINKINCTARGETS+=$(MISC)/$(SHL8TARGETN:b)_linkinc.ls 3979$(SHL8TARGETN) : $(LINKINCTARGETS) 3980 3981.ELSE 3982.IF "$(SHL8USE_EXPORTS)"=="name" 3983.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 3984.IF "$(COM)"!="GCC" 3985.IF "$(SHL8LIBS)"!="" 3986SHL8LINKLIST=$(MISC)/$(SHL8TARGET)_link.lst 3987SHL8LINKLISTPARAM=@$(SHL8LINKLIST) 3988$(SHL8LINKLIST) : $(SHL8LIBS) 3989 @@-$(RM) $@ 3990 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL8LIBS) $(i:s/.lib/.lin/)) >> $@ 3991.ENDIF # "$(SHL8LIBS)"!="" 3992.ENDIF # "$(COM)"!="GCC" 3993.ENDIF 3994.ENDIF # "$(SHL8USE_EXPORTS)"=="name" 3995 3996$(MISC)/%linkinc.ls: 3997 @echo . > $@ 3998.ENDIF # "$(linkinc)"!="" 3999 4000.IF "$(GUI)" == "OS2" 4001#21/02/2006 YD dll names must be 8.3, invoke fix script 4002#check osl/os2/module.c/osl_loadModule() 4003SHL8TARGET8=$(shell @fix_shl.cmd $(SHL8TARGET)) 4004.ENDIF 4005 4006 4007$(SHL8TARGETN) : \ 4008 $(SHL8OBJS)\ 4009 $(SHL8LIBS)\ 4010 $(USE_8IMPLIB_DEPS)\ 4011 $(USE_SHL8DEF)\ 4012 $(USE_SHL8VERSIONMAP)\ 4013 $(SHL8RES)\ 4014 $(SHL8DEPN) \ 4015 $(SHL8LINKLIST) 4016 @echo "Making: " $(@:f) 4017.IF "$(GUI)" == "WNT" 4018.IF "$(SHL8DEFAULTRES)"!="" 4019 @@-$(RM) $(MISC)/$(SHL8DEFAULTRES:b).rc 4020.IF "$(SHL8ICON)" != "" 4021 @echo 1 ICON $(SHL8ICON) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4022.ENDIF 4023.IF "$(use_shl_versions)" != "" 4024.IF "$(SHL8ADD_VERINFO)"!="" 4025 @echo $(EMQ)#include $(EMQ)"$(SHL8ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4026.ELSE # "$(SHL8ADD_VERINFO)"!="" 4027 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4028 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4029 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4030.ENDIF # "$(SHL8ADD_VERINFO)"!="" 4031 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4032 @echo $(EMQ)#define ORG_NAME $(SHL8TARGET)$(DLLPOST) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4033 @echo $(EMQ)#define INTERNAL_NAME $(SHL8TARGET:b) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4034 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4035.ENDIF # "$(use_shl_versions)" != "" 4036 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL8DEFAULTRES:b).rc 4037.ENDIF # "$(SHL8DEFAULTRES)"!="" 4038.IF "$(SHL8ALLRES)"!="" 4039 $(COMMAND_ECHO)$(TYPE) $(SHL8ALLRES) > $(SHL8LINKRES) 4040.IF "$(COM)"=="GCC" 4041 windres $(SHL8LINKRES) $(SHL8LINKRESO) 4042.ENDIF # "$(COM)"=="GCC" 4043.ENDIF # "$(SHL8ALLRES)"!="" 4044.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 4045 @echo dlltool --dllname $(SHL8TARGET)$(DLLPOST) \ 4046 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_8.cmd 4047 @noop $(assign ALL8OBJLIST:=$(STDOBJ) $(SHL8OBJS) $(SHL8LINKRESO) $(shell $(TYPE) /dev/null $(SHL8LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4048.IF "$(DEFLIB8NAME)"!="" # do not have to include objs 4049 @noop $(assign DEF8OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4050 @noop $(foreach,i,$(DEF8OBJLIST) $(assign ALL8OBJLIST:=$(ALL8OBJLIST:s?$i??))) 4051.ENDIF # "$(DEFLIB8NAME)"!="" 4052 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4053.IF "$(SHL8DEF)"!="" 4054 @echo --input-def $(SHL8DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4055.ELSE 4056 @echo $(SHL8VERSIONOBJ) $(SHL8DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4057.ENDIF 4058 @echo $(ALL8OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4059 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 4060 $(STDOBJ) $(SHL8VERSIONOBJ) $(SHL8DESCRIPTIONOBJ) $(SHL8OBJS) $(SHL8LINKRESO) \ 4061 `$(TYPE) /dev/null $(SHL8LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4062 -Wl,--exclude-libs,ALL,--start-group $(SHL8STDLIBS) -Wl,--end-group \ 4063 $(SHL8STDSHL) $(STDSHL8) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 4064 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4065 .IF "$(VERBOSE)" == "TRUE" 4066 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_8.cmd 4067 .ENDIF 4068 @+source $(MISC)/$(TARGET).$(@:b)_8.cmd 4069.ELSE 4070.IF "$(linkinc)"=="" 4071.IF "$(SHL8USE_EXPORTS)"!="name" 4072.IF "$(USE_DEFFILE)"!="" 4073 $(COMMAND_ECHO)$(SHL8LINKER) @$(mktmp \ 4074 $(SHL8LINKFLAGS) \ 4075 $(LINKFLAGSSHL) \ 4076 $(SHL8STACK) $(SHL8BASEX) \ 4077 -out:$@ \ 4078 -map:$(MISC)/$(@:b).map \ 4079 -def:$(SHL8DEF) \ 4080 $(USE_8IMPLIB) \ 4081 $(STDOBJ) \ 4082 $(SHL8VERSIONOBJ) $(SHL8OBJS) \ 4083 $(SHL8LIBS) \ 4084 $(SHL8STDLIBS) \ 4085 $(SHL8STDSHL) $(STDSHL8) \ 4086 $(SHL8LINKRES) \ 4087 ) 4088# double check if target was really written... still making sense? 4089 @@$(LS) $@ 4090 @echo linking $@.manifest ... 4091.IF "$(VISTA_MANIFEST)"!="" 4092 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4093 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4094.ELSE 4095 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4096.ENDIF # "$(VISTA_MANIFEST)"!="" 4097 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4098 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4099.ELSE # "$(USE_DEFFILE)"!="" 4100 $(COMMAND_ECHO)$(SHL8LINKER) @$(mktmp $(SHL8LINKFLAGS) \ 4101 $(LINKFLAGSSHL) $(SHL8BASEX) \ 4102 $(SHL8STACK) -out:$(SHL8TARGETN) \ 4103 -map:$(MISC)/$(@:B).map \ 4104 $(LB)/$(SHL8IMPLIB).exp \ 4105 $(STDOBJ) \ 4106 $(SHL8OBJS) $(SHL8VERSIONOBJ) \ 4107 $(SHL8LIBS) \ 4108 $(SHL8STDLIBS) \ 4109 $(SHL8STDSHL) $(STDSHL8) \ 4110 $(SHL8LINKRES) \ 4111 ) 4112# double check if target was really written... still making sense? 4113 @@$(LS) $@ 4114 @echo linking $@.manifest ... 4115.IF "$(VISTA_MANIFEST)"!="" 4116 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4117 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4118.ELSE 4119 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4120.ENDIF # "$(VISTA_MANIFEST)"!="" 4121 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4122 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4123.ENDIF # "$(USE_DEFFILE)"!="" 4124.ELSE # "$(SHL8USE_EXPORTS)"!="name" 4125 $(COMMAND_ECHO)$(SHL8LINKER) @$(mktmp $(SHL8LINKFLAGS) \ 4126 $(LINKFLAGSSHL) $(SHL8BASEX) \ 4127 $(SHL8STACK) -out:$(SHL8TARGETN) \ 4128 -map:$(MISC)/$(@:B).map \ 4129 $(USE_8IMPLIB) \ 4130 $(STDOBJ) \ 4131 $(SHL8OBJS) $(SHL8VERSIONOBJ)) \ 4132 $(SHL8LINKLISTPARAM) \ 4133 @$(mktmp $(SHL8STDLIBS) \ 4134 $(SHL8STDSHL) $(STDSHL8) \ 4135 $(SHL8LINKRES) \ 4136 ) 4137 @echo linking $@.manifest ... 4138.IF "$(VISTA_MANIFEST)"!="" 4139 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4140 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4141.ELSE 4142 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4143.ENDIF # "$(VISTA_MANIFEST)"!="" 4144 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4145 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4146.ENDIF # "$(SHL8USE_EXPORTS)"!="name" 4147.ELSE # "$(linkinc)"=="" 4148 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL8TARGET).lnk 4149 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL8TARGET).lst 4150 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 4151 $(SHL8LINKFLAGS) \ 4152 $(LINKFLAGSSHL) $(SHL8BASEX) \ 4153 $(SHL8STACK) $(MAPFILE) \ 4154 -out:$@ \ 4155 $(LB)/$(SHL8IMPLIB).exp \ 4156 $(STDOBJ) \ 4157 $(SHL8OBJS) \ 4158 $(SHL8STDLIBS) \ 4159 $(SHL8STDSHL) $(STDSHL8) \ 4160 $(SHL8LINKRES) \ 4161 ) >> $(MISC)/$(SHL8TARGET).lnk 4162 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL8TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL8TARGET).lnk 4163 $(COMMAND_ECHO)$(SHL8LINKER) @$(MISC)/$(SHL8TARGET).lnk 4164 @echo linking $@.manifest ... 4165.IF "$(VISTA_MANIFEST)"!="" 4166 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4167 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4168.ELSE 4169 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4170.ENDIF # "$(VISTA_MANIFEST)"!="" 4171 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4172 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4173.ENDIF # "$(linkinc)"=="" 4174.ENDIF # "$(COM)"=="GCC" 4175.ENDIF # "$(GUI)" == "WNT" 4176.IF "$(GUI)"=="UNX" 4177.IF "$(OS)"=="MACOSX" 4178 @-$(RM) $(MISC)/$(@:b).list 4179 @-$(RM) $(MISC)/$(TARGET).$(@:b)_8.cmd 4180 @echo $(STDSLO) $(SHL8OBJS:s/.obj/.o/) \ 4181 $(SHL8VERSIONOBJ) \ 4182 `cat /dev/null $(SHL8LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 4183 @echo -n $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 4184 $(SHL8STDLIBS) $(SHL8ARCHIVES) $(SHL8STDSHL) $(STDSHL8) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_8.cmd 4185 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 4186 `cat $(MISC)/$(TARGET).$(@:b)_8.cmd` \ 4187 >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4188 .IF "$(VERBOSE)" == "TRUE" 4189 @cat $(MISC)/$(TARGET).$(@:b)_8.cmd 4190 .ENDIF 4191 @+source $(MISC)/$(TARGET).$(@:b)_8.cmd 4192 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 4193 shl $(SHL8RPATH) $@ 4194.IF "$(SHL8CREATEJNILIB)"!="" 4195 @echo "Making: " $(@:f).jnilib 4196 @macosx-create-bundle $@ 4197.ENDIF # "$(SHL8CREATEJNILIB)"!="" 4198.IF "$(UPDATER)"=="YES" 4199.IF "$(SHL8NOCHECK)"=="" 4200 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) $(SHL8TARGETN) 4201.ENDIF # "$(SHL8NOCHECK)"!="" 4202.ENDIF 4203.ELSE # "$(OS)"=="MACOSX" 4204 @-$(RM) $(MISC)/$(TARGET).$(@:b)_8.cmd 4205 @echo $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8SONAME) $(LINKFLAGSSHL) $(SHL8VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL8OBJS:s/.obj/.o/) \ 4206 $(SHL8VERSIONOBJ) -o $@ \ 4207 `cat /dev/null $(SHL8LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4208 $(SHL8STDLIBS) $(SHL8ARCHIVES) $(SHL8STDSHL) $(STDSHL8) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_8.cmd 4209 .IF "$(VERBOSE)" == "TRUE" 4210 @cat $(MISC)/$(TARGET).$(@:b)_8.cmd 4211 .ENDIF 4212 @+source $(MISC)/$(TARGET).$(@:b)_8.cmd 4213.IF "$(UPDATER)"=="YES" 4214.IF "$(SHL8NOCHECK)"=="" 4215 $(COMMAND_ECHO)-$(RM) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4216 $(COMMAND_ECHO)$(RENAME) $(SHL8TARGETN) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4217.IF "$(VERBOSE)"=="TRUE" 4218 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4219.ELSE 4220 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) -- -s $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4221.ENDIF 4222.ENDIF # "$(SHL8NOCHECK)"!="" 4223.ENDIF # "$(UPDATER)"=="YES" 4224.ENDIF # "$(OS)"=="MACOSX" 4225.IF "$(UNIXVERSIONNAMES)"!="" 4226 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL8TARGETN:b) 4227 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL8TARGETN:f) $(SHL8TARGETN:b) 4228.ENDIF # "$(UNIXVERSIONNAMES)"!="" 4229.IF "$(VERBOSE)" == "TRUE" 4230 @ls -l $@ 4231.ENDIF 4232.ENDIF # "$(GUI)" == "UNX" 4233 4234.IF "$(GUI)" == "OS2" 4235 4236.IF "$(SHL8DEFAULTRES)"!="" 4237 @+-$(RM) $(MISC)/$(SHL8DEFAULTRES:b).rc > $(NULLDEV) 4238.IF "$(SHL8ICON)" != "" 4239 @-+echo 1 ICON $(SHL8ICON) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4240.ENDIF 4241.IF "$(use_shl_versions)" != "" 4242.IF "$(SHL8ADD_VERINFO)"!="" 4243 @-+echo $(EMQ)#include $(EMQ)"$(SHL8ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4244.ENDIF # "$(SHL8ADD_VERINFO)"!="" 4245 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4246# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4247.ENDIF # "$(use_shl_versions)" != "" 4248# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 4249 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL8DEFAULTRES:b).rc 4250.ENDIF # "$(SHL8DEFAULTRES)"!="" 4251 4252.IF "$(SHL8ALLRES)"!="" 4253 $(COMMAND_ECHO)+$(TYPE) $(SHL8ALLRES) > $(SHL8LINKRES) 4254.ENDIF # "$(SHL8ALLRES)"!="" 4255 4256.IF "$(USE_DEFFILE)"!="" 4257 4258 $(COMMAND_ECHO)$(SHL8LINKER) $(SHL8LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 4259 $(SHL8DEF) \ 4260 $(STDOBJ) \ 4261 -L$(LB) \ 4262 -L$(SOLARVERSION)/$(INPATH)/lib \ 4263 $(SHL8OBJS) $(SHL8VERSIONOBJ) \ 4264 $(SHL8LIBS) \ 4265 $(SHL8LINKRES) \ 4266 $(SHL8STDLIBS) \ 4267 $(SHL8STDSHL) $(STDSHL8) 4268 4269.ELSE # "$(USE_DEFFILE)"!="" 4270 4271 $(COMMAND_ECHO)$(SHL8LINKER) $(SHL8LINKFLAGS) \ 4272 $(LINKFLAGSSHL) $(SHL8BASEX) \ 4273 $(SHL8STACK) -o $(SHL8TARGETN) \ 4274 $(SHL8DEF) \ 4275 $(STDOBJ) \ 4276 -L$(LB) \ 4277 -L$(SOLARVERSION)/$(INPATH)/lib \ 4278 $(SHL8OBJS) $(SHL8VERSIONOBJ) \ 4279 $(SHL8LIBS) \ 4280 $(SHL8LINKRES) \ 4281 $(SHL8STDLIBS) \ 4282 $(SHL8STDSHL) $(STDSHL8) 4283 4284.ENDIF # "$(USE_DEFFILE)"!="" 4285 4286 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL8IMPLIBN) $@ 4287 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL8TARGET).lib $@ 4288 4289.IF "$(SHL8TARGET8)" != "$(SHL8TARGET)" 4290 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL8TARGET8).dll 4291.ENDIF 4292 4293.ENDIF # "$(GUI)" == "OS2" 4294 4295.ENDIF # "$(SHL8TARGETN)"!="" 4296 4297# unroll begin 4298 4299.IF "$(SHL9TARGETN)"!="" 4300 4301.IF "$(OS)"=="AIX" 4302SHL9STDLIBS= 4303.ENDIF 4304 4305.IF "$(SHLLINKARCONLY)" != "" 4306SHL9STDLIBS= 4307STDSHL= 4308.ELSE 4309SHL9ARCHIVES= 4310.ENDIF 4311 4312# decide how to link 4313.IF "$(SHL9CODETYPE)"=="C" 4314SHL9LINKER=$(LINKC) 4315SHL9STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 4316SHL9LINKFLAGS+=$(LINKCFLAGS) 4317.ELSE # "$(SHL9CODETYPE)"=="C" 4318SHL9LINKER=$(LINK) 4319SHL9STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 4320SHL9LINKFLAGS+=$(LINKFLAGS) 4321.ENDIF # "$(SHL9CODETYPE)"=="C" 4322 4323SHL9RPATH*=OOO 4324LINKFLAGSRUNPATH_$(SHL9RPATH)*=/ERROR:/Bad_SHL9RPATH_value 4325SHL9LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL9RPATH)) 4326 4327.IF "$(SHL9USE_EXPORTS)"=="" 4328SHL9DEF*=$(MISC)/$(SHL9TARGET).def 4329.ENDIF # "$(SHL9USE_EXPORTS)"=="" 4330 4331EXTRALIBPATHS9=$(EXTRALIBPATHS) 4332.IF "$(UPDATER)"=="YES" 4333.IF "$(SHL9NOCHECK)"=="" 4334.IF "$(SOLAR_STLLIBPATH)"!="" 4335EXTRALIBPATHS9+=-L$(SOLAR_STLLIBPATH) 4336.ENDIF 4337.ENDIF # "$(SHL9NOCHECK)"!="" 4338.ENDIF 4339#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4340#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 4341#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4342 4343.IF "$(L10N_framework)"=="" 4344.IF "$(VERSIONOBJ)"!="" 4345SHL9VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL9TARGET))}$(VERSIONOBJ:f) 4346USE_VERSIONH:=$(INCCOM)/$(SHL9VERSIONOBJ:b).h 4347.IF "$(GUI)" == "UNX" 4348SHL9VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL9TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 4349.ELSE # "$(GUI)" == "UNX" 4350SHL9VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL9TARGET))}$(VERSIONOBJ:f) 4351.ENDIF # "$(GUI)" == "UNX" 4352$(MISC)/$(SHL9VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL9VERSIONOBJ:b).h 4353# $(COPY) $(SOLARENV)/src/version.c $@ 4354 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL9VERSIONOBJ:b).h/ > $@ 4355 4356.INIT : $(SHL9VERSIONOBJDEP) 4357.ENDIF # "$(VERSIONOBJ)"!="" 4358.ENDIF 4359 4360.IF "$(GUI)" != "UNX" 4361.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4362.IF "$(SHL9IMPLIB)" == "" 4363SHL9IMPLIB=i$(TARGET)_t9 4364.ENDIF # "$(SHL9IMPLIB)" == "" 4365.IF "$(COM)" != "GCC" 4366USE_9IMPLIB=-implib:$(LB)/$(SHL9IMPLIB).lib 4367.ENDIF # "$(COM)" != "GCC" 4368SHL9IMPLIBN=$(LB)/$(SHL9IMPLIB).lib 4369ALLTAR : $(SHL9IMPLIBN) 4370 4371.IF "$(USE_DEFFILE)"=="" 4372USE_9IMPLIB_DEPS=$(LB)/$(SHL9IMPLIB).lib 4373.ENDIF # "$(USE_DEFFILE)"=="" 4374.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4375USE_SHL9DEF=$(SHL9DEF) 4376.ELSE # "$(GUI)" != "UNX" 4377USE_SHL9DEF= 4378SHL9DEPN+:=$(SHL9DEPNU) 4379 4380.IF "$(SHL9VERSIONMAP)"=="" 4381# to activate vmaps remove "#" 4382USE_SHL9VERSIONMAP=$(MISC)/$(SHL9TARGET).vmap 4383.ENDIF # "$(SHL9VERSIONMAP)"=="" 4384 4385.IF "$(USE_SHL9VERSIONMAP)"!="" 4386 4387.IF "$(SHL9FILTERFILE)"!="" 4388.IF "$(SHL9VERSIONMAP)"!="" 4389#eine von beiden ist zuviel 4390USE_SHL9VERSIONMAP=$(MISC)/$(SHL9TARGET).vmap 4391$(USE_SHL9VERSIONMAP) .PHONY: 4392 @echo ----------------------------- 4393 @echo you should only use versionmap OR exportfile 4394 @echo ----------------------------- 4395# force_dmake_to_error 4396 4397.ENDIF # "$(SHL9VERSIONMAP)"!="" 4398 4399SHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP) 4400 4401$(USE_SHL9VERSIONMAP): \ 4402 $(SHL9OBJS)\ 4403 $(SHL9LIBS)\ 4404 $(SHL9FILTERFILE) 4405 @$(RM) $@.dump 4406.IF "$(SHL9OBJS)"!="" 4407# dump remaining objects on the fly 4408.IF "$(OS)"=="MACOSX" 4409 @-nm $(SHL9OBJS:s/.obj/.o/) > $@.dump 4410.ELSE 4411 @nm $(SHL9OBJS:s/.obj/.o/) > $@.dump 4412.ENDIF 4413.ENDIF # "$(SHL9OBJS)!"="" 4414 @$(TYPE) /dev/null $(SHL9LIBS:s/.lib/.dump/) >> $@.dump 4415 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL9INTERFACE) -f $(SHL9FILTERFILE) -m $@ 4416 4417.ELSE # "$(SHL9FILTERFILE)"!="" 4418USE_SHL9VERSIONMAP=$(MISC)/$(SHL9TARGET).vmap 4419$(USE_SHL9VERSIONMAP) : 4420.IF "$(VERBOSE)" == "TRUE" 4421 @echo ----------------------------- 4422 @echo SHL9FILTERFILE not set! 4423 @echo ----------------------------- 4424 @$(TOUCH) $@ 4425 @echo dummy file to keep the dependencies for later use. 4426.ELSE 4427 @$(TOUCH) $@ 4428.ENDIF 4429# force_dmake_to_error 4430.ENDIF # "$(SHL9FILTERFILE)"!="" 4431.ELSE # "$(USE_SHL9VERSIONMAP)"!="" 4432 4433#and now for the plain non-generic way... 4434.IF "$(SHL9VERSIONMAP)"!="" 4435USE_SHL9VERSIONMAP=$(MISC)/$(SHL9VERSIONMAP:b)_$(SHL9TARGET)$(SHL9VERSIONMAP:e) 4436SHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP) 4437 4438.IF "$(OS)"=="MACOSX" 4439$(USE_SHL9VERSIONMAP): $(SHL9OBJS) $(SHL9LIBS) 4440.ENDIF 4441 4442# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 4443# even if the $(AWK) part fails: 4444$(USE_SHL9VERSIONMAP) .ERRREMOVE: $(SHL9VERSIONMAP) 4445 @@-$(RM) -f $@ 4446# The following files will only be generated and needed on Mac OS X as temporary files 4447# in order to generate exported symbols list out of Linux/Solaris map files 4448.IF "$(OS)"=="MACOSX" 4449 @-$(RM) -f $@.symregexp >& $(NULLDEV) 4450 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 4451.ENDIF 4452# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 4453# happens if somebody will change it in the future 4454.IF "$(COMID)"=="gcc3" 4455 $(COMMAND_ECHO) tr -d "\015" < $(SHL9VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 4456.ELIF "$(COMNAME)"=="sunpro5" 4457 $(COMMAND_ECHO) tr -d "\015" < $(SHL9VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 4458.ELSE # "$(COMID)"=="gcc3" 4459 $(COMMAND_ECHO) tr -d "\015" < $(SHL9VERSIONMAP) > $@ 4460.ENDIF # "$(COMID)"=="gcc3" 4461 @chmod a+w $@ 4462# Mac OS X post-processing generate an exported symbols list from the generated map file 4463# for details on exported symbols list see man ld on Mac OS X 4464.IF "$(OS)"=="MACOSX" 4465 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 4466 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 4467# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 4468# Extract RTTI symbols from all the objects that will be used to build a shared library 4469.IF "$(SHL9OBJS)"!="" 4470 -echo $(foreach,i,$(SHL9OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 4471.ENDIF 4472.IF "$(SHL9LIBS)"!="" 4473 $(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 4474.ENDIF 4475# overwrite the map file generate into the local output tree with the generated 4476# exported symbols list 4477 cp $@.exported-symbols $@ 4478.ENDIF # .IF "$(OS)"=="MACOSX" 4479.ENDIF # "$(SHL9VERSIONMAP)"!="" 4480.ENDIF # "$(USE_SHL9VERSIONMAP)"!="" 4481.ENDIF # "$(GUI)" != "UNX" 4482 4483.IF "$(UNIXVERSIONNAMES)"!="" 4484.IF "$(OS)"!="MACOSX" 4485.IF "$(GUI)"=="UNX" 4486SHL9SONAME=\"$(SONAME_SWITCH)$(SHL9TARGETN:f)\" 4487.ENDIF # "$(GUI)"!="UNX" 4488.ENDIF # "$(OS)"!="MACOSX" 4489.ENDIF # "$(UNIXVERSIONNAMES)"!="" 4490 4491.IF "$(SHL9RES)"!="" 4492SHL9ALLRES+=$(SHL9RES) 4493SHL9LINKRES*=$(MISC)/$(SHL9TARGET).res 4494SHL9LINKRESO*=$(MISC)/$(SHL9TARGET)_res.o 4495.ENDIF # "$(SHL9RES)"!="" 4496 4497.IF "$(SHL9DEFAULTRES)$(use_shl_versions)"!="" 4498SHL9DEFAULTRES*=$(MISC)/$(SHL9TARGET)_def.res 4499SHL9ALLRES+=$(SHL9DEFAULTRES) 4500SHL9LINKRES*=$(MISC)/$(SHL9TARGET).res 4501SHL9LINKRESO*=$(MISC)/$(SHL9TARGET)_res.o 4502.ENDIF # "$(SHL9DEFAULTRES)$(use_shl_versions)"!="" 4503 4504#.IF "$(SHL9TARGETN)"!="" 4505 4506.IF "$(linkinc)"!="" 4507.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 4508.IF "$(SHL9LIBS)"!="" 4509$(MISC)/$(SHL9TARGET)_linkinc.ls .PHONY: 4510 @@-$(RM) $@ 4511 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL9LIBS) $(i:s/.lib/.lin/)) >> $@ 4512.ENDIF # "$(SHL9LIBS)"!="" 4513.ENDIF 4514 4515LINKINCTARGETS+=$(MISC)/$(SHL9TARGETN:b)_linkinc.ls 4516$(SHL9TARGETN) : $(LINKINCTARGETS) 4517 4518.ELSE 4519.IF "$(SHL9USE_EXPORTS)"=="name" 4520.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 4521.IF "$(COM)"!="GCC" 4522.IF "$(SHL9LIBS)"!="" 4523SHL9LINKLIST=$(MISC)/$(SHL9TARGET)_link.lst 4524SHL9LINKLISTPARAM=@$(SHL9LINKLIST) 4525$(SHL9LINKLIST) : $(SHL9LIBS) 4526 @@-$(RM) $@ 4527 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL9LIBS) $(i:s/.lib/.lin/)) >> $@ 4528.ENDIF # "$(SHL9LIBS)"!="" 4529.ENDIF # "$(COM)"!="GCC" 4530.ENDIF 4531.ENDIF # "$(SHL9USE_EXPORTS)"=="name" 4532 4533$(MISC)/%linkinc.ls: 4534 @echo . > $@ 4535.ENDIF # "$(linkinc)"!="" 4536 4537.IF "$(GUI)" == "OS2" 4538#21/02/2006 YD dll names must be 8.3, invoke fix script 4539#check osl/os2/module.c/osl_loadModule() 4540SHL9TARGET8=$(shell @fix_shl.cmd $(SHL9TARGET)) 4541.ENDIF 4542 4543 4544$(SHL9TARGETN) : \ 4545 $(SHL9OBJS)\ 4546 $(SHL9LIBS)\ 4547 $(USE_9IMPLIB_DEPS)\ 4548 $(USE_SHL9DEF)\ 4549 $(USE_SHL9VERSIONMAP)\ 4550 $(SHL9RES)\ 4551 $(SHL9DEPN) \ 4552 $(SHL9LINKLIST) 4553 @echo "Making: " $(@:f) 4554.IF "$(GUI)" == "WNT" 4555.IF "$(SHL9DEFAULTRES)"!="" 4556 @@-$(RM) $(MISC)/$(SHL9DEFAULTRES:b).rc 4557.IF "$(SHL9ICON)" != "" 4558 @echo 1 ICON $(SHL9ICON) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4559.ENDIF 4560.IF "$(use_shl_versions)" != "" 4561.IF "$(SHL9ADD_VERINFO)"!="" 4562 @echo $(EMQ)#include $(EMQ)"$(SHL9ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4563.ELSE # "$(SHL9ADD_VERINFO)"!="" 4564 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4565 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4566 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4567.ENDIF # "$(SHL9ADD_VERINFO)"!="" 4568 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4569 @echo $(EMQ)#define ORG_NAME $(SHL9TARGET)$(DLLPOST) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4570 @echo $(EMQ)#define INTERNAL_NAME $(SHL9TARGET:b) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4571 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4572.ENDIF # "$(use_shl_versions)" != "" 4573 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL9DEFAULTRES:b).rc 4574.ENDIF # "$(SHL9DEFAULTRES)"!="" 4575.IF "$(SHL9ALLRES)"!="" 4576 $(COMMAND_ECHO)$(TYPE) $(SHL9ALLRES) > $(SHL9LINKRES) 4577.IF "$(COM)"=="GCC" 4578 windres $(SHL9LINKRES) $(SHL9LINKRESO) 4579.ENDIF # "$(COM)"=="GCC" 4580.ENDIF # "$(SHL9ALLRES)"!="" 4581.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 4582 @echo dlltool --dllname $(SHL9TARGET)$(DLLPOST) \ 4583 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_9.cmd 4584 @noop $(assign ALL9OBJLIST:=$(STDOBJ) $(SHL9OBJS) $(SHL9LINKRESO) $(shell $(TYPE) /dev/null $(SHL9LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4585.IF "$(DEFLIB9NAME)"!="" # do not have to include objs 4586 @noop $(assign DEF9OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4587 @noop $(foreach,i,$(DEF9OBJLIST) $(assign ALL9OBJLIST:=$(ALL9OBJLIST:s?$i??))) 4588.ENDIF # "$(DEFLIB9NAME)"!="" 4589 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4590.IF "$(SHL9DEF)"!="" 4591 @echo --input-def $(SHL9DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4592.ELSE 4593 @echo $(SHL9VERSIONOBJ) $(SHL9DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4594.ENDIF 4595 @echo $(ALL9OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4596 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 4597 $(STDOBJ) $(SHL9VERSIONOBJ) $(SHL9DESCRIPTIONOBJ) $(SHL9OBJS) $(SHL9LINKRESO) \ 4598 `$(TYPE) /dev/null $(SHL9LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4599 -Wl,--exclude-libs,ALL,--start-group $(SHL9STDLIBS) -Wl,--end-group \ 4600 $(SHL9STDSHL) $(STDSHL9) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 4601 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4602 .IF "$(VERBOSE)" == "TRUE" 4603 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_9.cmd 4604 .ENDIF 4605 @+source $(MISC)/$(TARGET).$(@:b)_9.cmd 4606.ELSE 4607.IF "$(linkinc)"=="" 4608.IF "$(SHL9USE_EXPORTS)"!="name" 4609.IF "$(USE_DEFFILE)"!="" 4610 $(COMMAND_ECHO)$(SHL9LINKER) @$(mktmp \ 4611 $(SHL9LINKFLAGS) \ 4612 $(LINKFLAGSSHL) \ 4613 $(SHL9STACK) $(SHL9BASEX) \ 4614 -out:$@ \ 4615 -map:$(MISC)/$(@:b).map \ 4616 -def:$(SHL9DEF) \ 4617 $(USE_9IMPLIB) \ 4618 $(STDOBJ) \ 4619 $(SHL9VERSIONOBJ) $(SHL9OBJS) \ 4620 $(SHL9LIBS) \ 4621 $(SHL9STDLIBS) \ 4622 $(SHL9STDSHL) $(STDSHL9) \ 4623 $(SHL9LINKRES) \ 4624 ) 4625# double check if target was really written... still making sense? 4626 @@$(LS) $@ 4627 @echo linking $@.manifest ... 4628.IF "$(VISTA_MANIFEST)"!="" 4629 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4630 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4631.ELSE 4632 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4633.ENDIF # "$(VISTA_MANIFEST)"!="" 4634 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4635 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4636.ELSE # "$(USE_DEFFILE)"!="" 4637 $(COMMAND_ECHO)$(SHL9LINKER) @$(mktmp $(SHL9LINKFLAGS) \ 4638 $(LINKFLAGSSHL) $(SHL9BASEX) \ 4639 $(SHL9STACK) -out:$(SHL9TARGETN) \ 4640 -map:$(MISC)/$(@:B).map \ 4641 $(LB)/$(SHL9IMPLIB).exp \ 4642 $(STDOBJ) \ 4643 $(SHL9OBJS) $(SHL9VERSIONOBJ) \ 4644 $(SHL9LIBS) \ 4645 $(SHL9STDLIBS) \ 4646 $(SHL9STDSHL) $(STDSHL9) \ 4647 $(SHL9LINKRES) \ 4648 ) 4649# double check if target was really written... still making sense? 4650 @@$(LS) $@ 4651 @echo linking $@.manifest ... 4652.IF "$(VISTA_MANIFEST)"!="" 4653 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4654 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4655.ELSE 4656 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4657.ENDIF # "$(VISTA_MANIFEST)"!="" 4658 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4659 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4660.ENDIF # "$(USE_DEFFILE)"!="" 4661.ELSE # "$(SHL9USE_EXPORTS)"!="name" 4662 $(COMMAND_ECHO)$(SHL9LINKER) @$(mktmp $(SHL9LINKFLAGS) \ 4663 $(LINKFLAGSSHL) $(SHL9BASEX) \ 4664 $(SHL9STACK) -out:$(SHL9TARGETN) \ 4665 -map:$(MISC)/$(@:B).map \ 4666 $(USE_9IMPLIB) \ 4667 $(STDOBJ) \ 4668 $(SHL9OBJS) $(SHL9VERSIONOBJ)) \ 4669 $(SHL9LINKLISTPARAM) \ 4670 @$(mktmp $(SHL9STDLIBS) \ 4671 $(SHL9STDSHL) $(STDSHL9) \ 4672 $(SHL9LINKRES) \ 4673 ) 4674 @echo linking $@.manifest ... 4675.IF "$(VISTA_MANIFEST)"!="" 4676 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4677 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4678.ELSE 4679 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4680.ENDIF # "$(VISTA_MANIFEST)"!="" 4681 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4682 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4683.ENDIF # "$(SHL9USE_EXPORTS)"!="name" 4684.ELSE # "$(linkinc)"=="" 4685 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL9TARGET).lnk 4686 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL9TARGET).lst 4687 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 4688 $(SHL9LINKFLAGS) \ 4689 $(LINKFLAGSSHL) $(SHL9BASEX) \ 4690 $(SHL9STACK) $(MAPFILE) \ 4691 -out:$@ \ 4692 $(LB)/$(SHL9IMPLIB).exp \ 4693 $(STDOBJ) \ 4694 $(SHL9OBJS) \ 4695 $(SHL9STDLIBS) \ 4696 $(SHL9STDSHL) $(STDSHL9) \ 4697 $(SHL9LINKRES) \ 4698 ) >> $(MISC)/$(SHL9TARGET).lnk 4699 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL9TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL9TARGET).lnk 4700 $(COMMAND_ECHO)$(SHL9LINKER) @$(MISC)/$(SHL9TARGET).lnk 4701 @echo linking $@.manifest ... 4702.IF "$(VISTA_MANIFEST)"!="" 4703 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4704 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4705.ELSE 4706 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4707.ENDIF # "$(VISTA_MANIFEST)"!="" 4708 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4709 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4710.ENDIF # "$(linkinc)"=="" 4711.ENDIF # "$(COM)"=="GCC" 4712.ENDIF # "$(GUI)" == "WNT" 4713.IF "$(GUI)"=="UNX" 4714.IF "$(OS)"=="MACOSX" 4715 @-$(RM) $(MISC)/$(@:b).list 4716 @-$(RM) $(MISC)/$(TARGET).$(@:b)_9.cmd 4717 @echo $(STDSLO) $(SHL9OBJS:s/.obj/.o/) \ 4718 $(SHL9VERSIONOBJ) \ 4719 `cat /dev/null $(SHL9LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 4720 @echo -n $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 4721 $(SHL9STDLIBS) $(SHL9ARCHIVES) $(SHL9STDSHL) $(STDSHL9) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_9.cmd 4722 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 4723 `cat $(MISC)/$(TARGET).$(@:b)_9.cmd` \ 4724 >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4725 .IF "$(VERBOSE)" == "TRUE" 4726 @cat $(MISC)/$(TARGET).$(@:b)_9.cmd 4727 .ENDIF 4728 @+source $(MISC)/$(TARGET).$(@:b)_9.cmd 4729 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 4730 shl $(SHL9RPATH) $@ 4731.IF "$(SHL9CREATEJNILIB)"!="" 4732 @echo "Making: " $(@:f).jnilib 4733 @macosx-create-bundle $@ 4734.ENDIF # "$(SHL9CREATEJNILIB)"!="" 4735.IF "$(UPDATER)"=="YES" 4736.IF "$(SHL9NOCHECK)"=="" 4737 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) $(SHL9TARGETN) 4738.ENDIF # "$(SHL9NOCHECK)"!="" 4739.ENDIF 4740.ELSE # "$(OS)"=="MACOSX" 4741 @-$(RM) $(MISC)/$(TARGET).$(@:b)_9.cmd 4742 @echo $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9SONAME) $(LINKFLAGSSHL) $(SHL9VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL9OBJS:s/.obj/.o/) \ 4743 $(SHL9VERSIONOBJ) -o $@ \ 4744 `cat /dev/null $(SHL9LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4745 $(SHL9STDLIBS) $(SHL9ARCHIVES) $(SHL9STDSHL) $(STDSHL9) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_9.cmd 4746 .IF "$(VERBOSE)" == "TRUE" 4747 @cat $(MISC)/$(TARGET).$(@:b)_9.cmd 4748 .ENDIF 4749 @+source $(MISC)/$(TARGET).$(@:b)_9.cmd 4750.IF "$(UPDATER)"=="YES" 4751.IF "$(SHL9NOCHECK)"=="" 4752 $(COMMAND_ECHO)-$(RM) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4753 $(COMMAND_ECHO)$(RENAME) $(SHL9TARGETN) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4754.IF "$(VERBOSE)"=="TRUE" 4755 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4756.ELSE 4757 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) -- -s $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4758.ENDIF 4759.ENDIF # "$(SHL9NOCHECK)"!="" 4760.ENDIF # "$(UPDATER)"=="YES" 4761.ENDIF # "$(OS)"=="MACOSX" 4762.IF "$(UNIXVERSIONNAMES)"!="" 4763 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL9TARGETN:b) 4764 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL9TARGETN:f) $(SHL9TARGETN:b) 4765.ENDIF # "$(UNIXVERSIONNAMES)"!="" 4766.IF "$(VERBOSE)" == "TRUE" 4767 @ls -l $@ 4768.ENDIF 4769.ENDIF # "$(GUI)" == "UNX" 4770 4771.IF "$(GUI)" == "OS2" 4772 4773.IF "$(SHL9DEFAULTRES)"!="" 4774 @+-$(RM) $(MISC)/$(SHL9DEFAULTRES:b).rc > $(NULLDEV) 4775.IF "$(SHL9ICON)" != "" 4776 @-+echo 1 ICON $(SHL9ICON) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4777.ENDIF 4778.IF "$(use_shl_versions)" != "" 4779.IF "$(SHL9ADD_VERINFO)"!="" 4780 @-+echo $(EMQ)#include $(EMQ)"$(SHL9ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4781.ENDIF # "$(SHL9ADD_VERINFO)"!="" 4782 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4783# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4784.ENDIF # "$(use_shl_versions)" != "" 4785# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 4786 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL9DEFAULTRES:b).rc 4787.ENDIF # "$(SHL9DEFAULTRES)"!="" 4788 4789.IF "$(SHL9ALLRES)"!="" 4790 $(COMMAND_ECHO)+$(TYPE) $(SHL9ALLRES) > $(SHL9LINKRES) 4791.ENDIF # "$(SHL9ALLRES)"!="" 4792 4793.IF "$(USE_DEFFILE)"!="" 4794 4795 $(COMMAND_ECHO)$(SHL9LINKER) $(SHL9LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 4796 $(SHL9DEF) \ 4797 $(STDOBJ) \ 4798 -L$(LB) \ 4799 -L$(SOLARVERSION)/$(INPATH)/lib \ 4800 $(SHL9OBJS) $(SHL9VERSIONOBJ) \ 4801 $(SHL9LIBS) \ 4802 $(SHL9LINKRES) \ 4803 $(SHL9STDLIBS) \ 4804 $(SHL9STDSHL) $(STDSHL9) 4805 4806.ELSE # "$(USE_DEFFILE)"!="" 4807 4808 $(COMMAND_ECHO)$(SHL9LINKER) $(SHL9LINKFLAGS) \ 4809 $(LINKFLAGSSHL) $(SHL9BASEX) \ 4810 $(SHL9STACK) -o $(SHL9TARGETN) \ 4811 $(SHL9DEF) \ 4812 $(STDOBJ) \ 4813 -L$(LB) \ 4814 -L$(SOLARVERSION)/$(INPATH)/lib \ 4815 $(SHL9OBJS) $(SHL9VERSIONOBJ) \ 4816 $(SHL9LIBS) \ 4817 $(SHL9LINKRES) \ 4818 $(SHL9STDLIBS) \ 4819 $(SHL9STDSHL) $(STDSHL9) 4820 4821.ENDIF # "$(USE_DEFFILE)"!="" 4822 4823 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL9IMPLIBN) $@ 4824 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL9TARGET).lib $@ 4825 4826.IF "$(SHL9TARGET8)" != "$(SHL9TARGET)" 4827 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL9TARGET8).dll 4828.ENDIF 4829 4830.ENDIF # "$(GUI)" == "OS2" 4831 4832.ENDIF # "$(SHL9TARGETN)"!="" 4833 4834# unroll begin 4835 4836.IF "$(SHL10TARGETN)"!="" 4837 4838.IF "$(OS)"=="AIX" 4839SHL10STDLIBS= 4840.ENDIF 4841 4842.IF "$(SHLLINKARCONLY)" != "" 4843SHL10STDLIBS= 4844STDSHL= 4845.ELSE 4846SHL10ARCHIVES= 4847.ENDIF 4848 4849# decide how to link 4850.IF "$(SHL10CODETYPE)"=="C" 4851SHL10LINKER=$(LINKC) 4852SHL10STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 4853SHL10LINKFLAGS+=$(LINKCFLAGS) 4854.ELSE # "$(SHL10CODETYPE)"=="C" 4855SHL10LINKER=$(LINK) 4856SHL10STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 4857SHL10LINKFLAGS+=$(LINKFLAGS) 4858.ENDIF # "$(SHL10CODETYPE)"=="C" 4859 4860SHL10RPATH*=OOO 4861LINKFLAGSRUNPATH_$(SHL10RPATH)*=/ERROR:/Bad_SHL10RPATH_value 4862SHL10LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL10RPATH)) 4863 4864.IF "$(SHL10USE_EXPORTS)"=="" 4865SHL10DEF*=$(MISC)/$(SHL10TARGET).def 4866.ENDIF # "$(SHL10USE_EXPORTS)"=="" 4867 4868EXTRALIBPATHS10=$(EXTRALIBPATHS) 4869.IF "$(UPDATER)"=="YES" 4870.IF "$(SHL10NOCHECK)"=="" 4871.IF "$(SOLAR_STLLIBPATH)"!="" 4872EXTRALIBPATHS10+=-L$(SOLAR_STLLIBPATH) 4873.ENDIF 4874.ENDIF # "$(SHL10NOCHECK)"!="" 4875.ENDIF 4876#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4877#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 4878#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4879 4880.IF "$(L10N_framework)"=="" 4881.IF "$(VERSIONOBJ)"!="" 4882SHL10VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL10TARGET))}$(VERSIONOBJ:f) 4883USE_VERSIONH:=$(INCCOM)/$(SHL10VERSIONOBJ:b).h 4884.IF "$(GUI)" == "UNX" 4885SHL10VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL10TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 4886.ELSE # "$(GUI)" == "UNX" 4887SHL10VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL10TARGET))}$(VERSIONOBJ:f) 4888.ENDIF # "$(GUI)" == "UNX" 4889$(MISC)/$(SHL10VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL10VERSIONOBJ:b).h 4890# $(COPY) $(SOLARENV)/src/version.c $@ 4891 $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL10VERSIONOBJ:b).h/ > $@ 4892 4893.INIT : $(SHL10VERSIONOBJDEP) 4894.ENDIF # "$(VERSIONOBJ)"!="" 4895.ENDIF 4896 4897.IF "$(GUI)" != "UNX" 4898.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4899.IF "$(SHL10IMPLIB)" == "" 4900SHL10IMPLIB=i$(TARGET)_t10 4901.ENDIF # "$(SHL10IMPLIB)" == "" 4902.IF "$(COM)" != "GCC" 4903USE_10IMPLIB=-implib:$(LB)/$(SHL10IMPLIB).lib 4904.ENDIF # "$(COM)" != "GCC" 4905SHL10IMPLIBN=$(LB)/$(SHL10IMPLIB).lib 4906ALLTAR : $(SHL10IMPLIBN) 4907 4908.IF "$(USE_DEFFILE)"=="" 4909USE_10IMPLIB_DEPS=$(LB)/$(SHL10IMPLIB).lib 4910.ENDIF # "$(USE_DEFFILE)"=="" 4911.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4912USE_SHL10DEF=$(SHL10DEF) 4913.ELSE # "$(GUI)" != "UNX" 4914USE_SHL10DEF= 4915SHL10DEPN+:=$(SHL10DEPNU) 4916 4917.IF "$(SHL10VERSIONMAP)"=="" 4918# to activate vmaps remove "#" 4919USE_SHL10VERSIONMAP=$(MISC)/$(SHL10TARGET).vmap 4920.ENDIF # "$(SHL10VERSIONMAP)"=="" 4921 4922.IF "$(USE_SHL10VERSIONMAP)"!="" 4923 4924.IF "$(SHL10FILTERFILE)"!="" 4925.IF "$(SHL10VERSIONMAP)"!="" 4926#eine von beiden ist zuviel 4927USE_SHL10VERSIONMAP=$(MISC)/$(SHL10TARGET).vmap 4928$(USE_SHL10VERSIONMAP) .PHONY: 4929 @echo ----------------------------- 4930 @echo you should only use versionmap OR exportfile 4931 @echo ----------------------------- 4932# force_dmake_to_error 4933 4934.ENDIF # "$(SHL10VERSIONMAP)"!="" 4935 4936SHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP) 4937 4938$(USE_SHL10VERSIONMAP): \ 4939 $(SHL10OBJS)\ 4940 $(SHL10LIBS)\ 4941 $(SHL10FILTERFILE) 4942 @$(RM) $@.dump 4943.IF "$(SHL10OBJS)"!="" 4944# dump remaining objects on the fly 4945.IF "$(OS)"=="MACOSX" 4946 @-nm $(SHL10OBJS:s/.obj/.o/) > $@.dump 4947.ELSE 4948 @nm $(SHL10OBJS:s/.obj/.o/) > $@.dump 4949.ENDIF 4950.ENDIF # "$(SHL10OBJS)!"="" 4951 @$(TYPE) /dev/null $(SHL10LIBS:s/.lib/.dump/) >> $@.dump 4952 $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL10INTERFACE) -f $(SHL10FILTERFILE) -m $@ 4953 4954.ELSE # "$(SHL10FILTERFILE)"!="" 4955USE_SHL10VERSIONMAP=$(MISC)/$(SHL10TARGET).vmap 4956$(USE_SHL10VERSIONMAP) : 4957.IF "$(VERBOSE)" == "TRUE" 4958 @echo ----------------------------- 4959 @echo SHL10FILTERFILE not set! 4960 @echo ----------------------------- 4961 @$(TOUCH) $@ 4962 @echo dummy file to keep the dependencies for later use. 4963.ELSE 4964 @$(TOUCH) $@ 4965.ENDIF 4966# force_dmake_to_error 4967.ENDIF # "$(SHL10FILTERFILE)"!="" 4968.ELSE # "$(USE_SHL10VERSIONMAP)"!="" 4969 4970#and now for the plain non-generic way... 4971.IF "$(SHL10VERSIONMAP)"!="" 4972USE_SHL10VERSIONMAP=$(MISC)/$(SHL10VERSIONMAP:b)_$(SHL10TARGET)$(SHL10VERSIONMAP:e) 4973SHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP) 4974 4975.IF "$(OS)"=="MACOSX" 4976$(USE_SHL10VERSIONMAP): $(SHL10OBJS) $(SHL10LIBS) 4977.ENDIF 4978 4979# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 4980# even if the $(AWK) part fails: 4981$(USE_SHL10VERSIONMAP) .ERRREMOVE: $(SHL10VERSIONMAP) 4982 @@-$(RM) -f $@ 4983# The following files will only be generated and needed on Mac OS X as temporary files 4984# in order to generate exported symbols list out of Linux/Solaris map files 4985.IF "$(OS)"=="MACOSX" 4986 @-$(RM) -f $@.symregexp >& $(NULLDEV) 4987 @-$(RM) -f $@.expsymlist >& $(NULLDEV) 4988.ENDIF 4989# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 4990# happens if somebody will change it in the future 4991.IF "$(COMID)"=="gcc3" 4992 $(COMMAND_ECHO) tr -d "\015" < $(SHL10VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 4993.ELIF "$(COMNAME)"=="sunpro5" 4994 $(COMMAND_ECHO) tr -d "\015" < $(SHL10VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 4995.ELSE # "$(COMID)"=="gcc3" 4996 $(COMMAND_ECHO) tr -d "\015" < $(SHL10VERSIONMAP) > $@ 4997.ENDIF # "$(COMID)"=="gcc3" 4998 @chmod a+w $@ 4999# Mac OS X post-processing generate an exported symbols list from the generated map file 5000# for details on exported symbols list see man ld on Mac OS X 5001.IF "$(OS)"=="MACOSX" 5002 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 5003 @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 5004# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 5005# Extract RTTI symbols from all the objects that will be used to build a shared library 5006.IF "$(SHL10OBJS)"!="" 5007 -echo $(foreach,i,$(SHL10OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 5008.ENDIF 5009.IF "$(SHL10LIBS)"!="" 5010 $(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 5011.ENDIF 5012# overwrite the map file generate into the local output tree with the generated 5013# exported symbols list 5014 cp $@.exported-symbols $@ 5015.ENDIF # .IF "$(OS)"=="MACOSX" 5016.ENDIF # "$(SHL10VERSIONMAP)"!="" 5017.ENDIF # "$(USE_SHL10VERSIONMAP)"!="" 5018.ENDIF # "$(GUI)" != "UNX" 5019 5020.IF "$(UNIXVERSIONNAMES)"!="" 5021.IF "$(OS)"!="MACOSX" 5022.IF "$(GUI)"=="UNX" 5023SHL10SONAME=\"$(SONAME_SWITCH)$(SHL10TARGETN:f)\" 5024.ENDIF # "$(GUI)"!="UNX" 5025.ENDIF # "$(OS)"!="MACOSX" 5026.ENDIF # "$(UNIXVERSIONNAMES)"!="" 5027 5028.IF "$(SHL10RES)"!="" 5029SHL10ALLRES+=$(SHL10RES) 5030SHL10LINKRES*=$(MISC)/$(SHL10TARGET).res 5031SHL10LINKRESO*=$(MISC)/$(SHL10TARGET)_res.o 5032.ENDIF # "$(SHL10RES)"!="" 5033 5034.IF "$(SHL10DEFAULTRES)$(use_shl_versions)"!="" 5035SHL10DEFAULTRES*=$(MISC)/$(SHL10TARGET)_def.res 5036SHL10ALLRES+=$(SHL10DEFAULTRES) 5037SHL10LINKRES*=$(MISC)/$(SHL10TARGET).res 5038SHL10LINKRESO*=$(MISC)/$(SHL10TARGET)_res.o 5039.ENDIF # "$(SHL10DEFAULTRES)$(use_shl_versions)"!="" 5040 5041#.IF "$(SHL10TARGETN)"!="" 5042 5043.IF "$(linkinc)"!="" 5044.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 5045.IF "$(SHL10LIBS)"!="" 5046$(MISC)/$(SHL10TARGET)_linkinc.ls .PHONY: 5047 @@-$(RM) $@ 5048 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL10LIBS) $(i:s/.lib/.lin/)) >> $@ 5049.ENDIF # "$(SHL10LIBS)"!="" 5050.ENDIF 5051 5052LINKINCTARGETS+=$(MISC)/$(SHL10TARGETN:b)_linkinc.ls 5053$(SHL10TARGETN) : $(LINKINCTARGETS) 5054 5055.ELSE 5056.IF "$(SHL10USE_EXPORTS)"=="name" 5057.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 5058.IF "$(COM)"!="GCC" 5059.IF "$(SHL10LIBS)"!="" 5060SHL10LINKLIST=$(MISC)/$(SHL10TARGET)_link.lst 5061SHL10LINKLISTPARAM=@$(SHL10LINKLIST) 5062$(SHL10LINKLIST) : $(SHL10LIBS) 5063 @@-$(RM) $@ 5064 $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL10LIBS) $(i:s/.lib/.lin/)) >> $@ 5065.ENDIF # "$(SHL10LIBS)"!="" 5066.ENDIF # "$(COM)"!="GCC" 5067.ENDIF 5068.ENDIF # "$(SHL10USE_EXPORTS)"=="name" 5069 5070$(MISC)/%linkinc.ls: 5071 @echo . > $@ 5072.ENDIF # "$(linkinc)"!="" 5073 5074.IF "$(GUI)" == "OS2" 5075#21/02/2006 YD dll names must be 8.3, invoke fix script 5076#check osl/os2/module.c/osl_loadModule() 5077SHL10TARGET8=$(shell @fix_shl.cmd $(SHL10TARGET)) 5078.ENDIF 5079 5080 5081$(SHL10TARGETN) : \ 5082 $(SHL10OBJS)\ 5083 $(SHL10LIBS)\ 5084 $(USE_10IMPLIB_DEPS)\ 5085 $(USE_SHL10DEF)\ 5086 $(USE_SHL10VERSIONMAP)\ 5087 $(SHL10RES)\ 5088 $(SHL10DEPN) \ 5089 $(SHL10LINKLIST) 5090 @echo "Making: " $(@:f) 5091.IF "$(GUI)" == "WNT" 5092.IF "$(SHL10DEFAULTRES)"!="" 5093 @@-$(RM) $(MISC)/$(SHL10DEFAULTRES:b).rc 5094.IF "$(SHL10ICON)" != "" 5095 @echo 1 ICON $(SHL10ICON) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5096.ENDIF 5097.IF "$(use_shl_versions)" != "" 5098.IF "$(SHL10ADD_VERINFO)"!="" 5099 @echo $(EMQ)#include $(EMQ)"$(SHL10ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5100.ELSE # "$(SHL10ADD_VERINFO)"!="" 5101 @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5102 @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5103 @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5104.ENDIF # "$(SHL10ADD_VERINFO)"!="" 5105 @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5106 @echo $(EMQ)#define ORG_NAME $(SHL10TARGET)$(DLLPOST) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5107 @echo $(EMQ)#define INTERNAL_NAME $(SHL10TARGET:b) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5108 @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5109.ENDIF # "$(use_shl_versions)" != "" 5110 $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL10DEFAULTRES:b).rc 5111.ENDIF # "$(SHL10DEFAULTRES)"!="" 5112.IF "$(SHL10ALLRES)"!="" 5113 $(COMMAND_ECHO)$(TYPE) $(SHL10ALLRES) > $(SHL10LINKRES) 5114.IF "$(COM)"=="GCC" 5115 windres $(SHL10LINKRES) $(SHL10LINKRESO) 5116.ENDIF # "$(COM)"=="GCC" 5117.ENDIF # "$(SHL10ALLRES)"!="" 5118.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 5119 @echo dlltool --dllname $(SHL10TARGET)$(DLLPOST) \ 5120 --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_10.cmd 5121 @noop $(assign ALL10OBJLIST:=$(STDOBJ) $(SHL10OBJS) $(SHL10LINKRESO) $(shell $(TYPE) /dev/null $(SHL10LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 5122.IF "$(DEFLIB10NAME)"!="" # do not have to include objs 5123 @noop $(assign DEF10OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 5124 @noop $(foreach,i,$(DEF10OBJLIST) $(assign ALL10OBJLIST:=$(ALL10OBJLIST:s?$i??))) 5125.ENDIF # "$(DEFLIB10NAME)"!="" 5126 @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5127.IF "$(SHL10DEF)"!="" 5128 @echo --input-def $(SHL10DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5129.ELSE 5130 @echo $(SHL10VERSIONOBJ) $(SHL10DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5131.ENDIF 5132 @echo $(ALL10OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5133 @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 5134 $(STDOBJ) $(SHL10VERSIONOBJ) $(SHL10DESCRIPTIONOBJ) $(SHL10OBJS) $(SHL10LINKRESO) \ 5135 `$(TYPE) /dev/null $(SHL10LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 5136 -Wl,--exclude-libs,ALL,--start-group $(SHL10STDLIBS) -Wl,--end-group \ 5137 $(SHL10STDSHL) $(STDSHL10) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 5138 -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5139 .IF "$(VERBOSE)" == "TRUE" 5140 @$(TYPE) $(MISC)/$(TARGET).$(@:b)_10.cmd 5141 .ENDIF 5142 @+source $(MISC)/$(TARGET).$(@:b)_10.cmd 5143.ELSE 5144.IF "$(linkinc)"=="" 5145.IF "$(SHL10USE_EXPORTS)"!="name" 5146.IF "$(USE_DEFFILE)"!="" 5147 $(COMMAND_ECHO)$(SHL10LINKER) @$(mktmp \ 5148 $(SHL10LINKFLAGS) \ 5149 $(LINKFLAGSSHL) \ 5150 $(SHL10STACK) $(SHL10BASEX) \ 5151 -out:$@ \ 5152 -map:$(MISC)/$(@:b).map \ 5153 -def:$(SHL10DEF) \ 5154 $(USE_10IMPLIB) \ 5155 $(STDOBJ) \ 5156 $(SHL10VERSIONOBJ) $(SHL10OBJS) \ 5157 $(SHL10LIBS) \ 5158 $(SHL10STDLIBS) \ 5159 $(SHL10STDSHL) $(STDSHL10) \ 5160 $(SHL10LINKRES) \ 5161 ) 5162# double check if target was really written... still making sense? 5163 @@$(LS) $@ 5164 @echo linking $@.manifest ... 5165.IF "$(VISTA_MANIFEST)"!="" 5166 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5167 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5168.ELSE 5169 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5170.ENDIF # "$(VISTA_MANIFEST)"!="" 5171 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5172 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5173.ELSE # "$(USE_DEFFILE)"!="" 5174 $(COMMAND_ECHO)$(SHL10LINKER) @$(mktmp $(SHL10LINKFLAGS) \ 5175 $(LINKFLAGSSHL) $(SHL10BASEX) \ 5176 $(SHL10STACK) -out:$(SHL10TARGETN) \ 5177 -map:$(MISC)/$(@:B).map \ 5178 $(LB)/$(SHL10IMPLIB).exp \ 5179 $(STDOBJ) \ 5180 $(SHL10OBJS) $(SHL10VERSIONOBJ) \ 5181 $(SHL10LIBS) \ 5182 $(SHL10STDLIBS) \ 5183 $(SHL10STDSHL) $(STDSHL10) \ 5184 $(SHL10LINKRES) \ 5185 ) 5186# double check if target was really written... still making sense? 5187 @@$(LS) $@ 5188 @echo linking $@.manifest ... 5189.IF "$(VISTA_MANIFEST)"!="" 5190 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5191 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5192.ELSE 5193 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5194.ENDIF # "$(VISTA_MANIFEST)"!="" 5195 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5196 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5197.ENDIF # "$(USE_DEFFILE)"!="" 5198.ELSE # "$(SHL10USE_EXPORTS)"!="name" 5199 $(COMMAND_ECHO)$(SHL10LINKER) @$(mktmp $(SHL10LINKFLAGS) \ 5200 $(LINKFLAGSSHL) $(SHL10BASEX) \ 5201 $(SHL10STACK) -out:$(SHL10TARGETN) \ 5202 -map:$(MISC)/$(@:B).map \ 5203 $(USE_10IMPLIB) \ 5204 $(STDOBJ) \ 5205 $(SHL10OBJS) $(SHL10VERSIONOBJ)) \ 5206 $(SHL10LINKLISTPARAM) \ 5207 @$(mktmp $(SHL10STDLIBS) \ 5208 $(SHL10STDSHL) $(STDSHL10) \ 5209 $(SHL10LINKRES) \ 5210 ) 5211 @echo linking $@.manifest ... 5212.IF "$(VISTA_MANIFEST)"!="" 5213 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5214 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5215.ELSE 5216 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5217.ENDIF # "$(VISTA_MANIFEST)"!="" 5218 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5219 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5220.ENDIF # "$(SHL10USE_EXPORTS)"!="name" 5221.ELSE # "$(linkinc)"=="" 5222 $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL10TARGET).lnk 5223 $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL10TARGET).lst 5224 $(COMMAND_ECHO)$(TYPE) $(mktmp \ 5225 $(SHL10LINKFLAGS) \ 5226 $(LINKFLAGSSHL) $(SHL10BASEX) \ 5227 $(SHL10STACK) $(MAPFILE) \ 5228 -out:$@ \ 5229 $(LB)/$(SHL10IMPLIB).exp \ 5230 $(STDOBJ) \ 5231 $(SHL10OBJS) \ 5232 $(SHL10STDLIBS) \ 5233 $(SHL10STDSHL) $(STDSHL10) \ 5234 $(SHL10LINKRES) \ 5235 ) >> $(MISC)/$(SHL10TARGET).lnk 5236 $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL10TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL10TARGET).lnk 5237 $(COMMAND_ECHO)$(SHL10LINKER) @$(MISC)/$(SHL10TARGET).lnk 5238 @echo linking $@.manifest ... 5239.IF "$(VISTA_MANIFEST)"!="" 5240 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5241 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5242.ELSE 5243 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5244.ENDIF # "$(VISTA_MANIFEST)"!="" 5245 $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5246 $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5247.ENDIF # "$(linkinc)"=="" 5248.ENDIF # "$(COM)"=="GCC" 5249.ENDIF # "$(GUI)" == "WNT" 5250.IF "$(GUI)"=="UNX" 5251.IF "$(OS)"=="MACOSX" 5252 @-$(RM) $(MISC)/$(@:b).list 5253 @-$(RM) $(MISC)/$(TARGET).$(@:b)_10.cmd 5254 @echo $(STDSLO) $(SHL10OBJS:s/.obj/.o/) \ 5255 $(SHL10VERSIONOBJ) \ 5256 `cat /dev/null $(SHL10LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 5257 @echo -n $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 5258 $(SHL10STDLIBS) $(SHL10ARCHIVES) $(SHL10STDSHL) $(STDSHL10) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_10.cmd 5259 @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 5260 `cat $(MISC)/$(TARGET).$(@:b)_10.cmd` \ 5261 >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5262 .IF "$(VERBOSE)" == "TRUE" 5263 @cat $(MISC)/$(TARGET).$(@:b)_10.cmd 5264 .ENDIF 5265 @+source $(MISC)/$(TARGET).$(@:b)_10.cmd 5266 @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 5267 shl $(SHL10RPATH) $@ 5268.IF "$(SHL10CREATEJNILIB)"!="" 5269 @echo "Making: " $(@:f).jnilib 5270 @macosx-create-bundle $@ 5271.ENDIF # "$(SHL10CREATEJNILIB)"!="" 5272.IF "$(UPDATER)"=="YES" 5273.IF "$(SHL10NOCHECK)"=="" 5274 $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) $(SHL10TARGETN) 5275.ENDIF # "$(SHL10NOCHECK)"!="" 5276.ENDIF 5277.ELSE # "$(OS)"=="MACOSX" 5278 @-$(RM) $(MISC)/$(TARGET).$(@:b)_10.cmd 5279 @echo $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10SONAME) $(LINKFLAGSSHL) $(SHL10VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL10OBJS:s/.obj/.o/) \ 5280 $(SHL10VERSIONOBJ) -o $@ \ 5281 `cat /dev/null $(SHL10LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 5282 $(SHL10STDLIBS) $(SHL10ARCHIVES) $(SHL10STDSHL) $(STDSHL10) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_10.cmd 5283 .IF "$(VERBOSE)" == "TRUE" 5284 @cat $(MISC)/$(TARGET).$(@:b)_10.cmd 5285 .ENDIF 5286 @+source $(MISC)/$(TARGET).$(@:b)_10.cmd 5287.IF "$(UPDATER)"=="YES" 5288.IF "$(SHL10NOCHECK)"=="" 5289 $(COMMAND_ECHO)-$(RM) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5290 $(COMMAND_ECHO)$(RENAME) $(SHL10TARGETN) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5291.IF "$(VERBOSE)"=="TRUE" 5292 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5293.ELSE 5294 $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) -- -s $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5295.ENDIF 5296.ENDIF # "$(SHL10NOCHECK)"!="" 5297.ENDIF # "$(UPDATER)"=="YES" 5298.ENDIF # "$(OS)"=="MACOSX" 5299.IF "$(UNIXVERSIONNAMES)"!="" 5300 $(COMMAND_ECHO)$(RM) $(LB)/$(SHL10TARGETN:b) 5301 $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL10TARGETN:f) $(SHL10TARGETN:b) 5302.ENDIF # "$(UNIXVERSIONNAMES)"!="" 5303.IF "$(VERBOSE)" == "TRUE" 5304 @ls -l $@ 5305.ENDIF 5306.ENDIF # "$(GUI)" == "UNX" 5307 5308.IF "$(GUI)" == "OS2" 5309 5310.IF "$(SHL10DEFAULTRES)"!="" 5311 @+-$(RM) $(MISC)/$(SHL10DEFAULTRES:b).rc > $(NULLDEV) 5312.IF "$(SHL10ICON)" != "" 5313 @-+echo 1 ICON $(SHL10ICON) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5314.ENDIF 5315.IF "$(use_shl_versions)" != "" 5316.IF "$(SHL10ADD_VERINFO)"!="" 5317 @-+echo $(EMQ)#include $(EMQ)"$(SHL10ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5318.ENDIF # "$(SHL10ADD_VERINFO)"!="" 5319 @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5320# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5321.ENDIF # "$(use_shl_versions)" != "" 5322# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 5323 $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL10DEFAULTRES:b).rc 5324.ENDIF # "$(SHL10DEFAULTRES)"!="" 5325 5326.IF "$(SHL10ALLRES)"!="" 5327 $(COMMAND_ECHO)+$(TYPE) $(SHL10ALLRES) > $(SHL10LINKRES) 5328.ENDIF # "$(SHL10ALLRES)"!="" 5329 5330.IF "$(USE_DEFFILE)"!="" 5331 5332 $(COMMAND_ECHO)$(SHL10LINKER) $(SHL10LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 5333 $(SHL10DEF) \ 5334 $(STDOBJ) \ 5335 -L$(LB) \ 5336 -L$(SOLARVERSION)/$(INPATH)/lib \ 5337 $(SHL10OBJS) $(SHL10VERSIONOBJ) \ 5338 $(SHL10LIBS) \ 5339 $(SHL10LINKRES) \ 5340 $(SHL10STDLIBS) \ 5341 $(SHL10STDSHL) $(STDSHL10) 5342 5343.ELSE # "$(USE_DEFFILE)"!="" 5344 5345 $(COMMAND_ECHO)$(SHL10LINKER) $(SHL10LINKFLAGS) \ 5346 $(LINKFLAGSSHL) $(SHL10BASEX) \ 5347 $(SHL10STACK) -o $(SHL10TARGETN) \ 5348 $(SHL10DEF) \ 5349 $(STDOBJ) \ 5350 -L$(LB) \ 5351 -L$(SOLARVERSION)/$(INPATH)/lib \ 5352 $(SHL10OBJS) $(SHL10VERSIONOBJ) \ 5353 $(SHL10LIBS) \ 5354 $(SHL10LINKRES) \ 5355 $(SHL10STDLIBS) \ 5356 $(SHL10STDSHL) $(STDSHL10) 5357 5358.ENDIF # "$(USE_DEFFILE)"!="" 5359 5360 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(SHL10IMPLIBN) $@ 5361 $(COMMAND_ECHO)+$(IMPLIB) -p256 $(IMPLIBFLAGS) $(LB)/$(SHL10TARGET).lib $@ 5362 5363.IF "$(SHL10TARGET8)" != "$(SHL10TARGET)" 5364 $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL10TARGET8).dll 5365.ENDIF 5366 5367.ENDIF # "$(GUI)" == "OS2" 5368 5369.ENDIF # "$(SHL10TARGETN)"!="" 5370 5371# unroll begin 5372 5373.IF "$(SHL1IMPLIBN)" != "" 5374 5375.IF "$(UPDATER)"=="YES" 5376USELIB1DEPN+=$(SHL1LIBS) 5377.ELSE 5378.ENDIF 5379 5380.IF "$(USE_DEFFILE)"!="" 5381USE_SHL1TARGET=$(SHL1TARGETN) 5382.ENDIF 5383 5384.IF "$(GUI)" != "UNX" 5385$(SHL1IMPLIBN): \ 5386 $(SHL1DEF) \ 5387 $(USE_SHL1TARGET) \ 5388 $(USELIB1DEPN) \ 5389 $(USELIBDEPN) 5390.ELSE 5391$(SHL1IMPLIBN): \ 5392 $(SHL1LIBS) 5393.ENDIF 5394 @echo "Making: " $(@:f) 5395.IF "$(GUI)" == "WNT" 5396.IF "$(COM)"=="GCC" 5397 @echo no ImportLibs on mingw 5398 @-$(RM) $@ 5399 @$(TOUCH) $@ 5400.ELSE # "$(COM)=="GCC" 5401# bei use_deffile implib von linker erstellt 5402.IF "$(USE_DEFFILE)"=="" 5403 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL1IMPLIBN) \ 5404 -def:$(SHL1DEF) ) 5405.ELSE # "$(USE_DEFFILE)=="" 5406 @echo build of $(SHL1TARGETN) creates $@ 5407 @$(TOUCH) $@ 5408.ENDIF # "$(USE_DEFFILE)=="" 5409.ENDIF # "$(COM)"=="GCC" 5410 5411.ELIF "$(GUI)" == "OS2" 5412 5413# touch creates an empty file, but this is not good for emxomfar, so 5414# create a dummy lib here 5415 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL1VERSIONOBJ) 5416 +@echo build of $(SHL1TARGETN) creates $@ 5417 5418.ELSE 5419 @echo no ImportLibs on Mac and *ix 5420 @-$(RM) $@ 5421 @$(TOUCH) $@ 5422.ENDIF 5423.ENDIF 5424 5425# unroll begin 5426 5427.IF "$(SHL2IMPLIBN)" != "" 5428 5429.IF "$(UPDATER)"=="YES" 5430USELIB2DEPN+=$(SHL2LIBS) 5431.ELSE 5432.ENDIF 5433 5434.IF "$(USE_DEFFILE)"!="" 5435USE_SHL2TARGET=$(SHL2TARGETN) 5436.ENDIF 5437 5438.IF "$(GUI)" != "UNX" 5439$(SHL2IMPLIBN): \ 5440 $(SHL2DEF) \ 5441 $(USE_SHL2TARGET) \ 5442 $(USELIB2DEPN) \ 5443 $(USELIBDEPN) 5444.ELSE 5445$(SHL2IMPLIBN): \ 5446 $(SHL2LIBS) 5447.ENDIF 5448 @echo "Making: " $(@:f) 5449.IF "$(GUI)" == "WNT" 5450.IF "$(COM)"=="GCC" 5451 @echo no ImportLibs on mingw 5452 @-$(RM) $@ 5453 @$(TOUCH) $@ 5454.ELSE # "$(COM)=="GCC" 5455# bei use_deffile implib von linker erstellt 5456.IF "$(USE_DEFFILE)"=="" 5457 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL2IMPLIBN) \ 5458 -def:$(SHL2DEF) ) 5459.ELSE # "$(USE_DEFFILE)=="" 5460 @echo build of $(SHL2TARGETN) creates $@ 5461 @$(TOUCH) $@ 5462.ENDIF # "$(USE_DEFFILE)=="" 5463.ENDIF # "$(COM)"=="GCC" 5464 5465.ELIF "$(GUI)" == "OS2" 5466 5467# touch creates an empty file, but this is not good for emxomfar, so 5468# create a dummy lib here 5469 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL2VERSIONOBJ) 5470 +@echo build of $(SHL2TARGETN) creates $@ 5471 5472.ELSE 5473 @echo no ImportLibs on Mac and *ix 5474 @-$(RM) $@ 5475 @$(TOUCH) $@ 5476.ENDIF 5477.ENDIF 5478 5479# unroll begin 5480 5481.IF "$(SHL3IMPLIBN)" != "" 5482 5483.IF "$(UPDATER)"=="YES" 5484USELIB3DEPN+=$(SHL3LIBS) 5485.ELSE 5486.ENDIF 5487 5488.IF "$(USE_DEFFILE)"!="" 5489USE_SHL3TARGET=$(SHL3TARGETN) 5490.ENDIF 5491 5492.IF "$(GUI)" != "UNX" 5493$(SHL3IMPLIBN): \ 5494 $(SHL3DEF) \ 5495 $(USE_SHL3TARGET) \ 5496 $(USELIB3DEPN) \ 5497 $(USELIBDEPN) 5498.ELSE 5499$(SHL3IMPLIBN): \ 5500 $(SHL3LIBS) 5501.ENDIF 5502 @echo "Making: " $(@:f) 5503.IF "$(GUI)" == "WNT" 5504.IF "$(COM)"=="GCC" 5505 @echo no ImportLibs on mingw 5506 @-$(RM) $@ 5507 @$(TOUCH) $@ 5508.ELSE # "$(COM)=="GCC" 5509# bei use_deffile implib von linker erstellt 5510.IF "$(USE_DEFFILE)"=="" 5511 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL3IMPLIBN) \ 5512 -def:$(SHL3DEF) ) 5513.ELSE # "$(USE_DEFFILE)=="" 5514 @echo build of $(SHL3TARGETN) creates $@ 5515 @$(TOUCH) $@ 5516.ENDIF # "$(USE_DEFFILE)=="" 5517.ENDIF # "$(COM)"=="GCC" 5518 5519.ELIF "$(GUI)" == "OS2" 5520 5521# touch creates an empty file, but this is not good for emxomfar, so 5522# create a dummy lib here 5523 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL3VERSIONOBJ) 5524 +@echo build of $(SHL3TARGETN) creates $@ 5525 5526.ELSE 5527 @echo no ImportLibs on Mac and *ix 5528 @-$(RM) $@ 5529 @$(TOUCH) $@ 5530.ENDIF 5531.ENDIF 5532 5533# unroll begin 5534 5535.IF "$(SHL4IMPLIBN)" != "" 5536 5537.IF "$(UPDATER)"=="YES" 5538USELIB4DEPN+=$(SHL4LIBS) 5539.ELSE 5540.ENDIF 5541 5542.IF "$(USE_DEFFILE)"!="" 5543USE_SHL4TARGET=$(SHL4TARGETN) 5544.ENDIF 5545 5546.IF "$(GUI)" != "UNX" 5547$(SHL4IMPLIBN): \ 5548 $(SHL4DEF) \ 5549 $(USE_SHL4TARGET) \ 5550 $(USELIB4DEPN) \ 5551 $(USELIBDEPN) 5552.ELSE 5553$(SHL4IMPLIBN): \ 5554 $(SHL4LIBS) 5555.ENDIF 5556 @echo "Making: " $(@:f) 5557.IF "$(GUI)" == "WNT" 5558.IF "$(COM)"=="GCC" 5559 @echo no ImportLibs on mingw 5560 @-$(RM) $@ 5561 @$(TOUCH) $@ 5562.ELSE # "$(COM)=="GCC" 5563# bei use_deffile implib von linker erstellt 5564.IF "$(USE_DEFFILE)"=="" 5565 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL4IMPLIBN) \ 5566 -def:$(SHL4DEF) ) 5567.ELSE # "$(USE_DEFFILE)=="" 5568 @echo build of $(SHL4TARGETN) creates $@ 5569 @$(TOUCH) $@ 5570.ENDIF # "$(USE_DEFFILE)=="" 5571.ENDIF # "$(COM)"=="GCC" 5572 5573.ELIF "$(GUI)" == "OS2" 5574 5575# touch creates an empty file, but this is not good for emxomfar, so 5576# create a dummy lib here 5577 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL4VERSIONOBJ) 5578 +@echo build of $(SHL4TARGETN) creates $@ 5579 5580.ELSE 5581 @echo no ImportLibs on Mac and *ix 5582 @-$(RM) $@ 5583 @$(TOUCH) $@ 5584.ENDIF 5585.ENDIF 5586 5587# unroll begin 5588 5589.IF "$(SHL5IMPLIBN)" != "" 5590 5591.IF "$(UPDATER)"=="YES" 5592USELIB5DEPN+=$(SHL5LIBS) 5593.ELSE 5594.ENDIF 5595 5596.IF "$(USE_DEFFILE)"!="" 5597USE_SHL5TARGET=$(SHL5TARGETN) 5598.ENDIF 5599 5600.IF "$(GUI)" != "UNX" 5601$(SHL5IMPLIBN): \ 5602 $(SHL5DEF) \ 5603 $(USE_SHL5TARGET) \ 5604 $(USELIB5DEPN) \ 5605 $(USELIBDEPN) 5606.ELSE 5607$(SHL5IMPLIBN): \ 5608 $(SHL5LIBS) 5609.ENDIF 5610 @echo "Making: " $(@:f) 5611.IF "$(GUI)" == "WNT" 5612.IF "$(COM)"=="GCC" 5613 @echo no ImportLibs on mingw 5614 @-$(RM) $@ 5615 @$(TOUCH) $@ 5616.ELSE # "$(COM)=="GCC" 5617# bei use_deffile implib von linker erstellt 5618.IF "$(USE_DEFFILE)"=="" 5619 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL5IMPLIBN) \ 5620 -def:$(SHL5DEF) ) 5621.ELSE # "$(USE_DEFFILE)=="" 5622 @echo build of $(SHL5TARGETN) creates $@ 5623 @$(TOUCH) $@ 5624.ENDIF # "$(USE_DEFFILE)=="" 5625.ENDIF # "$(COM)"=="GCC" 5626 5627.ELIF "$(GUI)" == "OS2" 5628 5629# touch creates an empty file, but this is not good for emxomfar, so 5630# create a dummy lib here 5631 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL5VERSIONOBJ) 5632 +@echo build of $(SHL5TARGETN) creates $@ 5633 5634.ELSE 5635 @echo no ImportLibs on Mac and *ix 5636 @-$(RM) $@ 5637 @$(TOUCH) $@ 5638.ENDIF 5639.ENDIF 5640 5641# unroll begin 5642 5643.IF "$(SHL6IMPLIBN)" != "" 5644 5645.IF "$(UPDATER)"=="YES" 5646USELIB6DEPN+=$(SHL6LIBS) 5647.ELSE 5648.ENDIF 5649 5650.IF "$(USE_DEFFILE)"!="" 5651USE_SHL6TARGET=$(SHL6TARGETN) 5652.ENDIF 5653 5654.IF "$(GUI)" != "UNX" 5655$(SHL6IMPLIBN): \ 5656 $(SHL6DEF) \ 5657 $(USE_SHL6TARGET) \ 5658 $(USELIB6DEPN) \ 5659 $(USELIBDEPN) 5660.ELSE 5661$(SHL6IMPLIBN): \ 5662 $(SHL6LIBS) 5663.ENDIF 5664 @echo "Making: " $(@:f) 5665.IF "$(GUI)" == "WNT" 5666.IF "$(COM)"=="GCC" 5667 @echo no ImportLibs on mingw 5668 @-$(RM) $@ 5669 @$(TOUCH) $@ 5670.ELSE # "$(COM)=="GCC" 5671# bei use_deffile implib von linker erstellt 5672.IF "$(USE_DEFFILE)"=="" 5673 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL6IMPLIBN) \ 5674 -def:$(SHL6DEF) ) 5675.ELSE # "$(USE_DEFFILE)=="" 5676 @echo build of $(SHL6TARGETN) creates $@ 5677 @$(TOUCH) $@ 5678.ENDIF # "$(USE_DEFFILE)=="" 5679.ENDIF # "$(COM)"=="GCC" 5680 5681.ELIF "$(GUI)" == "OS2" 5682 5683# touch creates an empty file, but this is not good for emxomfar, so 5684# create a dummy lib here 5685 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL6VERSIONOBJ) 5686 +@echo build of $(SHL6TARGETN) creates $@ 5687 5688.ELSE 5689 @echo no ImportLibs on Mac and *ix 5690 @-$(RM) $@ 5691 @$(TOUCH) $@ 5692.ENDIF 5693.ENDIF 5694 5695# unroll begin 5696 5697.IF "$(SHL7IMPLIBN)" != "" 5698 5699.IF "$(UPDATER)"=="YES" 5700USELIB7DEPN+=$(SHL7LIBS) 5701.ELSE 5702.ENDIF 5703 5704.IF "$(USE_DEFFILE)"!="" 5705USE_SHL7TARGET=$(SHL7TARGETN) 5706.ENDIF 5707 5708.IF "$(GUI)" != "UNX" 5709$(SHL7IMPLIBN): \ 5710 $(SHL7DEF) \ 5711 $(USE_SHL7TARGET) \ 5712 $(USELIB7DEPN) \ 5713 $(USELIBDEPN) 5714.ELSE 5715$(SHL7IMPLIBN): \ 5716 $(SHL7LIBS) 5717.ENDIF 5718 @echo "Making: " $(@:f) 5719.IF "$(GUI)" == "WNT" 5720.IF "$(COM)"=="GCC" 5721 @echo no ImportLibs on mingw 5722 @-$(RM) $@ 5723 @$(TOUCH) $@ 5724.ELSE # "$(COM)=="GCC" 5725# bei use_deffile implib von linker erstellt 5726.IF "$(USE_DEFFILE)"=="" 5727 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL7IMPLIBN) \ 5728 -def:$(SHL7DEF) ) 5729.ELSE # "$(USE_DEFFILE)=="" 5730 @echo build of $(SHL7TARGETN) creates $@ 5731 @$(TOUCH) $@ 5732.ENDIF # "$(USE_DEFFILE)=="" 5733.ENDIF # "$(COM)"=="GCC" 5734 5735.ELIF "$(GUI)" == "OS2" 5736 5737# touch creates an empty file, but this is not good for emxomfar, so 5738# create a dummy lib here 5739 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL7VERSIONOBJ) 5740 +@echo build of $(SHL7TARGETN) creates $@ 5741 5742.ELSE 5743 @echo no ImportLibs on Mac and *ix 5744 @-$(RM) $@ 5745 @$(TOUCH) $@ 5746.ENDIF 5747.ENDIF 5748 5749# unroll begin 5750 5751.IF "$(SHL8IMPLIBN)" != "" 5752 5753.IF "$(UPDATER)"=="YES" 5754USELIB8DEPN+=$(SHL8LIBS) 5755.ELSE 5756.ENDIF 5757 5758.IF "$(USE_DEFFILE)"!="" 5759USE_SHL8TARGET=$(SHL8TARGETN) 5760.ENDIF 5761 5762.IF "$(GUI)" != "UNX" 5763$(SHL8IMPLIBN): \ 5764 $(SHL8DEF) \ 5765 $(USE_SHL8TARGET) \ 5766 $(USELIB8DEPN) \ 5767 $(USELIBDEPN) 5768.ELSE 5769$(SHL8IMPLIBN): \ 5770 $(SHL8LIBS) 5771.ENDIF 5772 @echo "Making: " $(@:f) 5773.IF "$(GUI)" == "WNT" 5774.IF "$(COM)"=="GCC" 5775 @echo no ImportLibs on mingw 5776 @-$(RM) $@ 5777 @$(TOUCH) $@ 5778.ELSE # "$(COM)=="GCC" 5779# bei use_deffile implib von linker erstellt 5780.IF "$(USE_DEFFILE)"=="" 5781 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL8IMPLIBN) \ 5782 -def:$(SHL8DEF) ) 5783.ELSE # "$(USE_DEFFILE)=="" 5784 @echo build of $(SHL8TARGETN) creates $@ 5785 @$(TOUCH) $@ 5786.ENDIF # "$(USE_DEFFILE)=="" 5787.ENDIF # "$(COM)"=="GCC" 5788 5789.ELIF "$(GUI)" == "OS2" 5790 5791# touch creates an empty file, but this is not good for emxomfar, so 5792# create a dummy lib here 5793 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL8VERSIONOBJ) 5794 +@echo build of $(SHL8TARGETN) creates $@ 5795 5796.ELSE 5797 @echo no ImportLibs on Mac and *ix 5798 @-$(RM) $@ 5799 @$(TOUCH) $@ 5800.ENDIF 5801.ENDIF 5802 5803# unroll begin 5804 5805.IF "$(SHL9IMPLIBN)" != "" 5806 5807.IF "$(UPDATER)"=="YES" 5808USELIB9DEPN+=$(SHL9LIBS) 5809.ELSE 5810.ENDIF 5811 5812.IF "$(USE_DEFFILE)"!="" 5813USE_SHL9TARGET=$(SHL9TARGETN) 5814.ENDIF 5815 5816.IF "$(GUI)" != "UNX" 5817$(SHL9IMPLIBN): \ 5818 $(SHL9DEF) \ 5819 $(USE_SHL9TARGET) \ 5820 $(USELIB9DEPN) \ 5821 $(USELIBDEPN) 5822.ELSE 5823$(SHL9IMPLIBN): \ 5824 $(SHL9LIBS) 5825.ENDIF 5826 @echo "Making: " $(@:f) 5827.IF "$(GUI)" == "WNT" 5828.IF "$(COM)"=="GCC" 5829 @echo no ImportLibs on mingw 5830 @-$(RM) $@ 5831 @$(TOUCH) $@ 5832.ELSE # "$(COM)=="GCC" 5833# bei use_deffile implib von linker erstellt 5834.IF "$(USE_DEFFILE)"=="" 5835 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL9IMPLIBN) \ 5836 -def:$(SHL9DEF) ) 5837.ELSE # "$(USE_DEFFILE)=="" 5838 @echo build of $(SHL9TARGETN) creates $@ 5839 @$(TOUCH) $@ 5840.ENDIF # "$(USE_DEFFILE)=="" 5841.ENDIF # "$(COM)"=="GCC" 5842 5843.ELIF "$(GUI)" == "OS2" 5844 5845# touch creates an empty file, but this is not good for emxomfar, so 5846# create a dummy lib here 5847 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL9VERSIONOBJ) 5848 +@echo build of $(SHL9TARGETN) creates $@ 5849 5850.ELSE 5851 @echo no ImportLibs on Mac and *ix 5852 @-$(RM) $@ 5853 @$(TOUCH) $@ 5854.ENDIF 5855.ENDIF 5856 5857# unroll begin 5858 5859.IF "$(SHL10IMPLIBN)" != "" 5860 5861.IF "$(UPDATER)"=="YES" 5862USELIB10DEPN+=$(SHL10LIBS) 5863.ELSE 5864.ENDIF 5865 5866.IF "$(USE_DEFFILE)"!="" 5867USE_SHL10TARGET=$(SHL10TARGETN) 5868.ENDIF 5869 5870.IF "$(GUI)" != "UNX" 5871$(SHL10IMPLIBN): \ 5872 $(SHL10DEF) \ 5873 $(USE_SHL10TARGET) \ 5874 $(USELIB10DEPN) \ 5875 $(USELIBDEPN) 5876.ELSE 5877$(SHL10IMPLIBN): \ 5878 $(SHL10LIBS) 5879.ENDIF 5880 @echo "Making: " $(@:f) 5881.IF "$(GUI)" == "WNT" 5882.IF "$(COM)"=="GCC" 5883 @echo no ImportLibs on mingw 5884 @-$(RM) $@ 5885 @$(TOUCH) $@ 5886.ELSE # "$(COM)=="GCC" 5887# bei use_deffile implib von linker erstellt 5888.IF "$(USE_DEFFILE)"=="" 5889 $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL10IMPLIBN) \ 5890 -def:$(SHL10DEF) ) 5891.ELSE # "$(USE_DEFFILE)=="" 5892 @echo build of $(SHL10TARGETN) creates $@ 5893 @$(TOUCH) $@ 5894.ENDIF # "$(USE_DEFFILE)=="" 5895.ENDIF # "$(COM)"=="GCC" 5896 5897.ELIF "$(GUI)" == "OS2" 5898 5899# touch creates an empty file, but this is not good for emxomfar, so 5900# create a dummy lib here 5901 $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL10VERSIONOBJ) 5902 +@echo build of $(SHL10TARGETN) creates $@ 5903 5904.ELSE 5905 @echo no ImportLibs on Mac and *ix 5906 @-$(RM) $@ 5907 @$(TOUCH) $@ 5908.ENDIF 5909.ENDIF 5910 5911