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