1*b1cdbd2cSJim Jagielski# ************************************************************* 2*b1cdbd2cSJim Jagielski# 3*b1cdbd2cSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski# or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski# distributed with this work for additional information 6*b1cdbd2cSJim Jagielski# regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski# to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski# "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski# with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski# 11*b1cdbd2cSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski# 13*b1cdbd2cSJim Jagielski# Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski# software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski# KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski# specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski# under the License. 19*b1cdbd2cSJim Jagielski# 20*b1cdbd2cSJim Jagielski# ************************************************************* 21*b1cdbd2cSJim Jagielski# unroll begin 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski.IF "$(SHL1TARGETN)"!="" 24*b1cdbd2cSJim Jagielski 25*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 26*b1cdbd2cSJim JagielskiSHL1STDLIBS= 27*b1cdbd2cSJim Jagielski.ENDIF 28*b1cdbd2cSJim Jagielski 29*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 30*b1cdbd2cSJim JagielskiSHL1STDLIBS= 31*b1cdbd2cSJim JagielskiSTDSHL= 32*b1cdbd2cSJim Jagielski.ELSE 33*b1cdbd2cSJim JagielskiSHL1ARCHIVES= 34*b1cdbd2cSJim Jagielski.ENDIF 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski# decide how to link 37*b1cdbd2cSJim Jagielski.IF "$(SHL1CODETYPE)"=="C" 38*b1cdbd2cSJim JagielskiSHL1LINKER=$(LINKC) 39*b1cdbd2cSJim JagielskiSHL1STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 40*b1cdbd2cSJim JagielskiSHL1LINKFLAGS+=$(LINKCFLAGS) 41*b1cdbd2cSJim Jagielski.ELSE # "$(SHL1CODETYPE)"=="C" 42*b1cdbd2cSJim JagielskiSHL1LINKER=$(LINK) 43*b1cdbd2cSJim JagielskiSHL1STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 44*b1cdbd2cSJim JagielskiSHL1LINKFLAGS+=$(LINKFLAGS) 45*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1CODETYPE)"=="C" 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim JagielskiSHL1RPATH*=OOO 48*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL1RPATH)*=/ERROR:/Bad_SHL1RPATH_value 49*b1cdbd2cSJim JagielskiSHL1LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL1RPATH)) 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski.IF "$(SHL1USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 52*b1cdbd2cSJim JagielskiSHL1DEF*=$(MISC)/$(SHL1TARGET).def 53*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1USE_EXPORTS)"=="" 54*b1cdbd2cSJim Jagielski 55*b1cdbd2cSJim JagielskiEXTRALIBPATHS1=$(EXTRALIBPATHS) 56*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 57*b1cdbd2cSJim Jagielski.IF "$(SHL1NOCHECK)"=="" 58*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 59*b1cdbd2cSJim JagielskiEXTRALIBPATHS1+=-L$(SOLAR_STLLIBPATH) 60*b1cdbd2cSJim Jagielski.ENDIF 61*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1NOCHECK)"!="" 62*b1cdbd2cSJim Jagielski.ENDIF 63*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 64*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 65*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 68*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 69*b1cdbd2cSJim JagielskiSHL1VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL1TARGET))}$(VERSIONOBJ:f) 70*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL1VERSIONOBJ:b).h 71*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 72*b1cdbd2cSJim JagielskiSHL1VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL1TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 73*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 74*b1cdbd2cSJim JagielskiSHL1VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL1TARGET))}$(VERSIONOBJ:f) 75*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 76*b1cdbd2cSJim Jagielski$(MISC)/$(SHL1VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL1VERSIONOBJ:b).h 77*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 78*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL1VERSIONOBJ:b).h/ > $@ 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski.INIT : $(SHL1VERSIONOBJDEP) 81*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 82*b1cdbd2cSJim Jagielski.ENDIF 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 85*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 86*b1cdbd2cSJim Jagielski.IF "$(SHL1IMPLIB)" == "" 87*b1cdbd2cSJim JagielskiSHL1IMPLIB=i$(TARGET)_t1 88*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1IMPLIB)" == "" 89*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 90*b1cdbd2cSJim JagielskiUSE_1IMPLIB=-implib:$(LB)/$(SHL1IMPLIB).lib 91*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 92*b1cdbd2cSJim JagielskiSHL1IMPLIBN=$(LB)/$(SHL1IMPLIB).lib 93*b1cdbd2cSJim JagielskiALLTAR : $(SHL1IMPLIBN) 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 96*b1cdbd2cSJim JagielskiUSE_1IMPLIB_DEPS=$(LB)/$(SHL1IMPLIB).lib 97*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 98*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 99*b1cdbd2cSJim JagielskiUSE_SHL1DEF=$(SHL1DEF) 100*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 101*b1cdbd2cSJim JagielskiUSE_SHL1DEF= 102*b1cdbd2cSJim JagielskiSHL1DEPN+:=$(SHL1DEPNU) 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski.IF "$(SHL1VERSIONMAP)"=="" 105*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 106*b1cdbd2cSJim JagielskiUSE_SHL1VERSIONMAP=$(MISC)/$(SHL1TARGET).vmap 107*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1VERSIONMAP)"=="" 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski.IF "$(USE_SHL1VERSIONMAP)"!="" 110*b1cdbd2cSJim Jagielski 111*b1cdbd2cSJim Jagielski.IF "$(SHL1FILTERFILE)"!="" 112*b1cdbd2cSJim Jagielski.IF "$(SHL1VERSIONMAP)"!="" 113*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 114*b1cdbd2cSJim JagielskiUSE_SHL1VERSIONMAP=$(MISC)/$(SHL1TARGET).vmap 115*b1cdbd2cSJim Jagielski$(USE_SHL1VERSIONMAP) .PHONY: 116*b1cdbd2cSJim Jagielski @echo ----------------------------- 117*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 118*b1cdbd2cSJim Jagielski @echo ----------------------------- 119*b1cdbd2cSJim Jagielski# force_dmake_to_error 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1VERSIONMAP)"!="" 122*b1cdbd2cSJim Jagielski 123*b1cdbd2cSJim JagielskiSHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP) 124*b1cdbd2cSJim Jagielski 125*b1cdbd2cSJim Jagielski$(USE_SHL1VERSIONMAP): \ 126*b1cdbd2cSJim Jagielski $(SHL1OBJS)\ 127*b1cdbd2cSJim Jagielski $(SHL1LIBS)\ 128*b1cdbd2cSJim Jagielski $(SHL1FILTERFILE) 129*b1cdbd2cSJim Jagielski @$(RM) $@.dump 130*b1cdbd2cSJim Jagielski.IF "$(SHL1OBJS)"!="" 131*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 132*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 133*b1cdbd2cSJim Jagielski @-nm $(SHL1OBJS:s/.obj/.o/) > $@.dump 134*b1cdbd2cSJim Jagielski.ELSE 135*b1cdbd2cSJim Jagielski @nm $(SHL1OBJS:s/.obj/.o/) > $@.dump 136*b1cdbd2cSJim Jagielski.ENDIF 137*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1OBJS)!"="" 138*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL1LIBS:s/.lib/.dump/) >> $@.dump 139*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL1INTERFACE) -f $(SHL1FILTERFILE) -m $@ 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski.ELSE # "$(SHL1FILTERFILE)"!="" 142*b1cdbd2cSJim JagielskiUSE_SHL1VERSIONMAP=$(MISC)/$(SHL1TARGET).vmap 143*b1cdbd2cSJim Jagielski$(USE_SHL1VERSIONMAP) : 144*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 145*b1cdbd2cSJim Jagielski @echo ----------------------------- 146*b1cdbd2cSJim Jagielski @echo SHL1FILTERFILE not set! 147*b1cdbd2cSJim Jagielski @echo ----------------------------- 148*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 149*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 150*b1cdbd2cSJim Jagielski.ELSE 151*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 152*b1cdbd2cSJim Jagielski.ENDIF 153*b1cdbd2cSJim Jagielski# force_dmake_to_error 154*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1FILTERFILE)"!="" 155*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL1VERSIONMAP)"!="" 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 158*b1cdbd2cSJim Jagielski.IF "$(SHL1VERSIONMAP)"!="" 159*b1cdbd2cSJim JagielskiUSE_SHL1VERSIONMAP=$(MISC)/$(SHL1VERSIONMAP:b)_$(SHL1TARGET)$(SHL1VERSIONMAP:e) 160*b1cdbd2cSJim JagielskiSHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP) 161*b1cdbd2cSJim Jagielski 162*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 163*b1cdbd2cSJim Jagielski$(USE_SHL1VERSIONMAP): $(SHL1OBJS) $(SHL1LIBS) 164*b1cdbd2cSJim Jagielski.ENDIF 165*b1cdbd2cSJim Jagielski 166*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 167*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 168*b1cdbd2cSJim Jagielski$(USE_SHL1VERSIONMAP) .ERRREMOVE: $(SHL1VERSIONMAP) 169*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 170*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 171*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 172*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 173*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 174*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 175*b1cdbd2cSJim Jagielski.ENDIF 176*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 177*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 178*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 179*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL1VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 180*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 181*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL1VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 182*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 183*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL1VERSIONMAP) > $@ 184*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 185*b1cdbd2cSJim Jagielski @chmod a+w $@ 186*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 187*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 188*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 189*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 190*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 191*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 192*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 193*b1cdbd2cSJim Jagielski.IF "$(SHL1OBJS)"!="" 194*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL1OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 195*b1cdbd2cSJim Jagielski.ENDIF 196*b1cdbd2cSJim Jagielski.IF "$(SHL1LIBS)"!="" 197*b1cdbd2cSJim Jagielski $(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 198*b1cdbd2cSJim Jagielski.ENDIF 199*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 200*b1cdbd2cSJim Jagielski# exported symbols list 201*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 202*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 203*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1VERSIONMAP)"!="" 204*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL1VERSIONMAP)"!="" 205*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 208*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 209*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 210*b1cdbd2cSJim JagielskiSHL1SONAME=\"$(SONAME_SWITCH)$(SHL1TARGETN:f)\" 211*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 212*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 213*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 214*b1cdbd2cSJim Jagielski 215*b1cdbd2cSJim Jagielski.IF "$(SHL1RES)"!="" 216*b1cdbd2cSJim JagielskiSHL1ALLRES+=$(SHL1RES) 217*b1cdbd2cSJim JagielskiSHL1LINKRES*=$(MISC)/$(SHL1TARGET).res 218*b1cdbd2cSJim JagielskiSHL1LINKRESO*=$(MISC)/$(SHL1TARGET)_res.o 219*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1RES)"!="" 220*b1cdbd2cSJim Jagielski 221*b1cdbd2cSJim Jagielski.IF "$(SHL1DEFAULTRES)$(use_shl_versions)"!="" 222*b1cdbd2cSJim JagielskiSHL1DEFAULTRES*=$(MISC)/$(SHL1TARGET)_def.res 223*b1cdbd2cSJim JagielskiSHL1ALLRES+=$(SHL1DEFAULTRES) 224*b1cdbd2cSJim JagielskiSHL1LINKRES*=$(MISC)/$(SHL1TARGET).res 225*b1cdbd2cSJim JagielskiSHL1LINKRESO*=$(MISC)/$(SHL1TARGET)_res.o 226*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1DEFAULTRES)$(use_shl_versions)"!="" 227*b1cdbd2cSJim Jagielski 228*b1cdbd2cSJim Jagielski#.IF "$(SHL1TARGETN)"!="" 229*b1cdbd2cSJim Jagielski 230*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 231*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 232*b1cdbd2cSJim Jagielski.IF "$(SHL1LIBS)"!="" 233*b1cdbd2cSJim Jagielski$(MISC)/$(SHL1TARGET)_linkinc.ls .PHONY: 234*b1cdbd2cSJim Jagielski @@-$(RM) $@ 235*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL1LIBS) $(i:s/.lib/.lin/)) >> $@ 236*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1LIBS)"!="" 237*b1cdbd2cSJim Jagielski.ENDIF 238*b1cdbd2cSJim Jagielski 239*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL1TARGETN:b)_linkinc.ls 240*b1cdbd2cSJim Jagielski$(SHL1TARGETN) : $(LINKINCTARGETS) 241*b1cdbd2cSJim Jagielski 242*b1cdbd2cSJim Jagielski.ELSE 243*b1cdbd2cSJim Jagielski.IF "$(SHL1USE_EXPORTS)"=="name" 244*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 245*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 246*b1cdbd2cSJim Jagielski.IF "$(SHL1LIBS)"!="" 247*b1cdbd2cSJim JagielskiSHL1LINKLIST=$(MISC)/$(SHL1TARGET)_link.lst 248*b1cdbd2cSJim JagielskiSHL1LINKLISTPARAM=@$(SHL1LINKLIST) 249*b1cdbd2cSJim Jagielski$(SHL1LINKLIST) : $(SHL1LIBS) 250*b1cdbd2cSJim Jagielski @@-$(RM) $@ 251*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL1LIBS) $(i:s/.lib/.lin/)) >> $@ 252*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1LIBS)"!="" 253*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 254*b1cdbd2cSJim Jagielski.ENDIF 255*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1USE_EXPORTS)"=="name" 256*b1cdbd2cSJim Jagielski 257*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 258*b1cdbd2cSJim Jagielski @echo . > $@ 259*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 260*b1cdbd2cSJim Jagielski 261*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 262*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 263*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 264*b1cdbd2cSJim JagielskiSHL1TARGET8=$(shell @fix_shl.cmd $(SHL1TARGET)) 265*b1cdbd2cSJim Jagielski.ENDIF 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski$(SHL1TARGETN) : \ 269*b1cdbd2cSJim Jagielski $(SHL1OBJS)\ 270*b1cdbd2cSJim Jagielski $(SHL1LIBS)\ 271*b1cdbd2cSJim Jagielski $(USE_1IMPLIB_DEPS)\ 272*b1cdbd2cSJim Jagielski $(USE_SHL1DEF)\ 273*b1cdbd2cSJim Jagielski $(USE_SHL1VERSIONMAP)\ 274*b1cdbd2cSJim Jagielski $(SHL1RES)\ 275*b1cdbd2cSJim Jagielski $(SHL1DEPN) \ 276*b1cdbd2cSJim Jagielski $(SHL1LINKLIST) 277*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 278*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 279*b1cdbd2cSJim Jagielski.IF "$(SHL1DEFAULTRES)"!="" 280*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL1DEFAULTRES:b).rc 281*b1cdbd2cSJim Jagielski.IF "$(SHL1ICON)" != "" 282*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL1ICON) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 283*b1cdbd2cSJim Jagielski.ENDIF 284*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 285*b1cdbd2cSJim Jagielski.IF "$(SHL1ADD_VERINFO)"!="" 286*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc 287*b1cdbd2cSJim Jagielski.ELSE # "$(SHL1ADD_VERINFO)"!="" 288*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL1DEFAULTRES:b).rc 289*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL1DEFAULTRES:b).rc 290*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL1DEFAULTRES:b).rc 291*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1ADD_VERINFO)"!="" 292*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 293*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL1TARGET)$(DLLPOST) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 294*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL1TARGET:b) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 295*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc 296*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 297*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL1DEFAULTRES:b).rc 298*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1DEFAULTRES)"!="" 299*b1cdbd2cSJim Jagielski.IF "$(SHL1ALLRES)"!="" 300*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL1ALLRES) > $(SHL1LINKRES) 301*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 302*b1cdbd2cSJim Jagielski windres $(SHL1LINKRES) $(SHL1LINKRESO) 303*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 304*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1ALLRES)"!="" 305*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 306*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL1TARGET)$(DLLPOST) \ 307*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_1.cmd 308*b1cdbd2cSJim Jagielski @noop $(assign ALL1OBJLIST:=$(STDOBJ) $(SHL1OBJS) $(SHL1LINKRESO) $(shell $(TYPE) /dev/null $(SHL1LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 309*b1cdbd2cSJim Jagielski.IF "$(DEFLIB1NAME)"!="" # do not have to include objs 310*b1cdbd2cSJim Jagielski @noop $(assign DEF1OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 311*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF1OBJLIST) $(assign ALL1OBJLIST:=$(ALL1OBJLIST:s?$i??))) 312*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB1NAME)"!="" 313*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd 314*b1cdbd2cSJim Jagielski.IF "$(SHL1DEF)"!="" 315*b1cdbd2cSJim Jagielski @echo --input-def $(SHL1DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd 316*b1cdbd2cSJim Jagielski.ELSE 317*b1cdbd2cSJim Jagielski @echo $(SHL1VERSIONOBJ) $(SHL1DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd 318*b1cdbd2cSJim Jagielski.ENDIF 319*b1cdbd2cSJim Jagielski @echo $(ALL1OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_1.cmd 320*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 321*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL1VERSIONOBJ) $(SHL1DESCRIPTIONOBJ) $(SHL1OBJS) $(SHL1LINKRESO) \ 322*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL1LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 323*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL1STDLIBS) -Wl,--end-group \ 324*b1cdbd2cSJim Jagielski $(SHL1STDSHL) $(STDSHL1) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 325*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_1.cmd 326*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 327*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_1.cmd 328*b1cdbd2cSJim Jagielski .ENDIF 329*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_1.cmd 330*b1cdbd2cSJim Jagielski.ELSE 331*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 332*b1cdbd2cSJim Jagielski.IF "$(SHL1USE_EXPORTS)"!="name" 333*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 334*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL1LINKER) @$(mktmp \ 335*b1cdbd2cSJim Jagielski $(SHL1LINKFLAGS) \ 336*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 337*b1cdbd2cSJim Jagielski $(SHL1STACK) $(SHL1BASEX) \ 338*b1cdbd2cSJim Jagielski -out:$@ \ 339*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 340*b1cdbd2cSJim Jagielski -def:$(SHL1DEF) \ 341*b1cdbd2cSJim Jagielski $(USE_1IMPLIB) \ 342*b1cdbd2cSJim Jagielski $(STDOBJ) \ 343*b1cdbd2cSJim Jagielski $(SHL1VERSIONOBJ) $(SHL1OBJS) \ 344*b1cdbd2cSJim Jagielski $(SHL1LIBS) \ 345*b1cdbd2cSJim Jagielski $(SHL1STDLIBS) \ 346*b1cdbd2cSJim Jagielski $(SHL1STDSHL) $(STDSHL1) \ 347*b1cdbd2cSJim Jagielski $(SHL1LINKRES) \ 348*b1cdbd2cSJim Jagielski ) 349*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 350*b1cdbd2cSJim Jagielski @@$(LS) $@ 351*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 352*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 353*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 354*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 355*b1cdbd2cSJim Jagielski.ELSE 356*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 357*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 358*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 359*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 360*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 361*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL1LINKER) @$(mktmp $(SHL1LINKFLAGS) \ 362*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL1BASEX) \ 363*b1cdbd2cSJim Jagielski $(SHL1STACK) -out:$(SHL1TARGETN) \ 364*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 365*b1cdbd2cSJim Jagielski $(LB)/$(SHL1IMPLIB).exp \ 366*b1cdbd2cSJim Jagielski $(STDOBJ) \ 367*b1cdbd2cSJim Jagielski $(SHL1OBJS) $(SHL1VERSIONOBJ) \ 368*b1cdbd2cSJim Jagielski $(SHL1LIBS) \ 369*b1cdbd2cSJim Jagielski $(SHL1STDLIBS) \ 370*b1cdbd2cSJim Jagielski $(SHL1STDSHL) $(STDSHL1) \ 371*b1cdbd2cSJim Jagielski $(SHL1LINKRES) \ 372*b1cdbd2cSJim Jagielski ) 373*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 374*b1cdbd2cSJim Jagielski @@$(LS) $@ 375*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 376*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 377*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 378*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 379*b1cdbd2cSJim Jagielski.ELSE 380*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 381*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 382*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 383*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 384*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 385*b1cdbd2cSJim Jagielski.ELSE # "$(SHL1USE_EXPORTS)"!="name" 386*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL1LINKER) @$(mktmp $(SHL1LINKFLAGS) \ 387*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL1BASEX) \ 388*b1cdbd2cSJim Jagielski $(SHL1STACK) -out:$(SHL1TARGETN) \ 389*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 390*b1cdbd2cSJim Jagielski $(USE_1IMPLIB) \ 391*b1cdbd2cSJim Jagielski $(STDOBJ) \ 392*b1cdbd2cSJim Jagielski $(SHL1OBJS) $(SHL1VERSIONOBJ)) \ 393*b1cdbd2cSJim Jagielski $(SHL1LINKLISTPARAM) \ 394*b1cdbd2cSJim Jagielski @$(mktmp $(SHL1STDLIBS) \ 395*b1cdbd2cSJim Jagielski $(SHL1STDSHL) $(STDSHL1) \ 396*b1cdbd2cSJim Jagielski $(SHL1LINKRES) \ 397*b1cdbd2cSJim Jagielski ) 398*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 399*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 400*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 401*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 402*b1cdbd2cSJim Jagielski.ELSE 403*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 404*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 405*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 406*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 407*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1USE_EXPORTS)"!="name" 408*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 409*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL1TARGET).lnk 410*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL1TARGET).lst 411*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 412*b1cdbd2cSJim Jagielski $(SHL1LINKFLAGS) \ 413*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL1BASEX) \ 414*b1cdbd2cSJim Jagielski $(SHL1STACK) $(MAPFILE) \ 415*b1cdbd2cSJim Jagielski -out:$@ \ 416*b1cdbd2cSJim Jagielski $(LB)/$(SHL1IMPLIB).exp \ 417*b1cdbd2cSJim Jagielski $(STDOBJ) \ 418*b1cdbd2cSJim Jagielski $(SHL1OBJS) \ 419*b1cdbd2cSJim Jagielski $(SHL1STDLIBS) \ 420*b1cdbd2cSJim Jagielski $(SHL1STDSHL) $(STDSHL1) \ 421*b1cdbd2cSJim Jagielski $(SHL1LINKRES) \ 422*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL1TARGET).lnk 423*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL1TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL1TARGET).lnk 424*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL1LINKER) @$(MISC)/$(SHL1TARGET).lnk 425*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 426*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 427*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 428*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 429*b1cdbd2cSJim Jagielski.ELSE 430*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 431*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 432*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 433*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 434*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 435*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 436*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 437*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 438*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 439*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 440*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd 441*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL1OBJS:s/.obj/.o/) \ 442*b1cdbd2cSJim Jagielski $(SHL1VERSIONOBJ) \ 443*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL1LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 444*b1cdbd2cSJim Jagielski @echo -n $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 445*b1cdbd2cSJim Jagielski $(SHL1STDLIBS) $(SHL1ARCHIVES) $(SHL1STDSHL) $(STDSHL1) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_1.cmd 446*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 447*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_1.cmd` \ 448*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_1.cmd 449*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 450*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_1.cmd 451*b1cdbd2cSJim Jagielski .ENDIF 452*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_1.cmd 453*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 454*b1cdbd2cSJim Jagielski shl $(SHL1RPATH) $@ 455*b1cdbd2cSJim Jagielski.IF "$(SHL1CREATEJNILIB)"!="" 456*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 457*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 458*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1CREATEJNILIB)"!="" 459*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 460*b1cdbd2cSJim Jagielski.IF "$(SHL1NOCHECK)"=="" 461*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) $(SHL1TARGETN) 462*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1NOCHECK)"!="" 463*b1cdbd2cSJim Jagielski.ENDIF 464*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 465*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd 466*b1cdbd2cSJim Jagielski @echo $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1SONAME) $(LINKFLAGSSHL) $(SHL1VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL1OBJS:s/.obj/.o/) \ 467*b1cdbd2cSJim Jagielski $(SHL1VERSIONOBJ) -o $@ \ 468*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL1LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 469*b1cdbd2cSJim Jagielski $(SHL1STDLIBS) $(SHL1ARCHIVES) $(SHL1STDSHL) $(STDSHL1) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_1.cmd 470*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 471*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_1.cmd 472*b1cdbd2cSJim Jagielski .ENDIF 473*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_1.cmd 474*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 475*b1cdbd2cSJim Jagielski.IF "$(SHL1NOCHECK)"=="" 476*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 477*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL1TARGETN) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 478*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 479*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 480*b1cdbd2cSJim Jagielski.ELSE 481*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) -- -s $(SHL1TARGETN:d)check_$(SHL1TARGETN:f) 482*b1cdbd2cSJim Jagielski.ENDIF 483*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1NOCHECK)"!="" 484*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 485*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 486*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 487*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL1TARGETN:b) 488*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL1TARGETN:f) $(SHL1TARGETN:b) 489*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 490*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 491*b1cdbd2cSJim Jagielski @ls -l $@ 492*b1cdbd2cSJim Jagielski.ENDIF 493*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 494*b1cdbd2cSJim Jagielski 495*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 496*b1cdbd2cSJim Jagielski 497*b1cdbd2cSJim Jagielski.IF "$(SHL1DEFAULTRES)"!="" 498*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL1DEFAULTRES:b).rc > $(NULLDEV) 499*b1cdbd2cSJim Jagielski.IF "$(SHL1ICON)" != "" 500*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL1ICON) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 501*b1cdbd2cSJim Jagielski.ENDIF 502*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 503*b1cdbd2cSJim Jagielski.IF "$(SHL1ADD_VERINFO)"!="" 504*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc 505*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1ADD_VERINFO)"!="" 506*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL1DEFAULTRES:b).rc 507*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL1DEFAULTRES:b).rc 508*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 509*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 510*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL1DEFAULTRES:b).rc 511*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1DEFAULTRES)"!="" 512*b1cdbd2cSJim Jagielski 513*b1cdbd2cSJim Jagielski.IF "$(SHL1ALLRES)"!="" 514*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL1ALLRES) > $(SHL1LINKRES) 515*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1ALLRES)"!="" 516*b1cdbd2cSJim Jagielski 517*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 518*b1cdbd2cSJim Jagielski 519*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL1LINKER) $(SHL1LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 520*b1cdbd2cSJim Jagielski $(SHL1DEF) \ 521*b1cdbd2cSJim Jagielski $(STDOBJ) \ 522*b1cdbd2cSJim Jagielski -L$(LB) \ 523*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 524*b1cdbd2cSJim Jagielski $(SHL1OBJS) $(SHL1VERSIONOBJ) \ 525*b1cdbd2cSJim Jagielski $(SHL1LIBS) \ 526*b1cdbd2cSJim Jagielski $(SHL1LINKRES) \ 527*b1cdbd2cSJim Jagielski $(SHL1STDLIBS) \ 528*b1cdbd2cSJim Jagielski $(SHL1STDSHL) $(STDSHL1) 529*b1cdbd2cSJim Jagielski 530*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 531*b1cdbd2cSJim Jagielski 532*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL1LINKER) $(SHL1LINKFLAGS) \ 533*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL1BASEX) \ 534*b1cdbd2cSJim Jagielski $(SHL1STACK) -o $(SHL1TARGETN) \ 535*b1cdbd2cSJim Jagielski $(SHL1DEF) \ 536*b1cdbd2cSJim Jagielski $(STDOBJ) \ 537*b1cdbd2cSJim Jagielski -L$(LB) \ 538*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 539*b1cdbd2cSJim Jagielski $(SHL1OBJS) $(SHL1VERSIONOBJ) \ 540*b1cdbd2cSJim Jagielski $(SHL1LIBS) \ 541*b1cdbd2cSJim Jagielski $(SHL1LINKRES) \ 542*b1cdbd2cSJim Jagielski $(SHL1STDLIBS) \ 543*b1cdbd2cSJim Jagielski $(SHL1STDSHL) $(STDSHL1) 544*b1cdbd2cSJim Jagielski 545*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 546*b1cdbd2cSJim Jagielski 547*b1cdbd2cSJim Jagielski.IF "$(SHL1USE_EXPORTS)"=="name" 548*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 549*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 550*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL1TARGETN:b).lib $@ 551*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1USE_EXPORTS)"=="" 552*b1cdbd2cSJim Jagielski 553*b1cdbd2cSJim Jagielski.IF "$(SHL1TARGET8)" != "$(SHL1TARGET)" 554*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL1TARGET8).dll 555*b1cdbd2cSJim Jagielski.ENDIF 556*b1cdbd2cSJim Jagielski 557*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 558*b1cdbd2cSJim Jagielski 559*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL1TARGETN)"!="" 560*b1cdbd2cSJim Jagielski 561*b1cdbd2cSJim Jagielski# unroll begin 562*b1cdbd2cSJim Jagielski 563*b1cdbd2cSJim Jagielski.IF "$(SHL2TARGETN)"!="" 564*b1cdbd2cSJim Jagielski 565*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 566*b1cdbd2cSJim JagielskiSHL2STDLIBS= 567*b1cdbd2cSJim Jagielski.ENDIF 568*b1cdbd2cSJim Jagielski 569*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 570*b1cdbd2cSJim JagielskiSHL2STDLIBS= 571*b1cdbd2cSJim JagielskiSTDSHL= 572*b1cdbd2cSJim Jagielski.ELSE 573*b1cdbd2cSJim JagielskiSHL2ARCHIVES= 574*b1cdbd2cSJim Jagielski.ENDIF 575*b1cdbd2cSJim Jagielski 576*b1cdbd2cSJim Jagielski# decide how to link 577*b1cdbd2cSJim Jagielski.IF "$(SHL2CODETYPE)"=="C" 578*b1cdbd2cSJim JagielskiSHL2LINKER=$(LINKC) 579*b1cdbd2cSJim JagielskiSHL2STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 580*b1cdbd2cSJim JagielskiSHL2LINKFLAGS+=$(LINKCFLAGS) 581*b1cdbd2cSJim Jagielski.ELSE # "$(SHL2CODETYPE)"=="C" 582*b1cdbd2cSJim JagielskiSHL2LINKER=$(LINK) 583*b1cdbd2cSJim JagielskiSHL2STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 584*b1cdbd2cSJim JagielskiSHL2LINKFLAGS+=$(LINKFLAGS) 585*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2CODETYPE)"=="C" 586*b1cdbd2cSJim Jagielski 587*b1cdbd2cSJim JagielskiSHL2RPATH*=OOO 588*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL2RPATH)*=/ERROR:/Bad_SHL2RPATH_value 589*b1cdbd2cSJim JagielskiSHL2LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL2RPATH)) 590*b1cdbd2cSJim Jagielski 591*b1cdbd2cSJim Jagielski.IF "$(SHL2USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 592*b1cdbd2cSJim JagielskiSHL2DEF*=$(MISC)/$(SHL2TARGET).def 593*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2USE_EXPORTS)"=="" 594*b1cdbd2cSJim Jagielski 595*b1cdbd2cSJim JagielskiEXTRALIBPATHS2=$(EXTRALIBPATHS) 596*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 597*b1cdbd2cSJim Jagielski.IF "$(SHL2NOCHECK)"=="" 598*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 599*b1cdbd2cSJim JagielskiEXTRALIBPATHS2+=-L$(SOLAR_STLLIBPATH) 600*b1cdbd2cSJim Jagielski.ENDIF 601*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2NOCHECK)"!="" 602*b1cdbd2cSJim Jagielski.ENDIF 603*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 604*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 605*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 606*b1cdbd2cSJim Jagielski 607*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 608*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 609*b1cdbd2cSJim JagielskiSHL2VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL2TARGET))}$(VERSIONOBJ:f) 610*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL2VERSIONOBJ:b).h 611*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 612*b1cdbd2cSJim JagielskiSHL2VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL2TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 613*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 614*b1cdbd2cSJim JagielskiSHL2VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL2TARGET))}$(VERSIONOBJ:f) 615*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 616*b1cdbd2cSJim Jagielski$(MISC)/$(SHL2VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL2VERSIONOBJ:b).h 617*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 618*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL2VERSIONOBJ:b).h/ > $@ 619*b1cdbd2cSJim Jagielski 620*b1cdbd2cSJim Jagielski.INIT : $(SHL2VERSIONOBJDEP) 621*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 622*b1cdbd2cSJim Jagielski.ENDIF 623*b1cdbd2cSJim Jagielski 624*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 625*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 626*b1cdbd2cSJim Jagielski.IF "$(SHL2IMPLIB)" == "" 627*b1cdbd2cSJim JagielskiSHL2IMPLIB=i$(TARGET)_t2 628*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2IMPLIB)" == "" 629*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 630*b1cdbd2cSJim JagielskiUSE_2IMPLIB=-implib:$(LB)/$(SHL2IMPLIB).lib 631*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 632*b1cdbd2cSJim JagielskiSHL2IMPLIBN=$(LB)/$(SHL2IMPLIB).lib 633*b1cdbd2cSJim JagielskiALLTAR : $(SHL2IMPLIBN) 634*b1cdbd2cSJim Jagielski 635*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 636*b1cdbd2cSJim JagielskiUSE_2IMPLIB_DEPS=$(LB)/$(SHL2IMPLIB).lib 637*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 638*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 639*b1cdbd2cSJim JagielskiUSE_SHL2DEF=$(SHL2DEF) 640*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 641*b1cdbd2cSJim JagielskiUSE_SHL2DEF= 642*b1cdbd2cSJim JagielskiSHL2DEPN+:=$(SHL2DEPNU) 643*b1cdbd2cSJim Jagielski 644*b1cdbd2cSJim Jagielski.IF "$(SHL2VERSIONMAP)"=="" 645*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 646*b1cdbd2cSJim JagielskiUSE_SHL2VERSIONMAP=$(MISC)/$(SHL2TARGET).vmap 647*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2VERSIONMAP)"=="" 648*b1cdbd2cSJim Jagielski 649*b1cdbd2cSJim Jagielski.IF "$(USE_SHL2VERSIONMAP)"!="" 650*b1cdbd2cSJim Jagielski 651*b1cdbd2cSJim Jagielski.IF "$(SHL2FILTERFILE)"!="" 652*b1cdbd2cSJim Jagielski.IF "$(SHL2VERSIONMAP)"!="" 653*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 654*b1cdbd2cSJim JagielskiUSE_SHL2VERSIONMAP=$(MISC)/$(SHL2TARGET).vmap 655*b1cdbd2cSJim Jagielski$(USE_SHL2VERSIONMAP) .PHONY: 656*b1cdbd2cSJim Jagielski @echo ----------------------------- 657*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 658*b1cdbd2cSJim Jagielski @echo ----------------------------- 659*b1cdbd2cSJim Jagielski# force_dmake_to_error 660*b1cdbd2cSJim Jagielski 661*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2VERSIONMAP)"!="" 662*b1cdbd2cSJim Jagielski 663*b1cdbd2cSJim JagielskiSHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP) 664*b1cdbd2cSJim Jagielski 665*b1cdbd2cSJim Jagielski$(USE_SHL2VERSIONMAP): \ 666*b1cdbd2cSJim Jagielski $(SHL2OBJS)\ 667*b1cdbd2cSJim Jagielski $(SHL2LIBS)\ 668*b1cdbd2cSJim Jagielski $(SHL2FILTERFILE) 669*b1cdbd2cSJim Jagielski @$(RM) $@.dump 670*b1cdbd2cSJim Jagielski.IF "$(SHL2OBJS)"!="" 671*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 672*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 673*b1cdbd2cSJim Jagielski @-nm $(SHL2OBJS:s/.obj/.o/) > $@.dump 674*b1cdbd2cSJim Jagielski.ELSE 675*b1cdbd2cSJim Jagielski @nm $(SHL2OBJS:s/.obj/.o/) > $@.dump 676*b1cdbd2cSJim Jagielski.ENDIF 677*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2OBJS)!"="" 678*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL2LIBS:s/.lib/.dump/) >> $@.dump 679*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL2INTERFACE) -f $(SHL2FILTERFILE) -m $@ 680*b1cdbd2cSJim Jagielski 681*b1cdbd2cSJim Jagielski.ELSE # "$(SHL2FILTERFILE)"!="" 682*b1cdbd2cSJim JagielskiUSE_SHL2VERSIONMAP=$(MISC)/$(SHL2TARGET).vmap 683*b1cdbd2cSJim Jagielski$(USE_SHL2VERSIONMAP) : 684*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 685*b1cdbd2cSJim Jagielski @echo ----------------------------- 686*b1cdbd2cSJim Jagielski @echo SHL2FILTERFILE not set! 687*b1cdbd2cSJim Jagielski @echo ----------------------------- 688*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 689*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 690*b1cdbd2cSJim Jagielski.ELSE 691*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 692*b1cdbd2cSJim Jagielski.ENDIF 693*b1cdbd2cSJim Jagielski# force_dmake_to_error 694*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2FILTERFILE)"!="" 695*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL2VERSIONMAP)"!="" 696*b1cdbd2cSJim Jagielski 697*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 698*b1cdbd2cSJim Jagielski.IF "$(SHL2VERSIONMAP)"!="" 699*b1cdbd2cSJim JagielskiUSE_SHL2VERSIONMAP=$(MISC)/$(SHL2VERSIONMAP:b)_$(SHL2TARGET)$(SHL2VERSIONMAP:e) 700*b1cdbd2cSJim JagielskiSHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP) 701*b1cdbd2cSJim Jagielski 702*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 703*b1cdbd2cSJim Jagielski$(USE_SHL2VERSIONMAP): $(SHL2OBJS) $(SHL2LIBS) 704*b1cdbd2cSJim Jagielski.ENDIF 705*b1cdbd2cSJim Jagielski 706*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 707*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 708*b1cdbd2cSJim Jagielski$(USE_SHL2VERSIONMAP) .ERRREMOVE: $(SHL2VERSIONMAP) 709*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 710*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 711*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 712*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 713*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 714*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 715*b1cdbd2cSJim Jagielski.ENDIF 716*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 717*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 718*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 719*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL2VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 720*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 721*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL2VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 722*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 723*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL2VERSIONMAP) > $@ 724*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 725*b1cdbd2cSJim Jagielski @chmod a+w $@ 726*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 727*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 728*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 729*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 730*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 731*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 732*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 733*b1cdbd2cSJim Jagielski.IF "$(SHL2OBJS)"!="" 734*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL2OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 735*b1cdbd2cSJim Jagielski.ENDIF 736*b1cdbd2cSJim Jagielski.IF "$(SHL2LIBS)"!="" 737*b1cdbd2cSJim Jagielski $(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 738*b1cdbd2cSJim Jagielski.ENDIF 739*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 740*b1cdbd2cSJim Jagielski# exported symbols list 741*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 742*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 743*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2VERSIONMAP)"!="" 744*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL2VERSIONMAP)"!="" 745*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 746*b1cdbd2cSJim Jagielski 747*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 748*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 749*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 750*b1cdbd2cSJim JagielskiSHL2SONAME=\"$(SONAME_SWITCH)$(SHL2TARGETN:f)\" 751*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 752*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 753*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 754*b1cdbd2cSJim Jagielski 755*b1cdbd2cSJim Jagielski.IF "$(SHL2RES)"!="" 756*b1cdbd2cSJim JagielskiSHL2ALLRES+=$(SHL2RES) 757*b1cdbd2cSJim JagielskiSHL2LINKRES*=$(MISC)/$(SHL2TARGET).res 758*b1cdbd2cSJim JagielskiSHL2LINKRESO*=$(MISC)/$(SHL2TARGET)_res.o 759*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2RES)"!="" 760*b1cdbd2cSJim Jagielski 761*b1cdbd2cSJim Jagielski.IF "$(SHL2DEFAULTRES)$(use_shl_versions)"!="" 762*b1cdbd2cSJim JagielskiSHL2DEFAULTRES*=$(MISC)/$(SHL2TARGET)_def.res 763*b1cdbd2cSJim JagielskiSHL2ALLRES+=$(SHL2DEFAULTRES) 764*b1cdbd2cSJim JagielskiSHL2LINKRES*=$(MISC)/$(SHL2TARGET).res 765*b1cdbd2cSJim JagielskiSHL2LINKRESO*=$(MISC)/$(SHL2TARGET)_res.o 766*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2DEFAULTRES)$(use_shl_versions)"!="" 767*b1cdbd2cSJim Jagielski 768*b1cdbd2cSJim Jagielski#.IF "$(SHL2TARGETN)"!="" 769*b1cdbd2cSJim Jagielski 770*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 771*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 772*b1cdbd2cSJim Jagielski.IF "$(SHL2LIBS)"!="" 773*b1cdbd2cSJim Jagielski$(MISC)/$(SHL2TARGET)_linkinc.ls .PHONY: 774*b1cdbd2cSJim Jagielski @@-$(RM) $@ 775*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL2LIBS) $(i:s/.lib/.lin/)) >> $@ 776*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2LIBS)"!="" 777*b1cdbd2cSJim Jagielski.ENDIF 778*b1cdbd2cSJim Jagielski 779*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL2TARGETN:b)_linkinc.ls 780*b1cdbd2cSJim Jagielski$(SHL2TARGETN) : $(LINKINCTARGETS) 781*b1cdbd2cSJim Jagielski 782*b1cdbd2cSJim Jagielski.ELSE 783*b1cdbd2cSJim Jagielski.IF "$(SHL2USE_EXPORTS)"=="name" 784*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 785*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 786*b1cdbd2cSJim Jagielski.IF "$(SHL2LIBS)"!="" 787*b1cdbd2cSJim JagielskiSHL2LINKLIST=$(MISC)/$(SHL2TARGET)_link.lst 788*b1cdbd2cSJim JagielskiSHL2LINKLISTPARAM=@$(SHL2LINKLIST) 789*b1cdbd2cSJim Jagielski$(SHL2LINKLIST) : $(SHL2LIBS) 790*b1cdbd2cSJim Jagielski @@-$(RM) $@ 791*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL2LIBS) $(i:s/.lib/.lin/)) >> $@ 792*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2LIBS)"!="" 793*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 794*b1cdbd2cSJim Jagielski.ENDIF 795*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2USE_EXPORTS)"=="name" 796*b1cdbd2cSJim Jagielski 797*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 798*b1cdbd2cSJim Jagielski @echo . > $@ 799*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 800*b1cdbd2cSJim Jagielski 801*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 802*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 803*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 804*b1cdbd2cSJim JagielskiSHL2TARGET8=$(shell @fix_shl.cmd $(SHL2TARGET)) 805*b1cdbd2cSJim Jagielski.ENDIF 806*b1cdbd2cSJim Jagielski 807*b1cdbd2cSJim Jagielski 808*b1cdbd2cSJim Jagielski$(SHL2TARGETN) : \ 809*b1cdbd2cSJim Jagielski $(SHL2OBJS)\ 810*b1cdbd2cSJim Jagielski $(SHL2LIBS)\ 811*b1cdbd2cSJim Jagielski $(USE_2IMPLIB_DEPS)\ 812*b1cdbd2cSJim Jagielski $(USE_SHL2DEF)\ 813*b1cdbd2cSJim Jagielski $(USE_SHL2VERSIONMAP)\ 814*b1cdbd2cSJim Jagielski $(SHL2RES)\ 815*b1cdbd2cSJim Jagielski $(SHL2DEPN) \ 816*b1cdbd2cSJim Jagielski $(SHL2LINKLIST) 817*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 818*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 819*b1cdbd2cSJim Jagielski.IF "$(SHL2DEFAULTRES)"!="" 820*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL2DEFAULTRES:b).rc 821*b1cdbd2cSJim Jagielski.IF "$(SHL2ICON)" != "" 822*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL2ICON) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 823*b1cdbd2cSJim Jagielski.ENDIF 824*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 825*b1cdbd2cSJim Jagielski.IF "$(SHL2ADD_VERINFO)"!="" 826*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc 827*b1cdbd2cSJim Jagielski.ELSE # "$(SHL2ADD_VERINFO)"!="" 828*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL2DEFAULTRES:b).rc 829*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL2DEFAULTRES:b).rc 830*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL2DEFAULTRES:b).rc 831*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2ADD_VERINFO)"!="" 832*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 833*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL2TARGET)$(DLLPOST) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 834*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL2TARGET:b) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 835*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc 836*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 837*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL2DEFAULTRES:b).rc 838*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2DEFAULTRES)"!="" 839*b1cdbd2cSJim Jagielski.IF "$(SHL2ALLRES)"!="" 840*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL2ALLRES) > $(SHL2LINKRES) 841*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 842*b1cdbd2cSJim Jagielski windres $(SHL2LINKRES) $(SHL2LINKRESO) 843*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 844*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2ALLRES)"!="" 845*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 846*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL2TARGET)$(DLLPOST) \ 847*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_2.cmd 848*b1cdbd2cSJim Jagielski @noop $(assign ALL2OBJLIST:=$(STDOBJ) $(SHL2OBJS) $(SHL2LINKRESO) $(shell $(TYPE) /dev/null $(SHL2LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 849*b1cdbd2cSJim Jagielski.IF "$(DEFLIB2NAME)"!="" # do not have to include objs 850*b1cdbd2cSJim Jagielski @noop $(assign DEF2OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 851*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF2OBJLIST) $(assign ALL2OBJLIST:=$(ALL2OBJLIST:s?$i??))) 852*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB2NAME)"!="" 853*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd 854*b1cdbd2cSJim Jagielski.IF "$(SHL2DEF)"!="" 855*b1cdbd2cSJim Jagielski @echo --input-def $(SHL2DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd 856*b1cdbd2cSJim Jagielski.ELSE 857*b1cdbd2cSJim Jagielski @echo $(SHL2VERSIONOBJ) $(SHL2DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd 858*b1cdbd2cSJim Jagielski.ENDIF 859*b1cdbd2cSJim Jagielski @echo $(ALL2OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_2.cmd 860*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 861*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL2VERSIONOBJ) $(SHL2DESCRIPTIONOBJ) $(SHL2OBJS) $(SHL2LINKRESO) \ 862*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL2LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 863*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL2STDLIBS) -Wl,--end-group \ 864*b1cdbd2cSJim Jagielski $(SHL2STDSHL) $(STDSHL2) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 865*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_2.cmd 866*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 867*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_2.cmd 868*b1cdbd2cSJim Jagielski .ENDIF 869*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_2.cmd 870*b1cdbd2cSJim Jagielski.ELSE 871*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 872*b1cdbd2cSJim Jagielski.IF "$(SHL2USE_EXPORTS)"!="name" 873*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 874*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL2LINKER) @$(mktmp \ 875*b1cdbd2cSJim Jagielski $(SHL2LINKFLAGS) \ 876*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 877*b1cdbd2cSJim Jagielski $(SHL2STACK) $(SHL2BASEX) \ 878*b1cdbd2cSJim Jagielski -out:$@ \ 879*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 880*b1cdbd2cSJim Jagielski -def:$(SHL2DEF) \ 881*b1cdbd2cSJim Jagielski $(USE_2IMPLIB) \ 882*b1cdbd2cSJim Jagielski $(STDOBJ) \ 883*b1cdbd2cSJim Jagielski $(SHL2VERSIONOBJ) $(SHL2OBJS) \ 884*b1cdbd2cSJim Jagielski $(SHL2LIBS) \ 885*b1cdbd2cSJim Jagielski $(SHL2STDLIBS) \ 886*b1cdbd2cSJim Jagielski $(SHL2STDSHL) $(STDSHL2) \ 887*b1cdbd2cSJim Jagielski $(SHL2LINKRES) \ 888*b1cdbd2cSJim Jagielski ) 889*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 890*b1cdbd2cSJim Jagielski @@$(LS) $@ 891*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 892*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 893*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 894*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 895*b1cdbd2cSJim Jagielski.ELSE 896*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 897*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 898*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 899*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 900*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 901*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL2LINKER) @$(mktmp $(SHL2LINKFLAGS) \ 902*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL2BASEX) \ 903*b1cdbd2cSJim Jagielski $(SHL2STACK) -out:$(SHL2TARGETN) \ 904*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 905*b1cdbd2cSJim Jagielski $(LB)/$(SHL2IMPLIB).exp \ 906*b1cdbd2cSJim Jagielski $(STDOBJ) \ 907*b1cdbd2cSJim Jagielski $(SHL2OBJS) $(SHL2VERSIONOBJ) \ 908*b1cdbd2cSJim Jagielski $(SHL2LIBS) \ 909*b1cdbd2cSJim Jagielski $(SHL2STDLIBS) \ 910*b1cdbd2cSJim Jagielski $(SHL2STDSHL) $(STDSHL2) \ 911*b1cdbd2cSJim Jagielski $(SHL2LINKRES) \ 912*b1cdbd2cSJim Jagielski ) 913*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 914*b1cdbd2cSJim Jagielski @@$(LS) $@ 915*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 916*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 917*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 918*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 919*b1cdbd2cSJim Jagielski.ELSE 920*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 921*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 922*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 923*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 924*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 925*b1cdbd2cSJim Jagielski.ELSE # "$(SHL2USE_EXPORTS)"!="name" 926*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL2LINKER) @$(mktmp $(SHL2LINKFLAGS) \ 927*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL2BASEX) \ 928*b1cdbd2cSJim Jagielski $(SHL2STACK) -out:$(SHL2TARGETN) \ 929*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 930*b1cdbd2cSJim Jagielski $(USE_2IMPLIB) \ 931*b1cdbd2cSJim Jagielski $(STDOBJ) \ 932*b1cdbd2cSJim Jagielski $(SHL2OBJS) $(SHL2VERSIONOBJ)) \ 933*b1cdbd2cSJim Jagielski $(SHL2LINKLISTPARAM) \ 934*b1cdbd2cSJim Jagielski @$(mktmp $(SHL2STDLIBS) \ 935*b1cdbd2cSJim Jagielski $(SHL2STDSHL) $(STDSHL2) \ 936*b1cdbd2cSJim Jagielski $(SHL2LINKRES) \ 937*b1cdbd2cSJim Jagielski ) 938*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 939*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 940*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 941*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 942*b1cdbd2cSJim Jagielski.ELSE 943*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 944*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 945*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 946*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 947*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2USE_EXPORTS)"!="name" 948*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 949*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL2TARGET).lnk 950*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL2TARGET).lst 951*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 952*b1cdbd2cSJim Jagielski $(SHL2LINKFLAGS) \ 953*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL2BASEX) \ 954*b1cdbd2cSJim Jagielski $(SHL2STACK) $(MAPFILE) \ 955*b1cdbd2cSJim Jagielski -out:$@ \ 956*b1cdbd2cSJim Jagielski $(LB)/$(SHL2IMPLIB).exp \ 957*b1cdbd2cSJim Jagielski $(STDOBJ) \ 958*b1cdbd2cSJim Jagielski $(SHL2OBJS) \ 959*b1cdbd2cSJim Jagielski $(SHL2STDLIBS) \ 960*b1cdbd2cSJim Jagielski $(SHL2STDSHL) $(STDSHL2) \ 961*b1cdbd2cSJim Jagielski $(SHL2LINKRES) \ 962*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL2TARGET).lnk 963*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL2TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL2TARGET).lnk 964*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL2LINKER) @$(MISC)/$(SHL2TARGET).lnk 965*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 966*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 967*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 968*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 969*b1cdbd2cSJim Jagielski.ELSE 970*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 971*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 972*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 973*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 974*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 975*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 976*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 977*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 978*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 979*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 980*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd 981*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL2OBJS:s/.obj/.o/) \ 982*b1cdbd2cSJim Jagielski $(SHL2VERSIONOBJ) \ 983*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL2LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 984*b1cdbd2cSJim Jagielski @echo -n $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 985*b1cdbd2cSJim Jagielski $(SHL2STDLIBS) $(SHL2ARCHIVES) $(SHL2STDSHL) $(STDSHL2) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_2.cmd 986*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 987*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_2.cmd` \ 988*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_2.cmd 989*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 990*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_2.cmd 991*b1cdbd2cSJim Jagielski .ENDIF 992*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_2.cmd 993*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 994*b1cdbd2cSJim Jagielski shl $(SHL2RPATH) $@ 995*b1cdbd2cSJim Jagielski.IF "$(SHL2CREATEJNILIB)"!="" 996*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 997*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 998*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2CREATEJNILIB)"!="" 999*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 1000*b1cdbd2cSJim Jagielski.IF "$(SHL2NOCHECK)"=="" 1001*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) $(SHL2TARGETN) 1002*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2NOCHECK)"!="" 1003*b1cdbd2cSJim Jagielski.ENDIF 1004*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 1005*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd 1006*b1cdbd2cSJim Jagielski @echo $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2SONAME) $(LINKFLAGSSHL) $(SHL2VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL2OBJS:s/.obj/.o/) \ 1007*b1cdbd2cSJim Jagielski $(SHL2VERSIONOBJ) -o $@ \ 1008*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL2LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 1009*b1cdbd2cSJim Jagielski $(SHL2STDLIBS) $(SHL2ARCHIVES) $(SHL2STDSHL) $(STDSHL2) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_2.cmd 1010*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 1011*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_2.cmd 1012*b1cdbd2cSJim Jagielski .ENDIF 1013*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_2.cmd 1014*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 1015*b1cdbd2cSJim Jagielski.IF "$(SHL2NOCHECK)"=="" 1016*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 1017*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL2TARGETN) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 1018*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 1019*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 1020*b1cdbd2cSJim Jagielski.ELSE 1021*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) -- -s $(SHL2TARGETN:d)check_$(SHL2TARGETN:f) 1022*b1cdbd2cSJim Jagielski.ENDIF 1023*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2NOCHECK)"!="" 1024*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 1025*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 1026*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 1027*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL2TARGETN:b) 1028*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL2TARGETN:f) $(SHL2TARGETN:b) 1029*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1030*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 1031*b1cdbd2cSJim Jagielski @ls -l $@ 1032*b1cdbd2cSJim Jagielski.ENDIF 1033*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 1034*b1cdbd2cSJim Jagielski 1035*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 1036*b1cdbd2cSJim Jagielski 1037*b1cdbd2cSJim Jagielski.IF "$(SHL2DEFAULTRES)"!="" 1038*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL2DEFAULTRES:b).rc > $(NULLDEV) 1039*b1cdbd2cSJim Jagielski.IF "$(SHL2ICON)" != "" 1040*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL2ICON) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1041*b1cdbd2cSJim Jagielski.ENDIF 1042*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 1043*b1cdbd2cSJim Jagielski.IF "$(SHL2ADD_VERINFO)"!="" 1044*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1045*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2ADD_VERINFO)"!="" 1046*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1047*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL2DEFAULTRES:b).rc 1048*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 1049*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 1050*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL2DEFAULTRES:b).rc 1051*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2DEFAULTRES)"!="" 1052*b1cdbd2cSJim Jagielski 1053*b1cdbd2cSJim Jagielski.IF "$(SHL2ALLRES)"!="" 1054*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL2ALLRES) > $(SHL2LINKRES) 1055*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2ALLRES)"!="" 1056*b1cdbd2cSJim Jagielski 1057*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 1058*b1cdbd2cSJim Jagielski 1059*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL2LINKER) $(SHL2LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 1060*b1cdbd2cSJim Jagielski $(SHL2DEF) \ 1061*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1062*b1cdbd2cSJim Jagielski -L$(LB) \ 1063*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 1064*b1cdbd2cSJim Jagielski $(SHL2OBJS) $(SHL2VERSIONOBJ) \ 1065*b1cdbd2cSJim Jagielski $(SHL2LIBS) \ 1066*b1cdbd2cSJim Jagielski $(SHL2LINKRES) \ 1067*b1cdbd2cSJim Jagielski $(SHL2STDLIBS) \ 1068*b1cdbd2cSJim Jagielski $(SHL2STDSHL) $(STDSHL2) 1069*b1cdbd2cSJim Jagielski 1070*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 1071*b1cdbd2cSJim Jagielski 1072*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL2LINKER) $(SHL2LINKFLAGS) \ 1073*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL2BASEX) \ 1074*b1cdbd2cSJim Jagielski $(SHL2STACK) -o $(SHL2TARGETN) \ 1075*b1cdbd2cSJim Jagielski $(SHL2DEF) \ 1076*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1077*b1cdbd2cSJim Jagielski -L$(LB) \ 1078*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 1079*b1cdbd2cSJim Jagielski $(SHL2OBJS) $(SHL2VERSIONOBJ) \ 1080*b1cdbd2cSJim Jagielski $(SHL2LIBS) \ 1081*b1cdbd2cSJim Jagielski $(SHL2LINKRES) \ 1082*b1cdbd2cSJim Jagielski $(SHL2STDLIBS) \ 1083*b1cdbd2cSJim Jagielski $(SHL2STDSHL) $(STDSHL2) 1084*b1cdbd2cSJim Jagielski 1085*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 1086*b1cdbd2cSJim Jagielski 1087*b1cdbd2cSJim Jagielski.IF "$(SHL2USE_EXPORTS)"=="name" 1088*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 1089*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 1090*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL2TARGETN:b).lib $@ 1091*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2USE_EXPORTS)"=="" 1092*b1cdbd2cSJim Jagielski 1093*b1cdbd2cSJim Jagielski.IF "$(SHL2TARGET8)" != "$(SHL2TARGET)" 1094*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL2TARGET8).dll 1095*b1cdbd2cSJim Jagielski.ENDIF 1096*b1cdbd2cSJim Jagielski 1097*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 1098*b1cdbd2cSJim Jagielski 1099*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL2TARGETN)"!="" 1100*b1cdbd2cSJim Jagielski 1101*b1cdbd2cSJim Jagielski# unroll begin 1102*b1cdbd2cSJim Jagielski 1103*b1cdbd2cSJim Jagielski.IF "$(SHL3TARGETN)"!="" 1104*b1cdbd2cSJim Jagielski 1105*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 1106*b1cdbd2cSJim JagielskiSHL3STDLIBS= 1107*b1cdbd2cSJim Jagielski.ENDIF 1108*b1cdbd2cSJim Jagielski 1109*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 1110*b1cdbd2cSJim JagielskiSHL3STDLIBS= 1111*b1cdbd2cSJim JagielskiSTDSHL= 1112*b1cdbd2cSJim Jagielski.ELSE 1113*b1cdbd2cSJim JagielskiSHL3ARCHIVES= 1114*b1cdbd2cSJim Jagielski.ENDIF 1115*b1cdbd2cSJim Jagielski 1116*b1cdbd2cSJim Jagielski# decide how to link 1117*b1cdbd2cSJim Jagielski.IF "$(SHL3CODETYPE)"=="C" 1118*b1cdbd2cSJim JagielskiSHL3LINKER=$(LINKC) 1119*b1cdbd2cSJim JagielskiSHL3STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 1120*b1cdbd2cSJim JagielskiSHL3LINKFLAGS+=$(LINKCFLAGS) 1121*b1cdbd2cSJim Jagielski.ELSE # "$(SHL3CODETYPE)"=="C" 1122*b1cdbd2cSJim JagielskiSHL3LINKER=$(LINK) 1123*b1cdbd2cSJim JagielskiSHL3STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 1124*b1cdbd2cSJim JagielskiSHL3LINKFLAGS+=$(LINKFLAGS) 1125*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3CODETYPE)"=="C" 1126*b1cdbd2cSJim Jagielski 1127*b1cdbd2cSJim JagielskiSHL3RPATH*=OOO 1128*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL3RPATH)*=/ERROR:/Bad_SHL3RPATH_value 1129*b1cdbd2cSJim JagielskiSHL3LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL3RPATH)) 1130*b1cdbd2cSJim Jagielski 1131*b1cdbd2cSJim Jagielski.IF "$(SHL3USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 1132*b1cdbd2cSJim JagielskiSHL3DEF*=$(MISC)/$(SHL3TARGET).def 1133*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3USE_EXPORTS)"=="" 1134*b1cdbd2cSJim Jagielski 1135*b1cdbd2cSJim JagielskiEXTRALIBPATHS3=$(EXTRALIBPATHS) 1136*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 1137*b1cdbd2cSJim Jagielski.IF "$(SHL3NOCHECK)"=="" 1138*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 1139*b1cdbd2cSJim JagielskiEXTRALIBPATHS3+=-L$(SOLAR_STLLIBPATH) 1140*b1cdbd2cSJim Jagielski.ENDIF 1141*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3NOCHECK)"!="" 1142*b1cdbd2cSJim Jagielski.ENDIF 1143*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1144*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 1145*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1146*b1cdbd2cSJim Jagielski 1147*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 1148*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 1149*b1cdbd2cSJim JagielskiSHL3VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL3TARGET))}$(VERSIONOBJ:f) 1150*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL3VERSIONOBJ:b).h 1151*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 1152*b1cdbd2cSJim JagielskiSHL3VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL3TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 1153*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 1154*b1cdbd2cSJim JagielskiSHL3VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL3TARGET))}$(VERSIONOBJ:f) 1155*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 1156*b1cdbd2cSJim Jagielski$(MISC)/$(SHL3VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL3VERSIONOBJ:b).h 1157*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 1158*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL3VERSIONOBJ:b).h/ > $@ 1159*b1cdbd2cSJim Jagielski 1160*b1cdbd2cSJim Jagielski.INIT : $(SHL3VERSIONOBJDEP) 1161*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 1162*b1cdbd2cSJim Jagielski.ENDIF 1163*b1cdbd2cSJim Jagielski 1164*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 1165*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1166*b1cdbd2cSJim Jagielski.IF "$(SHL3IMPLIB)" == "" 1167*b1cdbd2cSJim JagielskiSHL3IMPLIB=i$(TARGET)_t3 1168*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3IMPLIB)" == "" 1169*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 1170*b1cdbd2cSJim JagielskiUSE_3IMPLIB=-implib:$(LB)/$(SHL3IMPLIB).lib 1171*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 1172*b1cdbd2cSJim JagielskiSHL3IMPLIBN=$(LB)/$(SHL3IMPLIB).lib 1173*b1cdbd2cSJim JagielskiALLTAR : $(SHL3IMPLIBN) 1174*b1cdbd2cSJim Jagielski 1175*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 1176*b1cdbd2cSJim JagielskiUSE_3IMPLIB_DEPS=$(LB)/$(SHL3IMPLIB).lib 1177*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 1178*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1179*b1cdbd2cSJim JagielskiUSE_SHL3DEF=$(SHL3DEF) 1180*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 1181*b1cdbd2cSJim JagielskiUSE_SHL3DEF= 1182*b1cdbd2cSJim JagielskiSHL3DEPN+:=$(SHL3DEPNU) 1183*b1cdbd2cSJim Jagielski 1184*b1cdbd2cSJim Jagielski.IF "$(SHL3VERSIONMAP)"=="" 1185*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 1186*b1cdbd2cSJim JagielskiUSE_SHL3VERSIONMAP=$(MISC)/$(SHL3TARGET).vmap 1187*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3VERSIONMAP)"=="" 1188*b1cdbd2cSJim Jagielski 1189*b1cdbd2cSJim Jagielski.IF "$(USE_SHL3VERSIONMAP)"!="" 1190*b1cdbd2cSJim Jagielski 1191*b1cdbd2cSJim Jagielski.IF "$(SHL3FILTERFILE)"!="" 1192*b1cdbd2cSJim Jagielski.IF "$(SHL3VERSIONMAP)"!="" 1193*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 1194*b1cdbd2cSJim JagielskiUSE_SHL3VERSIONMAP=$(MISC)/$(SHL3TARGET).vmap 1195*b1cdbd2cSJim Jagielski$(USE_SHL3VERSIONMAP) .PHONY: 1196*b1cdbd2cSJim Jagielski @echo ----------------------------- 1197*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 1198*b1cdbd2cSJim Jagielski @echo ----------------------------- 1199*b1cdbd2cSJim Jagielski# force_dmake_to_error 1200*b1cdbd2cSJim Jagielski 1201*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3VERSIONMAP)"!="" 1202*b1cdbd2cSJim Jagielski 1203*b1cdbd2cSJim JagielskiSHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP) 1204*b1cdbd2cSJim Jagielski 1205*b1cdbd2cSJim Jagielski$(USE_SHL3VERSIONMAP): \ 1206*b1cdbd2cSJim Jagielski $(SHL3OBJS)\ 1207*b1cdbd2cSJim Jagielski $(SHL3LIBS)\ 1208*b1cdbd2cSJim Jagielski $(SHL3FILTERFILE) 1209*b1cdbd2cSJim Jagielski @$(RM) $@.dump 1210*b1cdbd2cSJim Jagielski.IF "$(SHL3OBJS)"!="" 1211*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 1212*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1213*b1cdbd2cSJim Jagielski @-nm $(SHL3OBJS:s/.obj/.o/) > $@.dump 1214*b1cdbd2cSJim Jagielski.ELSE 1215*b1cdbd2cSJim Jagielski @nm $(SHL3OBJS:s/.obj/.o/) > $@.dump 1216*b1cdbd2cSJim Jagielski.ENDIF 1217*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3OBJS)!"="" 1218*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL3LIBS:s/.lib/.dump/) >> $@.dump 1219*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL3INTERFACE) -f $(SHL3FILTERFILE) -m $@ 1220*b1cdbd2cSJim Jagielski 1221*b1cdbd2cSJim Jagielski.ELSE # "$(SHL3FILTERFILE)"!="" 1222*b1cdbd2cSJim JagielskiUSE_SHL3VERSIONMAP=$(MISC)/$(SHL3TARGET).vmap 1223*b1cdbd2cSJim Jagielski$(USE_SHL3VERSIONMAP) : 1224*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 1225*b1cdbd2cSJim Jagielski @echo ----------------------------- 1226*b1cdbd2cSJim Jagielski @echo SHL3FILTERFILE not set! 1227*b1cdbd2cSJim Jagielski @echo ----------------------------- 1228*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 1229*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 1230*b1cdbd2cSJim Jagielski.ELSE 1231*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 1232*b1cdbd2cSJim Jagielski.ENDIF 1233*b1cdbd2cSJim Jagielski# force_dmake_to_error 1234*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3FILTERFILE)"!="" 1235*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL3VERSIONMAP)"!="" 1236*b1cdbd2cSJim Jagielski 1237*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 1238*b1cdbd2cSJim Jagielski.IF "$(SHL3VERSIONMAP)"!="" 1239*b1cdbd2cSJim JagielskiUSE_SHL3VERSIONMAP=$(MISC)/$(SHL3VERSIONMAP:b)_$(SHL3TARGET)$(SHL3VERSIONMAP:e) 1240*b1cdbd2cSJim JagielskiSHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP) 1241*b1cdbd2cSJim Jagielski 1242*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1243*b1cdbd2cSJim Jagielski$(USE_SHL3VERSIONMAP): $(SHL3OBJS) $(SHL3LIBS) 1244*b1cdbd2cSJim Jagielski.ENDIF 1245*b1cdbd2cSJim Jagielski 1246*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 1247*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 1248*b1cdbd2cSJim Jagielski$(USE_SHL3VERSIONMAP) .ERRREMOVE: $(SHL3VERSIONMAP) 1249*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 1250*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 1251*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 1252*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1253*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 1254*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 1255*b1cdbd2cSJim Jagielski.ENDIF 1256*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 1257*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 1258*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 1259*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL3VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 1260*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 1261*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL3VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 1262*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 1263*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL3VERSIONMAP) > $@ 1264*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 1265*b1cdbd2cSJim Jagielski @chmod a+w $@ 1266*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 1267*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 1268*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1269*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 1270*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 1271*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 1272*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 1273*b1cdbd2cSJim Jagielski.IF "$(SHL3OBJS)"!="" 1274*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL3OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 1275*b1cdbd2cSJim Jagielski.ENDIF 1276*b1cdbd2cSJim Jagielski.IF "$(SHL3LIBS)"!="" 1277*b1cdbd2cSJim Jagielski $(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 1278*b1cdbd2cSJim Jagielski.ENDIF 1279*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 1280*b1cdbd2cSJim Jagielski# exported symbols list 1281*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 1282*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 1283*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3VERSIONMAP)"!="" 1284*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL3VERSIONMAP)"!="" 1285*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 1286*b1cdbd2cSJim Jagielski 1287*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 1288*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 1289*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 1290*b1cdbd2cSJim JagielskiSHL3SONAME=\"$(SONAME_SWITCH)$(SHL3TARGETN:f)\" 1291*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 1292*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 1293*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1294*b1cdbd2cSJim Jagielski 1295*b1cdbd2cSJim Jagielski.IF "$(SHL3RES)"!="" 1296*b1cdbd2cSJim JagielskiSHL3ALLRES+=$(SHL3RES) 1297*b1cdbd2cSJim JagielskiSHL3LINKRES*=$(MISC)/$(SHL3TARGET).res 1298*b1cdbd2cSJim JagielskiSHL3LINKRESO*=$(MISC)/$(SHL3TARGET)_res.o 1299*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3RES)"!="" 1300*b1cdbd2cSJim Jagielski 1301*b1cdbd2cSJim Jagielski.IF "$(SHL3DEFAULTRES)$(use_shl_versions)"!="" 1302*b1cdbd2cSJim JagielskiSHL3DEFAULTRES*=$(MISC)/$(SHL3TARGET)_def.res 1303*b1cdbd2cSJim JagielskiSHL3ALLRES+=$(SHL3DEFAULTRES) 1304*b1cdbd2cSJim JagielskiSHL3LINKRES*=$(MISC)/$(SHL3TARGET).res 1305*b1cdbd2cSJim JagielskiSHL3LINKRESO*=$(MISC)/$(SHL3TARGET)_res.o 1306*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3DEFAULTRES)$(use_shl_versions)"!="" 1307*b1cdbd2cSJim Jagielski 1308*b1cdbd2cSJim Jagielski#.IF "$(SHL3TARGETN)"!="" 1309*b1cdbd2cSJim Jagielski 1310*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 1311*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1312*b1cdbd2cSJim Jagielski.IF "$(SHL3LIBS)"!="" 1313*b1cdbd2cSJim Jagielski$(MISC)/$(SHL3TARGET)_linkinc.ls .PHONY: 1314*b1cdbd2cSJim Jagielski @@-$(RM) $@ 1315*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL3LIBS) $(i:s/.lib/.lin/)) >> $@ 1316*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3LIBS)"!="" 1317*b1cdbd2cSJim Jagielski.ENDIF 1318*b1cdbd2cSJim Jagielski 1319*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL3TARGETN:b)_linkinc.ls 1320*b1cdbd2cSJim Jagielski$(SHL3TARGETN) : $(LINKINCTARGETS) 1321*b1cdbd2cSJim Jagielski 1322*b1cdbd2cSJim Jagielski.ELSE 1323*b1cdbd2cSJim Jagielski.IF "$(SHL3USE_EXPORTS)"=="name" 1324*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1325*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 1326*b1cdbd2cSJim Jagielski.IF "$(SHL3LIBS)"!="" 1327*b1cdbd2cSJim JagielskiSHL3LINKLIST=$(MISC)/$(SHL3TARGET)_link.lst 1328*b1cdbd2cSJim JagielskiSHL3LINKLISTPARAM=@$(SHL3LINKLIST) 1329*b1cdbd2cSJim Jagielski$(SHL3LINKLIST) : $(SHL3LIBS) 1330*b1cdbd2cSJim Jagielski @@-$(RM) $@ 1331*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL3LIBS) $(i:s/.lib/.lin/)) >> $@ 1332*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3LIBS)"!="" 1333*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 1334*b1cdbd2cSJim Jagielski.ENDIF 1335*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3USE_EXPORTS)"=="name" 1336*b1cdbd2cSJim Jagielski 1337*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 1338*b1cdbd2cSJim Jagielski @echo . > $@ 1339*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 1340*b1cdbd2cSJim Jagielski 1341*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 1342*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 1343*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 1344*b1cdbd2cSJim JagielskiSHL3TARGET8=$(shell @fix_shl.cmd $(SHL3TARGET)) 1345*b1cdbd2cSJim Jagielski.ENDIF 1346*b1cdbd2cSJim Jagielski 1347*b1cdbd2cSJim Jagielski 1348*b1cdbd2cSJim Jagielski$(SHL3TARGETN) : \ 1349*b1cdbd2cSJim Jagielski $(SHL3OBJS)\ 1350*b1cdbd2cSJim Jagielski $(SHL3LIBS)\ 1351*b1cdbd2cSJim Jagielski $(USE_3IMPLIB_DEPS)\ 1352*b1cdbd2cSJim Jagielski $(USE_SHL3DEF)\ 1353*b1cdbd2cSJim Jagielski $(USE_SHL3VERSIONMAP)\ 1354*b1cdbd2cSJim Jagielski $(SHL3RES)\ 1355*b1cdbd2cSJim Jagielski $(SHL3DEPN) \ 1356*b1cdbd2cSJim Jagielski $(SHL3LINKLIST) 1357*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 1358*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 1359*b1cdbd2cSJim Jagielski.IF "$(SHL3DEFAULTRES)"!="" 1360*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL3DEFAULTRES:b).rc 1361*b1cdbd2cSJim Jagielski.IF "$(SHL3ICON)" != "" 1362*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL3ICON) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1363*b1cdbd2cSJim Jagielski.ENDIF 1364*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 1365*b1cdbd2cSJim Jagielski.IF "$(SHL3ADD_VERINFO)"!="" 1366*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL3ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1367*b1cdbd2cSJim Jagielski.ELSE # "$(SHL3ADD_VERINFO)"!="" 1368*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1369*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1370*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1371*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3ADD_VERINFO)"!="" 1372*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1373*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL3TARGET)$(DLLPOST) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1374*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL3TARGET:b) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1375*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1376*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 1377*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL3DEFAULTRES:b).rc 1378*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3DEFAULTRES)"!="" 1379*b1cdbd2cSJim Jagielski.IF "$(SHL3ALLRES)"!="" 1380*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL3ALLRES) > $(SHL3LINKRES) 1381*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 1382*b1cdbd2cSJim Jagielski windres $(SHL3LINKRES) $(SHL3LINKRESO) 1383*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 1384*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3ALLRES)"!="" 1385*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 1386*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL3TARGET)$(DLLPOST) \ 1387*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_3.cmd 1388*b1cdbd2cSJim Jagielski @noop $(assign ALL3OBJLIST:=$(STDOBJ) $(SHL3OBJS) $(SHL3LINKRESO) $(shell $(TYPE) /dev/null $(SHL3LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1389*b1cdbd2cSJim Jagielski.IF "$(DEFLIB3NAME)"!="" # do not have to include objs 1390*b1cdbd2cSJim Jagielski @noop $(assign DEF3OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1391*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF3OBJLIST) $(assign ALL3OBJLIST:=$(ALL3OBJLIST:s?$i??))) 1392*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB3NAME)"!="" 1393*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1394*b1cdbd2cSJim Jagielski.IF "$(SHL3DEF)"!="" 1395*b1cdbd2cSJim Jagielski @echo --input-def $(SHL3DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1396*b1cdbd2cSJim Jagielski.ELSE 1397*b1cdbd2cSJim Jagielski @echo $(SHL3VERSIONOBJ) $(SHL3DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1398*b1cdbd2cSJim Jagielski.ENDIF 1399*b1cdbd2cSJim Jagielski @echo $(ALL3OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1400*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 1401*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL3VERSIONOBJ) $(SHL3DESCRIPTIONOBJ) $(SHL3OBJS) $(SHL3LINKRESO) \ 1402*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL3LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 1403*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL3STDLIBS) -Wl,--end-group \ 1404*b1cdbd2cSJim Jagielski $(SHL3STDSHL) $(STDSHL3) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 1405*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1406*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 1407*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_3.cmd 1408*b1cdbd2cSJim Jagielski .ENDIF 1409*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_3.cmd 1410*b1cdbd2cSJim Jagielski.ELSE 1411*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 1412*b1cdbd2cSJim Jagielski.IF "$(SHL3USE_EXPORTS)"!="name" 1413*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 1414*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL3LINKER) @$(mktmp \ 1415*b1cdbd2cSJim Jagielski $(SHL3LINKFLAGS) \ 1416*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 1417*b1cdbd2cSJim Jagielski $(SHL3STACK) $(SHL3BASEX) \ 1418*b1cdbd2cSJim Jagielski -out:$@ \ 1419*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 1420*b1cdbd2cSJim Jagielski -def:$(SHL3DEF) \ 1421*b1cdbd2cSJim Jagielski $(USE_3IMPLIB) \ 1422*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1423*b1cdbd2cSJim Jagielski $(SHL3VERSIONOBJ) $(SHL3OBJS) \ 1424*b1cdbd2cSJim Jagielski $(SHL3LIBS) \ 1425*b1cdbd2cSJim Jagielski $(SHL3STDLIBS) \ 1426*b1cdbd2cSJim Jagielski $(SHL3STDSHL) $(STDSHL3) \ 1427*b1cdbd2cSJim Jagielski $(SHL3LINKRES) \ 1428*b1cdbd2cSJim Jagielski ) 1429*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 1430*b1cdbd2cSJim Jagielski @@$(LS) $@ 1431*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 1432*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 1433*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1434*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1435*b1cdbd2cSJim Jagielski.ELSE 1436*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1437*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 1438*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1439*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1440*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 1441*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL3LINKER) @$(mktmp $(SHL3LINKFLAGS) \ 1442*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL3BASEX) \ 1443*b1cdbd2cSJim Jagielski $(SHL3STACK) -out:$(SHL3TARGETN) \ 1444*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 1445*b1cdbd2cSJim Jagielski $(LB)/$(SHL3IMPLIB).exp \ 1446*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1447*b1cdbd2cSJim Jagielski $(SHL3OBJS) $(SHL3VERSIONOBJ) \ 1448*b1cdbd2cSJim Jagielski $(SHL3LIBS) \ 1449*b1cdbd2cSJim Jagielski $(SHL3STDLIBS) \ 1450*b1cdbd2cSJim Jagielski $(SHL3STDSHL) $(STDSHL3) \ 1451*b1cdbd2cSJim Jagielski $(SHL3LINKRES) \ 1452*b1cdbd2cSJim Jagielski ) 1453*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 1454*b1cdbd2cSJim Jagielski @@$(LS) $@ 1455*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 1456*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 1457*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1458*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1459*b1cdbd2cSJim Jagielski.ELSE 1460*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1461*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 1462*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1463*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1464*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 1465*b1cdbd2cSJim Jagielski.ELSE # "$(SHL3USE_EXPORTS)"!="name" 1466*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL3LINKER) @$(mktmp $(SHL3LINKFLAGS) \ 1467*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL3BASEX) \ 1468*b1cdbd2cSJim Jagielski $(SHL3STACK) -out:$(SHL3TARGETN) \ 1469*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 1470*b1cdbd2cSJim Jagielski $(USE_3IMPLIB) \ 1471*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1472*b1cdbd2cSJim Jagielski $(SHL3OBJS) $(SHL3VERSIONOBJ)) \ 1473*b1cdbd2cSJim Jagielski $(SHL3LINKLISTPARAM) \ 1474*b1cdbd2cSJim Jagielski @$(mktmp $(SHL3STDLIBS) \ 1475*b1cdbd2cSJim Jagielski $(SHL3STDSHL) $(STDSHL3) \ 1476*b1cdbd2cSJim Jagielski $(SHL3LINKRES) \ 1477*b1cdbd2cSJim Jagielski ) 1478*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 1479*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 1480*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1481*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1482*b1cdbd2cSJim Jagielski.ELSE 1483*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1484*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 1485*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1486*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1487*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3USE_EXPORTS)"!="name" 1488*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 1489*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL3TARGET).lnk 1490*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL3TARGET).lst 1491*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 1492*b1cdbd2cSJim Jagielski $(SHL3LINKFLAGS) \ 1493*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL3BASEX) \ 1494*b1cdbd2cSJim Jagielski $(SHL3STACK) $(MAPFILE) \ 1495*b1cdbd2cSJim Jagielski -out:$@ \ 1496*b1cdbd2cSJim Jagielski $(LB)/$(SHL3IMPLIB).exp \ 1497*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1498*b1cdbd2cSJim Jagielski $(SHL3OBJS) \ 1499*b1cdbd2cSJim Jagielski $(SHL3STDLIBS) \ 1500*b1cdbd2cSJim Jagielski $(SHL3STDSHL) $(STDSHL3) \ 1501*b1cdbd2cSJim Jagielski $(SHL3LINKRES) \ 1502*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL3TARGET).lnk 1503*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL3TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL3TARGET).lnk 1504*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL3LINKER) @$(MISC)/$(SHL3TARGET).lnk 1505*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 1506*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 1507*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1508*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1509*b1cdbd2cSJim Jagielski.ELSE 1510*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1511*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 1512*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1513*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1514*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 1515*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 1516*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 1517*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 1518*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1519*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 1520*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd 1521*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL3OBJS:s/.obj/.o/) \ 1522*b1cdbd2cSJim Jagielski $(SHL3VERSIONOBJ) \ 1523*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL3LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 1524*b1cdbd2cSJim Jagielski @echo -n $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 1525*b1cdbd2cSJim Jagielski $(SHL3STDLIBS) $(SHL3ARCHIVES) $(SHL3STDSHL) $(STDSHL3) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_3.cmd 1526*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 1527*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_3.cmd` \ 1528*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_3.cmd 1529*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 1530*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_3.cmd 1531*b1cdbd2cSJim Jagielski .ENDIF 1532*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_3.cmd 1533*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 1534*b1cdbd2cSJim Jagielski shl $(SHL3RPATH) $@ 1535*b1cdbd2cSJim Jagielski.IF "$(SHL3CREATEJNILIB)"!="" 1536*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 1537*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 1538*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3CREATEJNILIB)"!="" 1539*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 1540*b1cdbd2cSJim Jagielski.IF "$(SHL3NOCHECK)"=="" 1541*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) $(SHL3TARGETN) 1542*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3NOCHECK)"!="" 1543*b1cdbd2cSJim Jagielski.ENDIF 1544*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 1545*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd 1546*b1cdbd2cSJim Jagielski @echo $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3SONAME) $(LINKFLAGSSHL) $(SHL3VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL3OBJS:s/.obj/.o/) \ 1547*b1cdbd2cSJim Jagielski $(SHL3VERSIONOBJ) -o $@ \ 1548*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL3LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 1549*b1cdbd2cSJim Jagielski $(SHL3STDLIBS) $(SHL3ARCHIVES) $(SHL3STDSHL) $(STDSHL3) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_3.cmd 1550*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 1551*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_3.cmd 1552*b1cdbd2cSJim Jagielski .ENDIF 1553*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_3.cmd 1554*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 1555*b1cdbd2cSJim Jagielski.IF "$(SHL3NOCHECK)"=="" 1556*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1557*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL3TARGETN) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1558*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 1559*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1560*b1cdbd2cSJim Jagielski.ELSE 1561*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) -- -s $(SHL3TARGETN:d)check_$(SHL3TARGETN:f) 1562*b1cdbd2cSJim Jagielski.ENDIF 1563*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3NOCHECK)"!="" 1564*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 1565*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 1566*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 1567*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL3TARGETN:b) 1568*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL3TARGETN:f) $(SHL3TARGETN:b) 1569*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1570*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 1571*b1cdbd2cSJim Jagielski @ls -l $@ 1572*b1cdbd2cSJim Jagielski.ENDIF 1573*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 1574*b1cdbd2cSJim Jagielski 1575*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 1576*b1cdbd2cSJim Jagielski 1577*b1cdbd2cSJim Jagielski.IF "$(SHL3DEFAULTRES)"!="" 1578*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL3DEFAULTRES:b).rc > $(NULLDEV) 1579*b1cdbd2cSJim Jagielski.IF "$(SHL3ICON)" != "" 1580*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL3ICON) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1581*b1cdbd2cSJim Jagielski.ENDIF 1582*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 1583*b1cdbd2cSJim Jagielski.IF "$(SHL3ADD_VERINFO)"!="" 1584*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL3ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1585*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3ADD_VERINFO)"!="" 1586*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1587*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL3DEFAULTRES:b).rc 1588*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 1589*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 1590*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL3DEFAULTRES:b).rc 1591*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3DEFAULTRES)"!="" 1592*b1cdbd2cSJim Jagielski 1593*b1cdbd2cSJim Jagielski.IF "$(SHL3ALLRES)"!="" 1594*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL3ALLRES) > $(SHL3LINKRES) 1595*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3ALLRES)"!="" 1596*b1cdbd2cSJim Jagielski 1597*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 1598*b1cdbd2cSJim Jagielski 1599*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL3LINKER) $(SHL3LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 1600*b1cdbd2cSJim Jagielski $(SHL3DEF) \ 1601*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1602*b1cdbd2cSJim Jagielski -L$(LB) \ 1603*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 1604*b1cdbd2cSJim Jagielski $(SHL3OBJS) $(SHL3VERSIONOBJ) \ 1605*b1cdbd2cSJim Jagielski $(SHL3LIBS) \ 1606*b1cdbd2cSJim Jagielski $(SHL3LINKRES) \ 1607*b1cdbd2cSJim Jagielski $(SHL3STDLIBS) \ 1608*b1cdbd2cSJim Jagielski $(SHL3STDSHL) $(STDSHL3) 1609*b1cdbd2cSJim Jagielski 1610*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 1611*b1cdbd2cSJim Jagielski 1612*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL3LINKER) $(SHL3LINKFLAGS) \ 1613*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL3BASEX) \ 1614*b1cdbd2cSJim Jagielski $(SHL3STACK) -o $(SHL3TARGETN) \ 1615*b1cdbd2cSJim Jagielski $(SHL3DEF) \ 1616*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1617*b1cdbd2cSJim Jagielski -L$(LB) \ 1618*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 1619*b1cdbd2cSJim Jagielski $(SHL3OBJS) $(SHL3VERSIONOBJ) \ 1620*b1cdbd2cSJim Jagielski $(SHL3LIBS) \ 1621*b1cdbd2cSJim Jagielski $(SHL3LINKRES) \ 1622*b1cdbd2cSJim Jagielski $(SHL3STDLIBS) \ 1623*b1cdbd2cSJim Jagielski $(SHL3STDSHL) $(STDSHL3) 1624*b1cdbd2cSJim Jagielski 1625*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 1626*b1cdbd2cSJim Jagielski 1627*b1cdbd2cSJim Jagielski.IF "$(SHL3USE_EXPORTS)"=="name" 1628*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 1629*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 1630*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL3TARGETN:b).lib $@ 1631*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3USE_EXPORTS)"=="" 1632*b1cdbd2cSJim Jagielski 1633*b1cdbd2cSJim Jagielski.IF "$(SHL3TARGET8)" != "$(SHL3TARGET)" 1634*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL3TARGET8).dll 1635*b1cdbd2cSJim Jagielski.ENDIF 1636*b1cdbd2cSJim Jagielski 1637*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 1638*b1cdbd2cSJim Jagielski 1639*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL3TARGETN)"!="" 1640*b1cdbd2cSJim Jagielski 1641*b1cdbd2cSJim Jagielski# unroll begin 1642*b1cdbd2cSJim Jagielski 1643*b1cdbd2cSJim Jagielski.IF "$(SHL4TARGETN)"!="" 1644*b1cdbd2cSJim Jagielski 1645*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 1646*b1cdbd2cSJim JagielskiSHL4STDLIBS= 1647*b1cdbd2cSJim Jagielski.ENDIF 1648*b1cdbd2cSJim Jagielski 1649*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 1650*b1cdbd2cSJim JagielskiSHL4STDLIBS= 1651*b1cdbd2cSJim JagielskiSTDSHL= 1652*b1cdbd2cSJim Jagielski.ELSE 1653*b1cdbd2cSJim JagielskiSHL4ARCHIVES= 1654*b1cdbd2cSJim Jagielski.ENDIF 1655*b1cdbd2cSJim Jagielski 1656*b1cdbd2cSJim Jagielski# decide how to link 1657*b1cdbd2cSJim Jagielski.IF "$(SHL4CODETYPE)"=="C" 1658*b1cdbd2cSJim JagielskiSHL4LINKER=$(LINKC) 1659*b1cdbd2cSJim JagielskiSHL4STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 1660*b1cdbd2cSJim JagielskiSHL4LINKFLAGS+=$(LINKCFLAGS) 1661*b1cdbd2cSJim Jagielski.ELSE # "$(SHL4CODETYPE)"=="C" 1662*b1cdbd2cSJim JagielskiSHL4LINKER=$(LINK) 1663*b1cdbd2cSJim JagielskiSHL4STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 1664*b1cdbd2cSJim JagielskiSHL4LINKFLAGS+=$(LINKFLAGS) 1665*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4CODETYPE)"=="C" 1666*b1cdbd2cSJim Jagielski 1667*b1cdbd2cSJim JagielskiSHL4RPATH*=OOO 1668*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL4RPATH)*=/ERROR:/Bad_SHL4RPATH_value 1669*b1cdbd2cSJim JagielskiSHL4LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL4RPATH)) 1670*b1cdbd2cSJim Jagielski 1671*b1cdbd2cSJim Jagielski.IF "$(SHL4USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 1672*b1cdbd2cSJim JagielskiSHL4DEF*=$(MISC)/$(SHL4TARGET).def 1673*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4USE_EXPORTS)"=="" 1674*b1cdbd2cSJim Jagielski 1675*b1cdbd2cSJim JagielskiEXTRALIBPATHS4=$(EXTRALIBPATHS) 1676*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 1677*b1cdbd2cSJim Jagielski.IF "$(SHL4NOCHECK)"=="" 1678*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 1679*b1cdbd2cSJim JagielskiEXTRALIBPATHS4+=-L$(SOLAR_STLLIBPATH) 1680*b1cdbd2cSJim Jagielski.ENDIF 1681*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4NOCHECK)"!="" 1682*b1cdbd2cSJim Jagielski.ENDIF 1683*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1684*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 1685*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1686*b1cdbd2cSJim Jagielski 1687*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 1688*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 1689*b1cdbd2cSJim JagielskiSHL4VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL4TARGET))}$(VERSIONOBJ:f) 1690*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL4VERSIONOBJ:b).h 1691*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 1692*b1cdbd2cSJim JagielskiSHL4VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL4TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 1693*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 1694*b1cdbd2cSJim JagielskiSHL4VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL4TARGET))}$(VERSIONOBJ:f) 1695*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 1696*b1cdbd2cSJim Jagielski$(MISC)/$(SHL4VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL4VERSIONOBJ:b).h 1697*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 1698*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL4VERSIONOBJ:b).h/ > $@ 1699*b1cdbd2cSJim Jagielski 1700*b1cdbd2cSJim Jagielski.INIT : $(SHL4VERSIONOBJDEP) 1701*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 1702*b1cdbd2cSJim Jagielski.ENDIF 1703*b1cdbd2cSJim Jagielski 1704*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 1705*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1706*b1cdbd2cSJim Jagielski.IF "$(SHL4IMPLIB)" == "" 1707*b1cdbd2cSJim JagielskiSHL4IMPLIB=i$(TARGET)_t4 1708*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4IMPLIB)" == "" 1709*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 1710*b1cdbd2cSJim JagielskiUSE_4IMPLIB=-implib:$(LB)/$(SHL4IMPLIB).lib 1711*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 1712*b1cdbd2cSJim JagielskiSHL4IMPLIBN=$(LB)/$(SHL4IMPLIB).lib 1713*b1cdbd2cSJim JagielskiALLTAR : $(SHL4IMPLIBN) 1714*b1cdbd2cSJim Jagielski 1715*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 1716*b1cdbd2cSJim JagielskiUSE_4IMPLIB_DEPS=$(LB)/$(SHL4IMPLIB).lib 1717*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 1718*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 1719*b1cdbd2cSJim JagielskiUSE_SHL4DEF=$(SHL4DEF) 1720*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 1721*b1cdbd2cSJim JagielskiUSE_SHL4DEF= 1722*b1cdbd2cSJim JagielskiSHL4DEPN+:=$(SHL4DEPNU) 1723*b1cdbd2cSJim Jagielski 1724*b1cdbd2cSJim Jagielski.IF "$(SHL4VERSIONMAP)"=="" 1725*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 1726*b1cdbd2cSJim JagielskiUSE_SHL4VERSIONMAP=$(MISC)/$(SHL4TARGET).vmap 1727*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4VERSIONMAP)"=="" 1728*b1cdbd2cSJim Jagielski 1729*b1cdbd2cSJim Jagielski.IF "$(USE_SHL4VERSIONMAP)"!="" 1730*b1cdbd2cSJim Jagielski 1731*b1cdbd2cSJim Jagielski.IF "$(SHL4FILTERFILE)"!="" 1732*b1cdbd2cSJim Jagielski.IF "$(SHL4VERSIONMAP)"!="" 1733*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 1734*b1cdbd2cSJim JagielskiUSE_SHL4VERSIONMAP=$(MISC)/$(SHL4TARGET).vmap 1735*b1cdbd2cSJim Jagielski$(USE_SHL4VERSIONMAP) .PHONY: 1736*b1cdbd2cSJim Jagielski @echo ----------------------------- 1737*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 1738*b1cdbd2cSJim Jagielski @echo ----------------------------- 1739*b1cdbd2cSJim Jagielski# force_dmake_to_error 1740*b1cdbd2cSJim Jagielski 1741*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4VERSIONMAP)"!="" 1742*b1cdbd2cSJim Jagielski 1743*b1cdbd2cSJim JagielskiSHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP) 1744*b1cdbd2cSJim Jagielski 1745*b1cdbd2cSJim Jagielski$(USE_SHL4VERSIONMAP): \ 1746*b1cdbd2cSJim Jagielski $(SHL4OBJS)\ 1747*b1cdbd2cSJim Jagielski $(SHL4LIBS)\ 1748*b1cdbd2cSJim Jagielski $(SHL4FILTERFILE) 1749*b1cdbd2cSJim Jagielski @$(RM) $@.dump 1750*b1cdbd2cSJim Jagielski.IF "$(SHL4OBJS)"!="" 1751*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 1752*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1753*b1cdbd2cSJim Jagielski @-nm $(SHL4OBJS:s/.obj/.o/) > $@.dump 1754*b1cdbd2cSJim Jagielski.ELSE 1755*b1cdbd2cSJim Jagielski @nm $(SHL4OBJS:s/.obj/.o/) > $@.dump 1756*b1cdbd2cSJim Jagielski.ENDIF 1757*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4OBJS)!"="" 1758*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL4LIBS:s/.lib/.dump/) >> $@.dump 1759*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL4INTERFACE) -f $(SHL4FILTERFILE) -m $@ 1760*b1cdbd2cSJim Jagielski 1761*b1cdbd2cSJim Jagielski.ELSE # "$(SHL4FILTERFILE)"!="" 1762*b1cdbd2cSJim JagielskiUSE_SHL4VERSIONMAP=$(MISC)/$(SHL4TARGET).vmap 1763*b1cdbd2cSJim Jagielski$(USE_SHL4VERSIONMAP) : 1764*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 1765*b1cdbd2cSJim Jagielski @echo ----------------------------- 1766*b1cdbd2cSJim Jagielski @echo SHL4FILTERFILE not set! 1767*b1cdbd2cSJim Jagielski @echo ----------------------------- 1768*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 1769*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 1770*b1cdbd2cSJim Jagielski.ELSE 1771*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 1772*b1cdbd2cSJim Jagielski.ENDIF 1773*b1cdbd2cSJim Jagielski# force_dmake_to_error 1774*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4FILTERFILE)"!="" 1775*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL4VERSIONMAP)"!="" 1776*b1cdbd2cSJim Jagielski 1777*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 1778*b1cdbd2cSJim Jagielski.IF "$(SHL4VERSIONMAP)"!="" 1779*b1cdbd2cSJim JagielskiUSE_SHL4VERSIONMAP=$(MISC)/$(SHL4VERSIONMAP:b)_$(SHL4TARGET)$(SHL4VERSIONMAP:e) 1780*b1cdbd2cSJim JagielskiSHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP) 1781*b1cdbd2cSJim Jagielski 1782*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1783*b1cdbd2cSJim Jagielski$(USE_SHL4VERSIONMAP): $(SHL4OBJS) $(SHL4LIBS) 1784*b1cdbd2cSJim Jagielski.ENDIF 1785*b1cdbd2cSJim Jagielski 1786*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 1787*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 1788*b1cdbd2cSJim Jagielski$(USE_SHL4VERSIONMAP) .ERRREMOVE: $(SHL4VERSIONMAP) 1789*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 1790*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 1791*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 1792*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1793*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 1794*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 1795*b1cdbd2cSJim Jagielski.ENDIF 1796*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 1797*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 1798*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 1799*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL4VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 1800*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 1801*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL4VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 1802*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 1803*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL4VERSIONMAP) > $@ 1804*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 1805*b1cdbd2cSJim Jagielski @chmod a+w $@ 1806*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 1807*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 1808*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 1809*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 1810*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 1811*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 1812*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 1813*b1cdbd2cSJim Jagielski.IF "$(SHL4OBJS)"!="" 1814*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL4OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 1815*b1cdbd2cSJim Jagielski.ENDIF 1816*b1cdbd2cSJim Jagielski.IF "$(SHL4LIBS)"!="" 1817*b1cdbd2cSJim Jagielski $(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 1818*b1cdbd2cSJim Jagielski.ENDIF 1819*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 1820*b1cdbd2cSJim Jagielski# exported symbols list 1821*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 1822*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 1823*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4VERSIONMAP)"!="" 1824*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL4VERSIONMAP)"!="" 1825*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 1826*b1cdbd2cSJim Jagielski 1827*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 1828*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 1829*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 1830*b1cdbd2cSJim JagielskiSHL4SONAME=\"$(SONAME_SWITCH)$(SHL4TARGETN:f)\" 1831*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 1832*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 1833*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 1834*b1cdbd2cSJim Jagielski 1835*b1cdbd2cSJim Jagielski.IF "$(SHL4RES)"!="" 1836*b1cdbd2cSJim JagielskiSHL4ALLRES+=$(SHL4RES) 1837*b1cdbd2cSJim JagielskiSHL4LINKRES*=$(MISC)/$(SHL4TARGET).res 1838*b1cdbd2cSJim JagielskiSHL4LINKRESO*=$(MISC)/$(SHL4TARGET)_res.o 1839*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4RES)"!="" 1840*b1cdbd2cSJim Jagielski 1841*b1cdbd2cSJim Jagielski.IF "$(SHL4DEFAULTRES)$(use_shl_versions)"!="" 1842*b1cdbd2cSJim JagielskiSHL4DEFAULTRES*=$(MISC)/$(SHL4TARGET)_def.res 1843*b1cdbd2cSJim JagielskiSHL4ALLRES+=$(SHL4DEFAULTRES) 1844*b1cdbd2cSJim JagielskiSHL4LINKRES*=$(MISC)/$(SHL4TARGET).res 1845*b1cdbd2cSJim JagielskiSHL4LINKRESO*=$(MISC)/$(SHL4TARGET)_res.o 1846*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4DEFAULTRES)$(use_shl_versions)"!="" 1847*b1cdbd2cSJim Jagielski 1848*b1cdbd2cSJim Jagielski#.IF "$(SHL4TARGETN)"!="" 1849*b1cdbd2cSJim Jagielski 1850*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 1851*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1852*b1cdbd2cSJim Jagielski.IF "$(SHL4LIBS)"!="" 1853*b1cdbd2cSJim Jagielski$(MISC)/$(SHL4TARGET)_linkinc.ls .PHONY: 1854*b1cdbd2cSJim Jagielski @@-$(RM) $@ 1855*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL4LIBS) $(i:s/.lib/.lin/)) >> $@ 1856*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4LIBS)"!="" 1857*b1cdbd2cSJim Jagielski.ENDIF 1858*b1cdbd2cSJim Jagielski 1859*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL4TARGETN:b)_linkinc.ls 1860*b1cdbd2cSJim Jagielski$(SHL4TARGETN) : $(LINKINCTARGETS) 1861*b1cdbd2cSJim Jagielski 1862*b1cdbd2cSJim Jagielski.ELSE 1863*b1cdbd2cSJim Jagielski.IF "$(SHL4USE_EXPORTS)"=="name" 1864*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 1865*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 1866*b1cdbd2cSJim Jagielski.IF "$(SHL4LIBS)"!="" 1867*b1cdbd2cSJim JagielskiSHL4LINKLIST=$(MISC)/$(SHL4TARGET)_link.lst 1868*b1cdbd2cSJim JagielskiSHL4LINKLISTPARAM=@$(SHL4LINKLIST) 1869*b1cdbd2cSJim Jagielski$(SHL4LINKLIST) : $(SHL4LIBS) 1870*b1cdbd2cSJim Jagielski @@-$(RM) $@ 1871*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL4LIBS) $(i:s/.lib/.lin/)) >> $@ 1872*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4LIBS)"!="" 1873*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 1874*b1cdbd2cSJim Jagielski.ENDIF 1875*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4USE_EXPORTS)"=="name" 1876*b1cdbd2cSJim Jagielski 1877*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 1878*b1cdbd2cSJim Jagielski @echo . > $@ 1879*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 1880*b1cdbd2cSJim Jagielski 1881*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 1882*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 1883*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 1884*b1cdbd2cSJim JagielskiSHL4TARGET8=$(shell @fix_shl.cmd $(SHL4TARGET)) 1885*b1cdbd2cSJim Jagielski.ENDIF 1886*b1cdbd2cSJim Jagielski 1887*b1cdbd2cSJim Jagielski 1888*b1cdbd2cSJim Jagielski$(SHL4TARGETN) : \ 1889*b1cdbd2cSJim Jagielski $(SHL4OBJS)\ 1890*b1cdbd2cSJim Jagielski $(SHL4LIBS)\ 1891*b1cdbd2cSJim Jagielski $(USE_4IMPLIB_DEPS)\ 1892*b1cdbd2cSJim Jagielski $(USE_SHL4DEF)\ 1893*b1cdbd2cSJim Jagielski $(USE_SHL4VERSIONMAP)\ 1894*b1cdbd2cSJim Jagielski $(SHL4RES)\ 1895*b1cdbd2cSJim Jagielski $(SHL4DEPN) \ 1896*b1cdbd2cSJim Jagielski $(SHL4LINKLIST) 1897*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 1898*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 1899*b1cdbd2cSJim Jagielski.IF "$(SHL4DEFAULTRES)"!="" 1900*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL4DEFAULTRES:b).rc 1901*b1cdbd2cSJim Jagielski.IF "$(SHL4ICON)" != "" 1902*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL4ICON) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1903*b1cdbd2cSJim Jagielski.ENDIF 1904*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 1905*b1cdbd2cSJim Jagielski.IF "$(SHL4ADD_VERINFO)"!="" 1906*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL4ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1907*b1cdbd2cSJim Jagielski.ELSE # "$(SHL4ADD_VERINFO)"!="" 1908*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1909*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1910*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1911*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4ADD_VERINFO)"!="" 1912*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1913*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL4TARGET)$(DLLPOST) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1914*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL4TARGET:b) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1915*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc 1916*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 1917*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL4DEFAULTRES:b).rc 1918*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4DEFAULTRES)"!="" 1919*b1cdbd2cSJim Jagielski.IF "$(SHL4ALLRES)"!="" 1920*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL4ALLRES) > $(SHL4LINKRES) 1921*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 1922*b1cdbd2cSJim Jagielski windres $(SHL4LINKRES) $(SHL4LINKRESO) 1923*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 1924*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4ALLRES)"!="" 1925*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 1926*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL4TARGET)$(DLLPOST) \ 1927*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_4.cmd 1928*b1cdbd2cSJim Jagielski @noop $(assign ALL4OBJLIST:=$(STDOBJ) $(SHL4OBJS) $(SHL4LINKRESO) $(shell $(TYPE) /dev/null $(SHL4LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1929*b1cdbd2cSJim Jagielski.IF "$(DEFLIB4NAME)"!="" # do not have to include objs 1930*b1cdbd2cSJim Jagielski @noop $(assign DEF4OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 1931*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF4OBJLIST) $(assign ALL4OBJLIST:=$(ALL4OBJLIST:s?$i??))) 1932*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB4NAME)"!="" 1933*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1934*b1cdbd2cSJim Jagielski.IF "$(SHL4DEF)"!="" 1935*b1cdbd2cSJim Jagielski @echo --input-def $(SHL4DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1936*b1cdbd2cSJim Jagielski.ELSE 1937*b1cdbd2cSJim Jagielski @echo $(SHL4VERSIONOBJ) $(SHL4DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1938*b1cdbd2cSJim Jagielski.ENDIF 1939*b1cdbd2cSJim Jagielski @echo $(ALL4OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1940*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 1941*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL4VERSIONOBJ) $(SHL4DESCRIPTIONOBJ) $(SHL4OBJS) $(SHL4LINKRESO) \ 1942*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL4LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 1943*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL4STDLIBS) -Wl,--end-group \ 1944*b1cdbd2cSJim Jagielski $(SHL4STDSHL) $(STDSHL4) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 1945*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_4.cmd 1946*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 1947*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_4.cmd 1948*b1cdbd2cSJim Jagielski .ENDIF 1949*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_4.cmd 1950*b1cdbd2cSJim Jagielski.ELSE 1951*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 1952*b1cdbd2cSJim Jagielski.IF "$(SHL4USE_EXPORTS)"!="name" 1953*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 1954*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL4LINKER) @$(mktmp \ 1955*b1cdbd2cSJim Jagielski $(SHL4LINKFLAGS) \ 1956*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 1957*b1cdbd2cSJim Jagielski $(SHL4STACK) $(SHL4BASEX) \ 1958*b1cdbd2cSJim Jagielski -out:$@ \ 1959*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 1960*b1cdbd2cSJim Jagielski -def:$(SHL4DEF) \ 1961*b1cdbd2cSJim Jagielski $(USE_4IMPLIB) \ 1962*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1963*b1cdbd2cSJim Jagielski $(SHL4VERSIONOBJ) $(SHL4OBJS) \ 1964*b1cdbd2cSJim Jagielski $(SHL4LIBS) \ 1965*b1cdbd2cSJim Jagielski $(SHL4STDLIBS) \ 1966*b1cdbd2cSJim Jagielski $(SHL4STDSHL) $(STDSHL4) \ 1967*b1cdbd2cSJim Jagielski $(SHL4LINKRES) \ 1968*b1cdbd2cSJim Jagielski ) 1969*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 1970*b1cdbd2cSJim Jagielski @@$(LS) $@ 1971*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 1972*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 1973*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1974*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1975*b1cdbd2cSJim Jagielski.ELSE 1976*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 1977*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 1978*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 1979*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 1980*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 1981*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL4LINKER) @$(mktmp $(SHL4LINKFLAGS) \ 1982*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL4BASEX) \ 1983*b1cdbd2cSJim Jagielski $(SHL4STACK) -out:$(SHL4TARGETN) \ 1984*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 1985*b1cdbd2cSJim Jagielski $(LB)/$(SHL4IMPLIB).exp \ 1986*b1cdbd2cSJim Jagielski $(STDOBJ) \ 1987*b1cdbd2cSJim Jagielski $(SHL4OBJS) $(SHL4VERSIONOBJ) \ 1988*b1cdbd2cSJim Jagielski $(SHL4LIBS) \ 1989*b1cdbd2cSJim Jagielski $(SHL4STDLIBS) \ 1990*b1cdbd2cSJim Jagielski $(SHL4STDSHL) $(STDSHL4) \ 1991*b1cdbd2cSJim Jagielski $(SHL4LINKRES) \ 1992*b1cdbd2cSJim Jagielski ) 1993*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 1994*b1cdbd2cSJim Jagielski @@$(LS) $@ 1995*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 1996*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 1997*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 1998*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 1999*b1cdbd2cSJim Jagielski.ELSE 2000*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2001*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 2002*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2003*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2004*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 2005*b1cdbd2cSJim Jagielski.ELSE # "$(SHL4USE_EXPORTS)"!="name" 2006*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL4LINKER) @$(mktmp $(SHL4LINKFLAGS) \ 2007*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL4BASEX) \ 2008*b1cdbd2cSJim Jagielski $(SHL4STACK) -out:$(SHL4TARGETN) \ 2009*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 2010*b1cdbd2cSJim Jagielski $(USE_4IMPLIB) \ 2011*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2012*b1cdbd2cSJim Jagielski $(SHL4OBJS) $(SHL4VERSIONOBJ)) \ 2013*b1cdbd2cSJim Jagielski $(SHL4LINKLISTPARAM) \ 2014*b1cdbd2cSJim Jagielski @$(mktmp $(SHL4STDLIBS) \ 2015*b1cdbd2cSJim Jagielski $(SHL4STDSHL) $(STDSHL4) \ 2016*b1cdbd2cSJim Jagielski $(SHL4LINKRES) \ 2017*b1cdbd2cSJim Jagielski ) 2018*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 2019*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 2020*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2021*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2022*b1cdbd2cSJim Jagielski.ELSE 2023*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2024*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 2025*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2026*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2027*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4USE_EXPORTS)"!="name" 2028*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 2029*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL4TARGET).lnk 2030*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL4TARGET).lst 2031*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 2032*b1cdbd2cSJim Jagielski $(SHL4LINKFLAGS) \ 2033*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL4BASEX) \ 2034*b1cdbd2cSJim Jagielski $(SHL4STACK) $(MAPFILE) \ 2035*b1cdbd2cSJim Jagielski -out:$@ \ 2036*b1cdbd2cSJim Jagielski $(LB)/$(SHL4IMPLIB).exp \ 2037*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2038*b1cdbd2cSJim Jagielski $(SHL4OBJS) \ 2039*b1cdbd2cSJim Jagielski $(SHL4STDLIBS) \ 2040*b1cdbd2cSJim Jagielski $(SHL4STDSHL) $(STDSHL4) \ 2041*b1cdbd2cSJim Jagielski $(SHL4LINKRES) \ 2042*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL4TARGET).lnk 2043*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL4TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL4TARGET).lnk 2044*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL4LINKER) @$(MISC)/$(SHL4TARGET).lnk 2045*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 2046*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 2047*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2048*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2049*b1cdbd2cSJim Jagielski.ELSE 2050*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2051*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 2052*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2053*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2054*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 2055*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 2056*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 2057*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 2058*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2059*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 2060*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd 2061*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL4OBJS:s/.obj/.o/) \ 2062*b1cdbd2cSJim Jagielski $(SHL4VERSIONOBJ) \ 2063*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL4LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 2064*b1cdbd2cSJim Jagielski @echo -n $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 2065*b1cdbd2cSJim Jagielski $(SHL4STDLIBS) $(SHL4ARCHIVES) $(SHL4STDSHL) $(STDSHL4) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_4.cmd 2066*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 2067*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_4.cmd` \ 2068*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_4.cmd 2069*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 2070*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_4.cmd 2071*b1cdbd2cSJim Jagielski .ENDIF 2072*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_4.cmd 2073*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 2074*b1cdbd2cSJim Jagielski shl $(SHL4RPATH) $@ 2075*b1cdbd2cSJim Jagielski.IF "$(SHL4CREATEJNILIB)"!="" 2076*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 2077*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 2078*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4CREATEJNILIB)"!="" 2079*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 2080*b1cdbd2cSJim Jagielski.IF "$(SHL4NOCHECK)"=="" 2081*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) $(SHL4TARGETN) 2082*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4NOCHECK)"!="" 2083*b1cdbd2cSJim Jagielski.ENDIF 2084*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 2085*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd 2086*b1cdbd2cSJim Jagielski @echo $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4SONAME) $(LINKFLAGSSHL) $(SHL4VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL4OBJS:s/.obj/.o/) \ 2087*b1cdbd2cSJim Jagielski $(SHL4VERSIONOBJ) -o $@ \ 2088*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL4LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 2089*b1cdbd2cSJim Jagielski $(SHL4STDLIBS) $(SHL4ARCHIVES) $(SHL4STDSHL) $(STDSHL4) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_4.cmd 2090*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 2091*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_4.cmd 2092*b1cdbd2cSJim Jagielski .ENDIF 2093*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_4.cmd 2094*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 2095*b1cdbd2cSJim Jagielski.IF "$(SHL4NOCHECK)"=="" 2096*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2097*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL4TARGETN) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2098*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 2099*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2100*b1cdbd2cSJim Jagielski.ELSE 2101*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) -- -s $(SHL4TARGETN:d)check_$(SHL4TARGETN:f) 2102*b1cdbd2cSJim Jagielski.ENDIF 2103*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4NOCHECK)"!="" 2104*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 2105*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 2106*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 2107*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL4TARGETN:b) 2108*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL4TARGETN:f) $(SHL4TARGETN:b) 2109*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2110*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 2111*b1cdbd2cSJim Jagielski @ls -l $@ 2112*b1cdbd2cSJim Jagielski.ENDIF 2113*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 2114*b1cdbd2cSJim Jagielski 2115*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 2116*b1cdbd2cSJim Jagielski 2117*b1cdbd2cSJim Jagielski.IF "$(SHL4DEFAULTRES)"!="" 2118*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL4DEFAULTRES:b).rc > $(NULLDEV) 2119*b1cdbd2cSJim Jagielski.IF "$(SHL4ICON)" != "" 2120*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL4ICON) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2121*b1cdbd2cSJim Jagielski.ENDIF 2122*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 2123*b1cdbd2cSJim Jagielski.IF "$(SHL4ADD_VERINFO)"!="" 2124*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL4ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2125*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4ADD_VERINFO)"!="" 2126*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2127*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL4DEFAULTRES:b).rc 2128*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 2129*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 2130*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL4DEFAULTRES:b).rc 2131*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4DEFAULTRES)"!="" 2132*b1cdbd2cSJim Jagielski 2133*b1cdbd2cSJim Jagielski.IF "$(SHL4ALLRES)"!="" 2134*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL4ALLRES) > $(SHL4LINKRES) 2135*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4ALLRES)"!="" 2136*b1cdbd2cSJim Jagielski 2137*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 2138*b1cdbd2cSJim Jagielski 2139*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL4LINKER) $(SHL4LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 2140*b1cdbd2cSJim Jagielski $(SHL4DEF) \ 2141*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2142*b1cdbd2cSJim Jagielski -L$(LB) \ 2143*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 2144*b1cdbd2cSJim Jagielski $(SHL4OBJS) $(SHL4VERSIONOBJ) \ 2145*b1cdbd2cSJim Jagielski $(SHL4LIBS) \ 2146*b1cdbd2cSJim Jagielski $(SHL4LINKRES) \ 2147*b1cdbd2cSJim Jagielski $(SHL4STDLIBS) \ 2148*b1cdbd2cSJim Jagielski $(SHL4STDSHL) $(STDSHL4) 2149*b1cdbd2cSJim Jagielski 2150*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 2151*b1cdbd2cSJim Jagielski 2152*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL4LINKER) $(SHL4LINKFLAGS) \ 2153*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL4BASEX) \ 2154*b1cdbd2cSJim Jagielski $(SHL4STACK) -o $(SHL4TARGETN) \ 2155*b1cdbd2cSJim Jagielski $(SHL4DEF) \ 2156*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2157*b1cdbd2cSJim Jagielski -L$(LB) \ 2158*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 2159*b1cdbd2cSJim Jagielski $(SHL4OBJS) $(SHL4VERSIONOBJ) \ 2160*b1cdbd2cSJim Jagielski $(SHL4LIBS) \ 2161*b1cdbd2cSJim Jagielski $(SHL4LINKRES) \ 2162*b1cdbd2cSJim Jagielski $(SHL4STDLIBS) \ 2163*b1cdbd2cSJim Jagielski $(SHL4STDSHL) $(STDSHL4) 2164*b1cdbd2cSJim Jagielski 2165*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 2166*b1cdbd2cSJim Jagielski 2167*b1cdbd2cSJim Jagielski.IF "$(SHL4USE_EXPORTS)"=="name" 2168*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 2169*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 2170*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL4TARGETN:b).lib $@ 2171*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4USE_EXPORTS)"=="" 2172*b1cdbd2cSJim Jagielski 2173*b1cdbd2cSJim Jagielski.IF "$(SHL4TARGET8)" != "$(SHL4TARGET)" 2174*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL4TARGET8).dll 2175*b1cdbd2cSJim Jagielski.ENDIF 2176*b1cdbd2cSJim Jagielski 2177*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 2178*b1cdbd2cSJim Jagielski 2179*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL4TARGETN)"!="" 2180*b1cdbd2cSJim Jagielski 2181*b1cdbd2cSJim Jagielski# unroll begin 2182*b1cdbd2cSJim Jagielski 2183*b1cdbd2cSJim Jagielski.IF "$(SHL5TARGETN)"!="" 2184*b1cdbd2cSJim Jagielski 2185*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 2186*b1cdbd2cSJim JagielskiSHL5STDLIBS= 2187*b1cdbd2cSJim Jagielski.ENDIF 2188*b1cdbd2cSJim Jagielski 2189*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 2190*b1cdbd2cSJim JagielskiSHL5STDLIBS= 2191*b1cdbd2cSJim JagielskiSTDSHL= 2192*b1cdbd2cSJim Jagielski.ELSE 2193*b1cdbd2cSJim JagielskiSHL5ARCHIVES= 2194*b1cdbd2cSJim Jagielski.ENDIF 2195*b1cdbd2cSJim Jagielski 2196*b1cdbd2cSJim Jagielski# decide how to link 2197*b1cdbd2cSJim Jagielski.IF "$(SHL5CODETYPE)"=="C" 2198*b1cdbd2cSJim JagielskiSHL5LINKER=$(LINKC) 2199*b1cdbd2cSJim JagielskiSHL5STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 2200*b1cdbd2cSJim JagielskiSHL5LINKFLAGS+=$(LINKCFLAGS) 2201*b1cdbd2cSJim Jagielski.ELSE # "$(SHL5CODETYPE)"=="C" 2202*b1cdbd2cSJim JagielskiSHL5LINKER=$(LINK) 2203*b1cdbd2cSJim JagielskiSHL5STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 2204*b1cdbd2cSJim JagielskiSHL5LINKFLAGS+=$(LINKFLAGS) 2205*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5CODETYPE)"=="C" 2206*b1cdbd2cSJim Jagielski 2207*b1cdbd2cSJim JagielskiSHL5RPATH*=OOO 2208*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL5RPATH)*=/ERROR:/Bad_SHL5RPATH_value 2209*b1cdbd2cSJim JagielskiSHL5LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL5RPATH)) 2210*b1cdbd2cSJim Jagielski 2211*b1cdbd2cSJim Jagielski.IF "$(SHL5USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 2212*b1cdbd2cSJim JagielskiSHL5DEF*=$(MISC)/$(SHL5TARGET).def 2213*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5USE_EXPORTS)"=="" 2214*b1cdbd2cSJim Jagielski 2215*b1cdbd2cSJim JagielskiEXTRALIBPATHS5=$(EXTRALIBPATHS) 2216*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 2217*b1cdbd2cSJim Jagielski.IF "$(SHL5NOCHECK)"=="" 2218*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 2219*b1cdbd2cSJim JagielskiEXTRALIBPATHS5+=-L$(SOLAR_STLLIBPATH) 2220*b1cdbd2cSJim Jagielski.ENDIF 2221*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5NOCHECK)"!="" 2222*b1cdbd2cSJim Jagielski.ENDIF 2223*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2224*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 2225*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2226*b1cdbd2cSJim Jagielski 2227*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 2228*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 2229*b1cdbd2cSJim JagielskiSHL5VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL5TARGET))}$(VERSIONOBJ:f) 2230*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL5VERSIONOBJ:b).h 2231*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 2232*b1cdbd2cSJim JagielskiSHL5VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL5TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 2233*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 2234*b1cdbd2cSJim JagielskiSHL5VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL5TARGET))}$(VERSIONOBJ:f) 2235*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 2236*b1cdbd2cSJim Jagielski$(MISC)/$(SHL5VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL5VERSIONOBJ:b).h 2237*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 2238*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL5VERSIONOBJ:b).h/ > $@ 2239*b1cdbd2cSJim Jagielski 2240*b1cdbd2cSJim Jagielski.INIT : $(SHL5VERSIONOBJDEP) 2241*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 2242*b1cdbd2cSJim Jagielski.ENDIF 2243*b1cdbd2cSJim Jagielski 2244*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 2245*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2246*b1cdbd2cSJim Jagielski.IF "$(SHL5IMPLIB)" == "" 2247*b1cdbd2cSJim JagielskiSHL5IMPLIB=i$(TARGET)_t5 2248*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5IMPLIB)" == "" 2249*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 2250*b1cdbd2cSJim JagielskiUSE_5IMPLIB=-implib:$(LB)/$(SHL5IMPLIB).lib 2251*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 2252*b1cdbd2cSJim JagielskiSHL5IMPLIBN=$(LB)/$(SHL5IMPLIB).lib 2253*b1cdbd2cSJim JagielskiALLTAR : $(SHL5IMPLIBN) 2254*b1cdbd2cSJim Jagielski 2255*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 2256*b1cdbd2cSJim JagielskiUSE_5IMPLIB_DEPS=$(LB)/$(SHL5IMPLIB).lib 2257*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 2258*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2259*b1cdbd2cSJim JagielskiUSE_SHL5DEF=$(SHL5DEF) 2260*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 2261*b1cdbd2cSJim JagielskiUSE_SHL5DEF= 2262*b1cdbd2cSJim JagielskiSHL5DEPN+:=$(SHL5DEPNU) 2263*b1cdbd2cSJim Jagielski 2264*b1cdbd2cSJim Jagielski.IF "$(SHL5VERSIONMAP)"=="" 2265*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 2266*b1cdbd2cSJim JagielskiUSE_SHL5VERSIONMAP=$(MISC)/$(SHL5TARGET).vmap 2267*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5VERSIONMAP)"=="" 2268*b1cdbd2cSJim Jagielski 2269*b1cdbd2cSJim Jagielski.IF "$(USE_SHL5VERSIONMAP)"!="" 2270*b1cdbd2cSJim Jagielski 2271*b1cdbd2cSJim Jagielski.IF "$(SHL5FILTERFILE)"!="" 2272*b1cdbd2cSJim Jagielski.IF "$(SHL5VERSIONMAP)"!="" 2273*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 2274*b1cdbd2cSJim JagielskiUSE_SHL5VERSIONMAP=$(MISC)/$(SHL5TARGET).vmap 2275*b1cdbd2cSJim Jagielski$(USE_SHL5VERSIONMAP) .PHONY: 2276*b1cdbd2cSJim Jagielski @echo ----------------------------- 2277*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 2278*b1cdbd2cSJim Jagielski @echo ----------------------------- 2279*b1cdbd2cSJim Jagielski# force_dmake_to_error 2280*b1cdbd2cSJim Jagielski 2281*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5VERSIONMAP)"!="" 2282*b1cdbd2cSJim Jagielski 2283*b1cdbd2cSJim JagielskiSHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP) 2284*b1cdbd2cSJim Jagielski 2285*b1cdbd2cSJim Jagielski$(USE_SHL5VERSIONMAP): \ 2286*b1cdbd2cSJim Jagielski $(SHL5OBJS)\ 2287*b1cdbd2cSJim Jagielski $(SHL5LIBS)\ 2288*b1cdbd2cSJim Jagielski $(SHL5FILTERFILE) 2289*b1cdbd2cSJim Jagielski @$(RM) $@.dump 2290*b1cdbd2cSJim Jagielski.IF "$(SHL5OBJS)"!="" 2291*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 2292*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2293*b1cdbd2cSJim Jagielski @-nm $(SHL5OBJS:s/.obj/.o/) > $@.dump 2294*b1cdbd2cSJim Jagielski.ELSE 2295*b1cdbd2cSJim Jagielski @nm $(SHL5OBJS:s/.obj/.o/) > $@.dump 2296*b1cdbd2cSJim Jagielski.ENDIF 2297*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5OBJS)!"="" 2298*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL5LIBS:s/.lib/.dump/) >> $@.dump 2299*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL5INTERFACE) -f $(SHL5FILTERFILE) -m $@ 2300*b1cdbd2cSJim Jagielski 2301*b1cdbd2cSJim Jagielski.ELSE # "$(SHL5FILTERFILE)"!="" 2302*b1cdbd2cSJim JagielskiUSE_SHL5VERSIONMAP=$(MISC)/$(SHL5TARGET).vmap 2303*b1cdbd2cSJim Jagielski$(USE_SHL5VERSIONMAP) : 2304*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 2305*b1cdbd2cSJim Jagielski @echo ----------------------------- 2306*b1cdbd2cSJim Jagielski @echo SHL5FILTERFILE not set! 2307*b1cdbd2cSJim Jagielski @echo ----------------------------- 2308*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 2309*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 2310*b1cdbd2cSJim Jagielski.ELSE 2311*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 2312*b1cdbd2cSJim Jagielski.ENDIF 2313*b1cdbd2cSJim Jagielski# force_dmake_to_error 2314*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5FILTERFILE)"!="" 2315*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL5VERSIONMAP)"!="" 2316*b1cdbd2cSJim Jagielski 2317*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 2318*b1cdbd2cSJim Jagielski.IF "$(SHL5VERSIONMAP)"!="" 2319*b1cdbd2cSJim JagielskiUSE_SHL5VERSIONMAP=$(MISC)/$(SHL5VERSIONMAP:b)_$(SHL5TARGET)$(SHL5VERSIONMAP:e) 2320*b1cdbd2cSJim JagielskiSHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP) 2321*b1cdbd2cSJim Jagielski 2322*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2323*b1cdbd2cSJim Jagielski$(USE_SHL5VERSIONMAP): $(SHL5OBJS) $(SHL5LIBS) 2324*b1cdbd2cSJim Jagielski.ENDIF 2325*b1cdbd2cSJim Jagielski 2326*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 2327*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 2328*b1cdbd2cSJim Jagielski$(USE_SHL5VERSIONMAP) .ERRREMOVE: $(SHL5VERSIONMAP) 2329*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 2330*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 2331*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 2332*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2333*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 2334*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 2335*b1cdbd2cSJim Jagielski.ENDIF 2336*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 2337*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 2338*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 2339*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL5VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 2340*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 2341*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL5VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 2342*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 2343*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL5VERSIONMAP) > $@ 2344*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 2345*b1cdbd2cSJim Jagielski @chmod a+w $@ 2346*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 2347*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 2348*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2349*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 2350*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 2351*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 2352*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 2353*b1cdbd2cSJim Jagielski.IF "$(SHL5OBJS)"!="" 2354*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL5OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 2355*b1cdbd2cSJim Jagielski.ENDIF 2356*b1cdbd2cSJim Jagielski.IF "$(SHL5LIBS)"!="" 2357*b1cdbd2cSJim Jagielski $(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 2358*b1cdbd2cSJim Jagielski.ENDIF 2359*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 2360*b1cdbd2cSJim Jagielski# exported symbols list 2361*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 2362*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 2363*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5VERSIONMAP)"!="" 2364*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL5VERSIONMAP)"!="" 2365*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 2366*b1cdbd2cSJim Jagielski 2367*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 2368*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 2369*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 2370*b1cdbd2cSJim JagielskiSHL5SONAME=\"$(SONAME_SWITCH)$(SHL5TARGETN:f)\" 2371*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 2372*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 2373*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2374*b1cdbd2cSJim Jagielski 2375*b1cdbd2cSJim Jagielski.IF "$(SHL5RES)"!="" 2376*b1cdbd2cSJim JagielskiSHL5ALLRES+=$(SHL5RES) 2377*b1cdbd2cSJim JagielskiSHL5LINKRES*=$(MISC)/$(SHL5TARGET).res 2378*b1cdbd2cSJim JagielskiSHL5LINKRESO*=$(MISC)/$(SHL5TARGET)_res.o 2379*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5RES)"!="" 2380*b1cdbd2cSJim Jagielski 2381*b1cdbd2cSJim Jagielski.IF "$(SHL5DEFAULTRES)$(use_shl_versions)"!="" 2382*b1cdbd2cSJim JagielskiSHL5DEFAULTRES*=$(MISC)/$(SHL5TARGET)_def.res 2383*b1cdbd2cSJim JagielskiSHL5ALLRES+=$(SHL5DEFAULTRES) 2384*b1cdbd2cSJim JagielskiSHL5LINKRES*=$(MISC)/$(SHL5TARGET).res 2385*b1cdbd2cSJim JagielskiSHL5LINKRESO*=$(MISC)/$(SHL5TARGET)_res.o 2386*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5DEFAULTRES)$(use_shl_versions)"!="" 2387*b1cdbd2cSJim Jagielski 2388*b1cdbd2cSJim Jagielski#.IF "$(SHL5TARGETN)"!="" 2389*b1cdbd2cSJim Jagielski 2390*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 2391*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2392*b1cdbd2cSJim Jagielski.IF "$(SHL5LIBS)"!="" 2393*b1cdbd2cSJim Jagielski$(MISC)/$(SHL5TARGET)_linkinc.ls .PHONY: 2394*b1cdbd2cSJim Jagielski @@-$(RM) $@ 2395*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL5LIBS) $(i:s/.lib/.lin/)) >> $@ 2396*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5LIBS)"!="" 2397*b1cdbd2cSJim Jagielski.ENDIF 2398*b1cdbd2cSJim Jagielski 2399*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL5TARGETN:b)_linkinc.ls 2400*b1cdbd2cSJim Jagielski$(SHL5TARGETN) : $(LINKINCTARGETS) 2401*b1cdbd2cSJim Jagielski 2402*b1cdbd2cSJim Jagielski.ELSE 2403*b1cdbd2cSJim Jagielski.IF "$(SHL5USE_EXPORTS)"=="name" 2404*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2405*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 2406*b1cdbd2cSJim Jagielski.IF "$(SHL5LIBS)"!="" 2407*b1cdbd2cSJim JagielskiSHL5LINKLIST=$(MISC)/$(SHL5TARGET)_link.lst 2408*b1cdbd2cSJim JagielskiSHL5LINKLISTPARAM=@$(SHL5LINKLIST) 2409*b1cdbd2cSJim Jagielski$(SHL5LINKLIST) : $(SHL5LIBS) 2410*b1cdbd2cSJim Jagielski @@-$(RM) $@ 2411*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL5LIBS) $(i:s/.lib/.lin/)) >> $@ 2412*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5LIBS)"!="" 2413*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 2414*b1cdbd2cSJim Jagielski.ENDIF 2415*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5USE_EXPORTS)"=="name" 2416*b1cdbd2cSJim Jagielski 2417*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 2418*b1cdbd2cSJim Jagielski @echo . > $@ 2419*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 2420*b1cdbd2cSJim Jagielski 2421*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 2422*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 2423*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 2424*b1cdbd2cSJim JagielskiSHL5TARGET8=$(shell @fix_shl.cmd $(SHL5TARGET)) 2425*b1cdbd2cSJim Jagielski.ENDIF 2426*b1cdbd2cSJim Jagielski 2427*b1cdbd2cSJim Jagielski 2428*b1cdbd2cSJim Jagielski$(SHL5TARGETN) : \ 2429*b1cdbd2cSJim Jagielski $(SHL5OBJS)\ 2430*b1cdbd2cSJim Jagielski $(SHL5LIBS)\ 2431*b1cdbd2cSJim Jagielski $(USE_5IMPLIB_DEPS)\ 2432*b1cdbd2cSJim Jagielski $(USE_SHL5DEF)\ 2433*b1cdbd2cSJim Jagielski $(USE_SHL5VERSIONMAP)\ 2434*b1cdbd2cSJim Jagielski $(SHL5RES)\ 2435*b1cdbd2cSJim Jagielski $(SHL5DEPN) \ 2436*b1cdbd2cSJim Jagielski $(SHL5LINKLIST) 2437*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 2438*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 2439*b1cdbd2cSJim Jagielski.IF "$(SHL5DEFAULTRES)"!="" 2440*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL5DEFAULTRES:b).rc 2441*b1cdbd2cSJim Jagielski.IF "$(SHL5ICON)" != "" 2442*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL5ICON) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2443*b1cdbd2cSJim Jagielski.ENDIF 2444*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 2445*b1cdbd2cSJim Jagielski.IF "$(SHL5ADD_VERINFO)"!="" 2446*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL5ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2447*b1cdbd2cSJim Jagielski.ELSE # "$(SHL5ADD_VERINFO)"!="" 2448*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2449*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2450*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2451*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5ADD_VERINFO)"!="" 2452*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2453*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL5TARGET)$(DLLPOST) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2454*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL5TARGET:b) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2455*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2456*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 2457*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL5DEFAULTRES:b).rc 2458*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5DEFAULTRES)"!="" 2459*b1cdbd2cSJim Jagielski.IF "$(SHL5ALLRES)"!="" 2460*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL5ALLRES) > $(SHL5LINKRES) 2461*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 2462*b1cdbd2cSJim Jagielski windres $(SHL5LINKRES) $(SHL5LINKRESO) 2463*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 2464*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5ALLRES)"!="" 2465*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 2466*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL5TARGET)$(DLLPOST) \ 2467*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_5.cmd 2468*b1cdbd2cSJim Jagielski @noop $(assign ALL5OBJLIST:=$(STDOBJ) $(SHL5OBJS) $(SHL5LINKRESO) $(shell $(TYPE) /dev/null $(SHL5LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 2469*b1cdbd2cSJim Jagielski.IF "$(DEFLIB5NAME)"!="" # do not have to include objs 2470*b1cdbd2cSJim Jagielski @noop $(assign DEF5OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 2471*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF5OBJLIST) $(assign ALL5OBJLIST:=$(ALL5OBJLIST:s?$i??))) 2472*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB5NAME)"!="" 2473*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2474*b1cdbd2cSJim Jagielski.IF "$(SHL5DEF)"!="" 2475*b1cdbd2cSJim Jagielski @echo --input-def $(SHL5DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2476*b1cdbd2cSJim Jagielski.ELSE 2477*b1cdbd2cSJim Jagielski @echo $(SHL5VERSIONOBJ) $(SHL5DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2478*b1cdbd2cSJim Jagielski.ENDIF 2479*b1cdbd2cSJim Jagielski @echo $(ALL5OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2480*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 2481*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL5VERSIONOBJ) $(SHL5DESCRIPTIONOBJ) $(SHL5OBJS) $(SHL5LINKRESO) \ 2482*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL5LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 2483*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL5STDLIBS) -Wl,--end-group \ 2484*b1cdbd2cSJim Jagielski $(SHL5STDSHL) $(STDSHL5) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 2485*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2486*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 2487*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_5.cmd 2488*b1cdbd2cSJim Jagielski .ENDIF 2489*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_5.cmd 2490*b1cdbd2cSJim Jagielski.ELSE 2491*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 2492*b1cdbd2cSJim Jagielski.IF "$(SHL5USE_EXPORTS)"!="name" 2493*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 2494*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL5LINKER) @$(mktmp \ 2495*b1cdbd2cSJim Jagielski $(SHL5LINKFLAGS) \ 2496*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 2497*b1cdbd2cSJim Jagielski $(SHL5STACK) $(SHL5BASEX) \ 2498*b1cdbd2cSJim Jagielski -out:$@ \ 2499*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 2500*b1cdbd2cSJim Jagielski -def:$(SHL5DEF) \ 2501*b1cdbd2cSJim Jagielski $(USE_5IMPLIB) \ 2502*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2503*b1cdbd2cSJim Jagielski $(SHL5VERSIONOBJ) $(SHL5OBJS) \ 2504*b1cdbd2cSJim Jagielski $(SHL5LIBS) \ 2505*b1cdbd2cSJim Jagielski $(SHL5STDLIBS) \ 2506*b1cdbd2cSJim Jagielski $(SHL5STDSHL) $(STDSHL5) \ 2507*b1cdbd2cSJim Jagielski $(SHL5LINKRES) \ 2508*b1cdbd2cSJim Jagielski ) 2509*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 2510*b1cdbd2cSJim Jagielski @@$(LS) $@ 2511*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 2512*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 2513*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2514*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2515*b1cdbd2cSJim Jagielski.ELSE 2516*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2517*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 2518*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2519*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2520*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 2521*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL5LINKER) @$(mktmp $(SHL5LINKFLAGS) \ 2522*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL5BASEX) \ 2523*b1cdbd2cSJim Jagielski $(SHL5STACK) -out:$(SHL5TARGETN) \ 2524*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 2525*b1cdbd2cSJim Jagielski $(LB)/$(SHL5IMPLIB).exp \ 2526*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2527*b1cdbd2cSJim Jagielski $(SHL5OBJS) $(SHL5VERSIONOBJ) \ 2528*b1cdbd2cSJim Jagielski $(SHL5LIBS) \ 2529*b1cdbd2cSJim Jagielski $(SHL5STDLIBS) \ 2530*b1cdbd2cSJim Jagielski $(SHL5STDSHL) $(STDSHL5) \ 2531*b1cdbd2cSJim Jagielski $(SHL5LINKRES) \ 2532*b1cdbd2cSJim Jagielski ) 2533*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 2534*b1cdbd2cSJim Jagielski @@$(LS) $@ 2535*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 2536*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 2537*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2538*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2539*b1cdbd2cSJim Jagielski.ELSE 2540*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2541*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 2542*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2543*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2544*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 2545*b1cdbd2cSJim Jagielski.ELSE # "$(SHL5USE_EXPORTS)"!="name" 2546*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL5LINKER) @$(mktmp $(SHL5LINKFLAGS) \ 2547*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL5BASEX) \ 2548*b1cdbd2cSJim Jagielski $(SHL5STACK) -out:$(SHL5TARGETN) \ 2549*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 2550*b1cdbd2cSJim Jagielski $(USE_5IMPLIB) \ 2551*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2552*b1cdbd2cSJim Jagielski $(SHL5OBJS) $(SHL5VERSIONOBJ)) \ 2553*b1cdbd2cSJim Jagielski $(SHL5LINKLISTPARAM) \ 2554*b1cdbd2cSJim Jagielski @$(mktmp $(SHL5STDLIBS) \ 2555*b1cdbd2cSJim Jagielski $(SHL5STDSHL) $(STDSHL5) \ 2556*b1cdbd2cSJim Jagielski $(SHL5LINKRES) \ 2557*b1cdbd2cSJim Jagielski ) 2558*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 2559*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 2560*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2561*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2562*b1cdbd2cSJim Jagielski.ELSE 2563*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2564*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 2565*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2566*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2567*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5USE_EXPORTS)"!="name" 2568*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 2569*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL5TARGET).lnk 2570*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL5TARGET).lst 2571*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 2572*b1cdbd2cSJim Jagielski $(SHL5LINKFLAGS) \ 2573*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL5BASEX) \ 2574*b1cdbd2cSJim Jagielski $(SHL5STACK) $(MAPFILE) \ 2575*b1cdbd2cSJim Jagielski -out:$@ \ 2576*b1cdbd2cSJim Jagielski $(LB)/$(SHL5IMPLIB).exp \ 2577*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2578*b1cdbd2cSJim Jagielski $(SHL5OBJS) \ 2579*b1cdbd2cSJim Jagielski $(SHL5STDLIBS) \ 2580*b1cdbd2cSJim Jagielski $(SHL5STDSHL) $(STDSHL5) \ 2581*b1cdbd2cSJim Jagielski $(SHL5LINKRES) \ 2582*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL5TARGET).lnk 2583*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL5TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL5TARGET).lnk 2584*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL5LINKER) @$(MISC)/$(SHL5TARGET).lnk 2585*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 2586*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 2587*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 2588*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 2589*b1cdbd2cSJim Jagielski.ELSE 2590*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 2591*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 2592*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 2593*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 2594*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 2595*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 2596*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 2597*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 2598*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2599*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 2600*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd 2601*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL5OBJS:s/.obj/.o/) \ 2602*b1cdbd2cSJim Jagielski $(SHL5VERSIONOBJ) \ 2603*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL5LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 2604*b1cdbd2cSJim Jagielski @echo -n $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 2605*b1cdbd2cSJim Jagielski $(SHL5STDLIBS) $(SHL5ARCHIVES) $(SHL5STDSHL) $(STDSHL5) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_5.cmd 2606*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 2607*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_5.cmd` \ 2608*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_5.cmd 2609*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 2610*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_5.cmd 2611*b1cdbd2cSJim Jagielski .ENDIF 2612*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_5.cmd 2613*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 2614*b1cdbd2cSJim Jagielski shl $(SHL5RPATH) $@ 2615*b1cdbd2cSJim Jagielski.IF "$(SHL5CREATEJNILIB)"!="" 2616*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 2617*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 2618*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5CREATEJNILIB)"!="" 2619*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 2620*b1cdbd2cSJim Jagielski.IF "$(SHL5NOCHECK)"=="" 2621*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) $(SHL5TARGETN) 2622*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5NOCHECK)"!="" 2623*b1cdbd2cSJim Jagielski.ENDIF 2624*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 2625*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd 2626*b1cdbd2cSJim Jagielski @echo $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5SONAME) $(LINKFLAGSSHL) $(SHL5VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL5OBJS:s/.obj/.o/) \ 2627*b1cdbd2cSJim Jagielski $(SHL5VERSIONOBJ) -o $@ \ 2628*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL5LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 2629*b1cdbd2cSJim Jagielski $(SHL5STDLIBS) $(SHL5ARCHIVES) $(SHL5STDSHL) $(STDSHL5) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_5.cmd 2630*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 2631*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_5.cmd 2632*b1cdbd2cSJim Jagielski .ENDIF 2633*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_5.cmd 2634*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 2635*b1cdbd2cSJim Jagielski.IF "$(SHL5NOCHECK)"=="" 2636*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2637*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL5TARGETN) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2638*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 2639*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2640*b1cdbd2cSJim Jagielski.ELSE 2641*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) -- -s $(SHL5TARGETN:d)check_$(SHL5TARGETN:f) 2642*b1cdbd2cSJim Jagielski.ENDIF 2643*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5NOCHECK)"!="" 2644*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 2645*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 2646*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 2647*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL5TARGETN:b) 2648*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL5TARGETN:f) $(SHL5TARGETN:b) 2649*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2650*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 2651*b1cdbd2cSJim Jagielski @ls -l $@ 2652*b1cdbd2cSJim Jagielski.ENDIF 2653*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 2654*b1cdbd2cSJim Jagielski 2655*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 2656*b1cdbd2cSJim Jagielski 2657*b1cdbd2cSJim Jagielski.IF "$(SHL5DEFAULTRES)"!="" 2658*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL5DEFAULTRES:b).rc > $(NULLDEV) 2659*b1cdbd2cSJim Jagielski.IF "$(SHL5ICON)" != "" 2660*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL5ICON) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2661*b1cdbd2cSJim Jagielski.ENDIF 2662*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 2663*b1cdbd2cSJim Jagielski.IF "$(SHL5ADD_VERINFO)"!="" 2664*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL5ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2665*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5ADD_VERINFO)"!="" 2666*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2667*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL5DEFAULTRES:b).rc 2668*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 2669*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 2670*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL5DEFAULTRES:b).rc 2671*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5DEFAULTRES)"!="" 2672*b1cdbd2cSJim Jagielski 2673*b1cdbd2cSJim Jagielski.IF "$(SHL5ALLRES)"!="" 2674*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL5ALLRES) > $(SHL5LINKRES) 2675*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5ALLRES)"!="" 2676*b1cdbd2cSJim Jagielski 2677*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 2678*b1cdbd2cSJim Jagielski 2679*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL5LINKER) $(SHL5LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 2680*b1cdbd2cSJim Jagielski $(SHL5DEF) \ 2681*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2682*b1cdbd2cSJim Jagielski -L$(LB) \ 2683*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 2684*b1cdbd2cSJim Jagielski $(SHL5OBJS) $(SHL5VERSIONOBJ) \ 2685*b1cdbd2cSJim Jagielski $(SHL5LIBS) \ 2686*b1cdbd2cSJim Jagielski $(SHL5LINKRES) \ 2687*b1cdbd2cSJim Jagielski $(SHL5STDLIBS) \ 2688*b1cdbd2cSJim Jagielski $(SHL5STDSHL) $(STDSHL5) 2689*b1cdbd2cSJim Jagielski 2690*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 2691*b1cdbd2cSJim Jagielski 2692*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL5LINKER) $(SHL5LINKFLAGS) \ 2693*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL5BASEX) \ 2694*b1cdbd2cSJim Jagielski $(SHL5STACK) -o $(SHL5TARGETN) \ 2695*b1cdbd2cSJim Jagielski $(SHL5DEF) \ 2696*b1cdbd2cSJim Jagielski $(STDOBJ) \ 2697*b1cdbd2cSJim Jagielski -L$(LB) \ 2698*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 2699*b1cdbd2cSJim Jagielski $(SHL5OBJS) $(SHL5VERSIONOBJ) \ 2700*b1cdbd2cSJim Jagielski $(SHL5LIBS) \ 2701*b1cdbd2cSJim Jagielski $(SHL5LINKRES) \ 2702*b1cdbd2cSJim Jagielski $(SHL5STDLIBS) \ 2703*b1cdbd2cSJim Jagielski $(SHL5STDSHL) $(STDSHL5) 2704*b1cdbd2cSJim Jagielski 2705*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 2706*b1cdbd2cSJim Jagielski 2707*b1cdbd2cSJim Jagielski.IF "$(SHL5USE_EXPORTS)"=="name" 2708*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 2709*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 2710*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL5TARGETN:b).lib $@ 2711*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5USE_EXPORTS)"=="" 2712*b1cdbd2cSJim Jagielski 2713*b1cdbd2cSJim Jagielski.IF "$(SHL5TARGET8)" != "$(SHL5TARGET)" 2714*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL5TARGET8).dll 2715*b1cdbd2cSJim Jagielski.ENDIF 2716*b1cdbd2cSJim Jagielski 2717*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 2718*b1cdbd2cSJim Jagielski 2719*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL5TARGETN)"!="" 2720*b1cdbd2cSJim Jagielski 2721*b1cdbd2cSJim Jagielski# unroll begin 2722*b1cdbd2cSJim Jagielski 2723*b1cdbd2cSJim Jagielski.IF "$(SHL6TARGETN)"!="" 2724*b1cdbd2cSJim Jagielski 2725*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 2726*b1cdbd2cSJim JagielskiSHL6STDLIBS= 2727*b1cdbd2cSJim Jagielski.ENDIF 2728*b1cdbd2cSJim Jagielski 2729*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 2730*b1cdbd2cSJim JagielskiSHL6STDLIBS= 2731*b1cdbd2cSJim JagielskiSTDSHL= 2732*b1cdbd2cSJim Jagielski.ELSE 2733*b1cdbd2cSJim JagielskiSHL6ARCHIVES= 2734*b1cdbd2cSJim Jagielski.ENDIF 2735*b1cdbd2cSJim Jagielski 2736*b1cdbd2cSJim Jagielski# decide how to link 2737*b1cdbd2cSJim Jagielski.IF "$(SHL6CODETYPE)"=="C" 2738*b1cdbd2cSJim JagielskiSHL6LINKER=$(LINKC) 2739*b1cdbd2cSJim JagielskiSHL6STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 2740*b1cdbd2cSJim JagielskiSHL6LINKFLAGS+=$(LINKCFLAGS) 2741*b1cdbd2cSJim Jagielski.ELSE # "$(SHL6CODETYPE)"=="C" 2742*b1cdbd2cSJim JagielskiSHL6LINKER=$(LINK) 2743*b1cdbd2cSJim JagielskiSHL6STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 2744*b1cdbd2cSJim JagielskiSHL6LINKFLAGS+=$(LINKFLAGS) 2745*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6CODETYPE)"=="C" 2746*b1cdbd2cSJim Jagielski 2747*b1cdbd2cSJim JagielskiSHL6RPATH*=OOO 2748*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL6RPATH)*=/ERROR:/Bad_SHL6RPATH_value 2749*b1cdbd2cSJim JagielskiSHL6LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL6RPATH)) 2750*b1cdbd2cSJim Jagielski 2751*b1cdbd2cSJim Jagielski.IF "$(SHL6USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 2752*b1cdbd2cSJim JagielskiSHL6DEF*=$(MISC)/$(SHL6TARGET).def 2753*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6USE_EXPORTS)"=="" 2754*b1cdbd2cSJim Jagielski 2755*b1cdbd2cSJim JagielskiEXTRALIBPATHS6=$(EXTRALIBPATHS) 2756*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 2757*b1cdbd2cSJim Jagielski.IF "$(SHL6NOCHECK)"=="" 2758*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 2759*b1cdbd2cSJim JagielskiEXTRALIBPATHS6+=-L$(SOLAR_STLLIBPATH) 2760*b1cdbd2cSJim Jagielski.ENDIF 2761*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6NOCHECK)"!="" 2762*b1cdbd2cSJim Jagielski.ENDIF 2763*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2764*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 2765*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2766*b1cdbd2cSJim Jagielski 2767*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 2768*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 2769*b1cdbd2cSJim JagielskiSHL6VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL6TARGET))}$(VERSIONOBJ:f) 2770*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL6VERSIONOBJ:b).h 2771*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 2772*b1cdbd2cSJim JagielskiSHL6VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL6TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 2773*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 2774*b1cdbd2cSJim JagielskiSHL6VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL6TARGET))}$(VERSIONOBJ:f) 2775*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 2776*b1cdbd2cSJim Jagielski$(MISC)/$(SHL6VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL6VERSIONOBJ:b).h 2777*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 2778*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL6VERSIONOBJ:b).h/ > $@ 2779*b1cdbd2cSJim Jagielski 2780*b1cdbd2cSJim Jagielski.INIT : $(SHL6VERSIONOBJDEP) 2781*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 2782*b1cdbd2cSJim Jagielski.ENDIF 2783*b1cdbd2cSJim Jagielski 2784*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 2785*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2786*b1cdbd2cSJim Jagielski.IF "$(SHL6IMPLIB)" == "" 2787*b1cdbd2cSJim JagielskiSHL6IMPLIB=i$(TARGET)_t6 2788*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6IMPLIB)" == "" 2789*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 2790*b1cdbd2cSJim JagielskiUSE_6IMPLIB=-implib:$(LB)/$(SHL6IMPLIB).lib 2791*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 2792*b1cdbd2cSJim JagielskiSHL6IMPLIBN=$(LB)/$(SHL6IMPLIB).lib 2793*b1cdbd2cSJim JagielskiALLTAR : $(SHL6IMPLIBN) 2794*b1cdbd2cSJim Jagielski 2795*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 2796*b1cdbd2cSJim JagielskiUSE_6IMPLIB_DEPS=$(LB)/$(SHL6IMPLIB).lib 2797*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 2798*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 2799*b1cdbd2cSJim JagielskiUSE_SHL6DEF=$(SHL6DEF) 2800*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 2801*b1cdbd2cSJim JagielskiUSE_SHL6DEF= 2802*b1cdbd2cSJim JagielskiSHL6DEPN+:=$(SHL6DEPNU) 2803*b1cdbd2cSJim Jagielski 2804*b1cdbd2cSJim Jagielski.IF "$(SHL6VERSIONMAP)"=="" 2805*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 2806*b1cdbd2cSJim JagielskiUSE_SHL6VERSIONMAP=$(MISC)/$(SHL6TARGET).vmap 2807*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6VERSIONMAP)"=="" 2808*b1cdbd2cSJim Jagielski 2809*b1cdbd2cSJim Jagielski.IF "$(USE_SHL6VERSIONMAP)"!="" 2810*b1cdbd2cSJim Jagielski 2811*b1cdbd2cSJim Jagielski.IF "$(SHL6FILTERFILE)"!="" 2812*b1cdbd2cSJim Jagielski.IF "$(SHL6VERSIONMAP)"!="" 2813*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 2814*b1cdbd2cSJim JagielskiUSE_SHL6VERSIONMAP=$(MISC)/$(SHL6TARGET).vmap 2815*b1cdbd2cSJim Jagielski$(USE_SHL6VERSIONMAP) .PHONY: 2816*b1cdbd2cSJim Jagielski @echo ----------------------------- 2817*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 2818*b1cdbd2cSJim Jagielski @echo ----------------------------- 2819*b1cdbd2cSJim Jagielski# force_dmake_to_error 2820*b1cdbd2cSJim Jagielski 2821*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6VERSIONMAP)"!="" 2822*b1cdbd2cSJim Jagielski 2823*b1cdbd2cSJim JagielskiSHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP) 2824*b1cdbd2cSJim Jagielski 2825*b1cdbd2cSJim Jagielski$(USE_SHL6VERSIONMAP): \ 2826*b1cdbd2cSJim Jagielski $(SHL6OBJS)\ 2827*b1cdbd2cSJim Jagielski $(SHL6LIBS)\ 2828*b1cdbd2cSJim Jagielski $(SHL6FILTERFILE) 2829*b1cdbd2cSJim Jagielski @$(RM) $@.dump 2830*b1cdbd2cSJim Jagielski.IF "$(SHL6OBJS)"!="" 2831*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 2832*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2833*b1cdbd2cSJim Jagielski @-nm $(SHL6OBJS:s/.obj/.o/) > $@.dump 2834*b1cdbd2cSJim Jagielski.ELSE 2835*b1cdbd2cSJim Jagielski @nm $(SHL6OBJS:s/.obj/.o/) > $@.dump 2836*b1cdbd2cSJim Jagielski.ENDIF 2837*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6OBJS)!"="" 2838*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL6LIBS:s/.lib/.dump/) >> $@.dump 2839*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL6INTERFACE) -f $(SHL6FILTERFILE) -m $@ 2840*b1cdbd2cSJim Jagielski 2841*b1cdbd2cSJim Jagielski.ELSE # "$(SHL6FILTERFILE)"!="" 2842*b1cdbd2cSJim JagielskiUSE_SHL6VERSIONMAP=$(MISC)/$(SHL6TARGET).vmap 2843*b1cdbd2cSJim Jagielski$(USE_SHL6VERSIONMAP) : 2844*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 2845*b1cdbd2cSJim Jagielski @echo ----------------------------- 2846*b1cdbd2cSJim Jagielski @echo SHL6FILTERFILE not set! 2847*b1cdbd2cSJim Jagielski @echo ----------------------------- 2848*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 2849*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 2850*b1cdbd2cSJim Jagielski.ELSE 2851*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 2852*b1cdbd2cSJim Jagielski.ENDIF 2853*b1cdbd2cSJim Jagielski# force_dmake_to_error 2854*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6FILTERFILE)"!="" 2855*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL6VERSIONMAP)"!="" 2856*b1cdbd2cSJim Jagielski 2857*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 2858*b1cdbd2cSJim Jagielski.IF "$(SHL6VERSIONMAP)"!="" 2859*b1cdbd2cSJim JagielskiUSE_SHL6VERSIONMAP=$(MISC)/$(SHL6VERSIONMAP:b)_$(SHL6TARGET)$(SHL6VERSIONMAP:e) 2860*b1cdbd2cSJim JagielskiSHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP) 2861*b1cdbd2cSJim Jagielski 2862*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2863*b1cdbd2cSJim Jagielski$(USE_SHL6VERSIONMAP): $(SHL6OBJS) $(SHL6LIBS) 2864*b1cdbd2cSJim Jagielski.ENDIF 2865*b1cdbd2cSJim Jagielski 2866*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 2867*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 2868*b1cdbd2cSJim Jagielski$(USE_SHL6VERSIONMAP) .ERRREMOVE: $(SHL6VERSIONMAP) 2869*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 2870*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 2871*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 2872*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2873*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 2874*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 2875*b1cdbd2cSJim Jagielski.ENDIF 2876*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 2877*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 2878*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 2879*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL6VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 2880*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 2881*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL6VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 2882*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 2883*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL6VERSIONMAP) > $@ 2884*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 2885*b1cdbd2cSJim Jagielski @chmod a+w $@ 2886*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 2887*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 2888*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 2889*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 2890*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 2891*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 2892*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 2893*b1cdbd2cSJim Jagielski.IF "$(SHL6OBJS)"!="" 2894*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL6OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 2895*b1cdbd2cSJim Jagielski.ENDIF 2896*b1cdbd2cSJim Jagielski.IF "$(SHL6LIBS)"!="" 2897*b1cdbd2cSJim Jagielski $(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 2898*b1cdbd2cSJim Jagielski.ENDIF 2899*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 2900*b1cdbd2cSJim Jagielski# exported symbols list 2901*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 2902*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 2903*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6VERSIONMAP)"!="" 2904*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL6VERSIONMAP)"!="" 2905*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 2906*b1cdbd2cSJim Jagielski 2907*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 2908*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 2909*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 2910*b1cdbd2cSJim JagielskiSHL6SONAME=\"$(SONAME_SWITCH)$(SHL6TARGETN:f)\" 2911*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 2912*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 2913*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 2914*b1cdbd2cSJim Jagielski 2915*b1cdbd2cSJim Jagielski.IF "$(SHL6RES)"!="" 2916*b1cdbd2cSJim JagielskiSHL6ALLRES+=$(SHL6RES) 2917*b1cdbd2cSJim JagielskiSHL6LINKRES*=$(MISC)/$(SHL6TARGET).res 2918*b1cdbd2cSJim JagielskiSHL6LINKRESO*=$(MISC)/$(SHL6TARGET)_res.o 2919*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6RES)"!="" 2920*b1cdbd2cSJim Jagielski 2921*b1cdbd2cSJim Jagielski.IF "$(SHL6DEFAULTRES)$(use_shl_versions)"!="" 2922*b1cdbd2cSJim JagielskiSHL6DEFAULTRES*=$(MISC)/$(SHL6TARGET)_def.res 2923*b1cdbd2cSJim JagielskiSHL6ALLRES+=$(SHL6DEFAULTRES) 2924*b1cdbd2cSJim JagielskiSHL6LINKRES*=$(MISC)/$(SHL6TARGET).res 2925*b1cdbd2cSJim JagielskiSHL6LINKRESO*=$(MISC)/$(SHL6TARGET)_res.o 2926*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6DEFAULTRES)$(use_shl_versions)"!="" 2927*b1cdbd2cSJim Jagielski 2928*b1cdbd2cSJim Jagielski#.IF "$(SHL6TARGETN)"!="" 2929*b1cdbd2cSJim Jagielski 2930*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 2931*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2932*b1cdbd2cSJim Jagielski.IF "$(SHL6LIBS)"!="" 2933*b1cdbd2cSJim Jagielski$(MISC)/$(SHL6TARGET)_linkinc.ls .PHONY: 2934*b1cdbd2cSJim Jagielski @@-$(RM) $@ 2935*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL6LIBS) $(i:s/.lib/.lin/)) >> $@ 2936*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6LIBS)"!="" 2937*b1cdbd2cSJim Jagielski.ENDIF 2938*b1cdbd2cSJim Jagielski 2939*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL6TARGETN:b)_linkinc.ls 2940*b1cdbd2cSJim Jagielski$(SHL6TARGETN) : $(LINKINCTARGETS) 2941*b1cdbd2cSJim Jagielski 2942*b1cdbd2cSJim Jagielski.ELSE 2943*b1cdbd2cSJim Jagielski.IF "$(SHL6USE_EXPORTS)"=="name" 2944*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 2945*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 2946*b1cdbd2cSJim Jagielski.IF "$(SHL6LIBS)"!="" 2947*b1cdbd2cSJim JagielskiSHL6LINKLIST=$(MISC)/$(SHL6TARGET)_link.lst 2948*b1cdbd2cSJim JagielskiSHL6LINKLISTPARAM=@$(SHL6LINKLIST) 2949*b1cdbd2cSJim Jagielski$(SHL6LINKLIST) : $(SHL6LIBS) 2950*b1cdbd2cSJim Jagielski @@-$(RM) $@ 2951*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL6LIBS) $(i:s/.lib/.lin/)) >> $@ 2952*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6LIBS)"!="" 2953*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 2954*b1cdbd2cSJim Jagielski.ENDIF 2955*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6USE_EXPORTS)"=="name" 2956*b1cdbd2cSJim Jagielski 2957*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 2958*b1cdbd2cSJim Jagielski @echo . > $@ 2959*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 2960*b1cdbd2cSJim Jagielski 2961*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 2962*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 2963*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 2964*b1cdbd2cSJim JagielskiSHL6TARGET8=$(shell @fix_shl.cmd $(SHL6TARGET)) 2965*b1cdbd2cSJim Jagielski.ENDIF 2966*b1cdbd2cSJim Jagielski 2967*b1cdbd2cSJim Jagielski 2968*b1cdbd2cSJim Jagielski$(SHL6TARGETN) : \ 2969*b1cdbd2cSJim Jagielski $(SHL6OBJS)\ 2970*b1cdbd2cSJim Jagielski $(SHL6LIBS)\ 2971*b1cdbd2cSJim Jagielski $(USE_6IMPLIB_DEPS)\ 2972*b1cdbd2cSJim Jagielski $(USE_SHL6DEF)\ 2973*b1cdbd2cSJim Jagielski $(USE_SHL6VERSIONMAP)\ 2974*b1cdbd2cSJim Jagielski $(SHL6RES)\ 2975*b1cdbd2cSJim Jagielski $(SHL6DEPN) \ 2976*b1cdbd2cSJim Jagielski $(SHL6LINKLIST) 2977*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 2978*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 2979*b1cdbd2cSJim Jagielski.IF "$(SHL6DEFAULTRES)"!="" 2980*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL6DEFAULTRES:b).rc 2981*b1cdbd2cSJim Jagielski.IF "$(SHL6ICON)" != "" 2982*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL6ICON) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2983*b1cdbd2cSJim Jagielski.ENDIF 2984*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 2985*b1cdbd2cSJim Jagielski.IF "$(SHL6ADD_VERINFO)"!="" 2986*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL6ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2987*b1cdbd2cSJim Jagielski.ELSE # "$(SHL6ADD_VERINFO)"!="" 2988*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2989*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2990*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2991*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6ADD_VERINFO)"!="" 2992*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2993*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL6TARGET)$(DLLPOST) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2994*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL6TARGET:b) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2995*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc 2996*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 2997*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL6DEFAULTRES:b).rc 2998*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6DEFAULTRES)"!="" 2999*b1cdbd2cSJim Jagielski.IF "$(SHL6ALLRES)"!="" 3000*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL6ALLRES) > $(SHL6LINKRES) 3001*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 3002*b1cdbd2cSJim Jagielski windres $(SHL6LINKRES) $(SHL6LINKRESO) 3003*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 3004*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6ALLRES)"!="" 3005*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 3006*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL6TARGET)$(DLLPOST) \ 3007*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_6.cmd 3008*b1cdbd2cSJim Jagielski @noop $(assign ALL6OBJLIST:=$(STDOBJ) $(SHL6OBJS) $(SHL6LINKRESO) $(shell $(TYPE) /dev/null $(SHL6LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 3009*b1cdbd2cSJim Jagielski.IF "$(DEFLIB6NAME)"!="" # do not have to include objs 3010*b1cdbd2cSJim Jagielski @noop $(assign DEF6OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 3011*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF6OBJLIST) $(assign ALL6OBJLIST:=$(ALL6OBJLIST:s?$i??))) 3012*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB6NAME)"!="" 3013*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd 3014*b1cdbd2cSJim Jagielski.IF "$(SHL6DEF)"!="" 3015*b1cdbd2cSJim Jagielski @echo --input-def $(SHL6DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd 3016*b1cdbd2cSJim Jagielski.ELSE 3017*b1cdbd2cSJim Jagielski @echo $(SHL6VERSIONOBJ) $(SHL6DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd 3018*b1cdbd2cSJim Jagielski.ENDIF 3019*b1cdbd2cSJim Jagielski @echo $(ALL6OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_6.cmd 3020*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 3021*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL6VERSIONOBJ) $(SHL6DESCRIPTIONOBJ) $(SHL6OBJS) $(SHL6LINKRESO) \ 3022*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL6LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 3023*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL6STDLIBS) -Wl,--end-group \ 3024*b1cdbd2cSJim Jagielski $(SHL6STDSHL) $(STDSHL6) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 3025*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_6.cmd 3026*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 3027*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_6.cmd 3028*b1cdbd2cSJim Jagielski .ENDIF 3029*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_6.cmd 3030*b1cdbd2cSJim Jagielski.ELSE 3031*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 3032*b1cdbd2cSJim Jagielski.IF "$(SHL6USE_EXPORTS)"!="name" 3033*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 3034*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL6LINKER) @$(mktmp \ 3035*b1cdbd2cSJim Jagielski $(SHL6LINKFLAGS) \ 3036*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 3037*b1cdbd2cSJim Jagielski $(SHL6STACK) $(SHL6BASEX) \ 3038*b1cdbd2cSJim Jagielski -out:$@ \ 3039*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 3040*b1cdbd2cSJim Jagielski -def:$(SHL6DEF) \ 3041*b1cdbd2cSJim Jagielski $(USE_6IMPLIB) \ 3042*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3043*b1cdbd2cSJim Jagielski $(SHL6VERSIONOBJ) $(SHL6OBJS) \ 3044*b1cdbd2cSJim Jagielski $(SHL6LIBS) \ 3045*b1cdbd2cSJim Jagielski $(SHL6STDLIBS) \ 3046*b1cdbd2cSJim Jagielski $(SHL6STDSHL) $(STDSHL6) \ 3047*b1cdbd2cSJim Jagielski $(SHL6LINKRES) \ 3048*b1cdbd2cSJim Jagielski ) 3049*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 3050*b1cdbd2cSJim Jagielski @@$(LS) $@ 3051*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3052*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3053*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3054*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3055*b1cdbd2cSJim Jagielski.ELSE 3056*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3057*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3058*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3059*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3060*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 3061*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL6LINKER) @$(mktmp $(SHL6LINKFLAGS) \ 3062*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL6BASEX) \ 3063*b1cdbd2cSJim Jagielski $(SHL6STACK) -out:$(SHL6TARGETN) \ 3064*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 3065*b1cdbd2cSJim Jagielski $(LB)/$(SHL6IMPLIB).exp \ 3066*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3067*b1cdbd2cSJim Jagielski $(SHL6OBJS) $(SHL6VERSIONOBJ) \ 3068*b1cdbd2cSJim Jagielski $(SHL6LIBS) \ 3069*b1cdbd2cSJim Jagielski $(SHL6STDLIBS) \ 3070*b1cdbd2cSJim Jagielski $(SHL6STDSHL) $(STDSHL6) \ 3071*b1cdbd2cSJim Jagielski $(SHL6LINKRES) \ 3072*b1cdbd2cSJim Jagielski ) 3073*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 3074*b1cdbd2cSJim Jagielski @@$(LS) $@ 3075*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3076*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3077*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3078*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3079*b1cdbd2cSJim Jagielski.ELSE 3080*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3081*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3082*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3083*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3084*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 3085*b1cdbd2cSJim Jagielski.ELSE # "$(SHL6USE_EXPORTS)"!="name" 3086*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL6LINKER) @$(mktmp $(SHL6LINKFLAGS) \ 3087*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL6BASEX) \ 3088*b1cdbd2cSJim Jagielski $(SHL6STACK) -out:$(SHL6TARGETN) \ 3089*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 3090*b1cdbd2cSJim Jagielski $(USE_6IMPLIB) \ 3091*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3092*b1cdbd2cSJim Jagielski $(SHL6OBJS) $(SHL6VERSIONOBJ)) \ 3093*b1cdbd2cSJim Jagielski $(SHL6LINKLISTPARAM) \ 3094*b1cdbd2cSJim Jagielski @$(mktmp $(SHL6STDLIBS) \ 3095*b1cdbd2cSJim Jagielski $(SHL6STDSHL) $(STDSHL6) \ 3096*b1cdbd2cSJim Jagielski $(SHL6LINKRES) \ 3097*b1cdbd2cSJim Jagielski ) 3098*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3099*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3100*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3101*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3102*b1cdbd2cSJim Jagielski.ELSE 3103*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3104*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3105*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3106*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3107*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6USE_EXPORTS)"!="name" 3108*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 3109*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL6TARGET).lnk 3110*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL6TARGET).lst 3111*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 3112*b1cdbd2cSJim Jagielski $(SHL6LINKFLAGS) \ 3113*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL6BASEX) \ 3114*b1cdbd2cSJim Jagielski $(SHL6STACK) $(MAPFILE) \ 3115*b1cdbd2cSJim Jagielski -out:$@ \ 3116*b1cdbd2cSJim Jagielski $(LB)/$(SHL6IMPLIB).exp \ 3117*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3118*b1cdbd2cSJim Jagielski $(SHL6OBJS) \ 3119*b1cdbd2cSJim Jagielski $(SHL6STDLIBS) \ 3120*b1cdbd2cSJim Jagielski $(SHL6STDSHL) $(STDSHL6) \ 3121*b1cdbd2cSJim Jagielski $(SHL6LINKRES) \ 3122*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL6TARGET).lnk 3123*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL6TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL6TARGET).lnk 3124*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL6LINKER) @$(MISC)/$(SHL6TARGET).lnk 3125*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3126*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3127*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3128*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3129*b1cdbd2cSJim Jagielski.ELSE 3130*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3131*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3132*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3133*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3134*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 3135*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 3136*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 3137*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 3138*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3139*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 3140*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_6.cmd 3141*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL6OBJS:s/.obj/.o/) \ 3142*b1cdbd2cSJim Jagielski $(SHL6VERSIONOBJ) \ 3143*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL6LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 3144*b1cdbd2cSJim Jagielski @echo -n $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 3145*b1cdbd2cSJim Jagielski $(SHL6STDLIBS) $(SHL6ARCHIVES) $(SHL6STDSHL) $(STDSHL6) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_6.cmd 3146*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 3147*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_6.cmd` \ 3148*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_6.cmd 3149*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 3150*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_6.cmd 3151*b1cdbd2cSJim Jagielski .ENDIF 3152*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_6.cmd 3153*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 3154*b1cdbd2cSJim Jagielski shl $(SHL6RPATH) $@ 3155*b1cdbd2cSJim Jagielski.IF "$(SHL6CREATEJNILIB)"!="" 3156*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 3157*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 3158*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6CREATEJNILIB)"!="" 3159*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 3160*b1cdbd2cSJim Jagielski.IF "$(SHL6NOCHECK)"=="" 3161*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) $(SHL6TARGETN) 3162*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6NOCHECK)"!="" 3163*b1cdbd2cSJim Jagielski.ENDIF 3164*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 3165*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_6.cmd 3166*b1cdbd2cSJim Jagielski @echo $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6SONAME) $(LINKFLAGSSHL) $(SHL6VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL6OBJS:s/.obj/.o/) \ 3167*b1cdbd2cSJim Jagielski $(SHL6VERSIONOBJ) -o $@ \ 3168*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL6LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 3169*b1cdbd2cSJim Jagielski $(SHL6STDLIBS) $(SHL6ARCHIVES) $(SHL6STDSHL) $(STDSHL6) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_6.cmd 3170*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 3171*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_6.cmd 3172*b1cdbd2cSJim Jagielski .ENDIF 3173*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_6.cmd 3174*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 3175*b1cdbd2cSJim Jagielski.IF "$(SHL6NOCHECK)"=="" 3176*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3177*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL6TARGETN) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3178*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 3179*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3180*b1cdbd2cSJim Jagielski.ELSE 3181*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) -- -s $(SHL6TARGETN:d)check_$(SHL6TARGETN:f) 3182*b1cdbd2cSJim Jagielski.ENDIF 3183*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6NOCHECK)"!="" 3184*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 3185*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 3186*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 3187*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL6TARGETN:b) 3188*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL6TARGETN:f) $(SHL6TARGETN:b) 3189*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3190*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 3191*b1cdbd2cSJim Jagielski @ls -l $@ 3192*b1cdbd2cSJim Jagielski.ENDIF 3193*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 3194*b1cdbd2cSJim Jagielski 3195*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 3196*b1cdbd2cSJim Jagielski 3197*b1cdbd2cSJim Jagielski.IF "$(SHL6DEFAULTRES)"!="" 3198*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL6DEFAULTRES:b).rc > $(NULLDEV) 3199*b1cdbd2cSJim Jagielski.IF "$(SHL6ICON)" != "" 3200*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL6ICON) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3201*b1cdbd2cSJim Jagielski.ENDIF 3202*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 3203*b1cdbd2cSJim Jagielski.IF "$(SHL6ADD_VERINFO)"!="" 3204*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL6ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3205*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6ADD_VERINFO)"!="" 3206*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3207*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL6DEFAULTRES:b).rc 3208*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 3209*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 3210*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL6DEFAULTRES:b).rc 3211*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6DEFAULTRES)"!="" 3212*b1cdbd2cSJim Jagielski 3213*b1cdbd2cSJim Jagielski.IF "$(SHL6ALLRES)"!="" 3214*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL6ALLRES) > $(SHL6LINKRES) 3215*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6ALLRES)"!="" 3216*b1cdbd2cSJim Jagielski 3217*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 3218*b1cdbd2cSJim Jagielski 3219*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL6LINKER) $(SHL6LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 3220*b1cdbd2cSJim Jagielski $(SHL6DEF) \ 3221*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3222*b1cdbd2cSJim Jagielski -L$(LB) \ 3223*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 3224*b1cdbd2cSJim Jagielski $(SHL6OBJS) $(SHL6VERSIONOBJ) \ 3225*b1cdbd2cSJim Jagielski $(SHL6LIBS) \ 3226*b1cdbd2cSJim Jagielski $(SHL6LINKRES) \ 3227*b1cdbd2cSJim Jagielski $(SHL6STDLIBS) \ 3228*b1cdbd2cSJim Jagielski $(SHL6STDSHL) $(STDSHL6) 3229*b1cdbd2cSJim Jagielski 3230*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 3231*b1cdbd2cSJim Jagielski 3232*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL6LINKER) $(SHL6LINKFLAGS) \ 3233*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL6BASEX) \ 3234*b1cdbd2cSJim Jagielski $(SHL6STACK) -o $(SHL6TARGETN) \ 3235*b1cdbd2cSJim Jagielski $(SHL6DEF) \ 3236*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3237*b1cdbd2cSJim Jagielski -L$(LB) \ 3238*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 3239*b1cdbd2cSJim Jagielski $(SHL6OBJS) $(SHL6VERSIONOBJ) \ 3240*b1cdbd2cSJim Jagielski $(SHL6LIBS) \ 3241*b1cdbd2cSJim Jagielski $(SHL6LINKRES) \ 3242*b1cdbd2cSJim Jagielski $(SHL6STDLIBS) \ 3243*b1cdbd2cSJim Jagielski $(SHL6STDSHL) $(STDSHL6) 3244*b1cdbd2cSJim Jagielski 3245*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 3246*b1cdbd2cSJim Jagielski 3247*b1cdbd2cSJim Jagielski.IF "$(SHL6USE_EXPORTS)"=="name" 3248*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 3249*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 3250*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL6TARGETN:b).lib $@ 3251*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6USE_EXPORTS)"=="" 3252*b1cdbd2cSJim Jagielski 3253*b1cdbd2cSJim Jagielski.IF "$(SHL6TARGET8)" != "$(SHL6TARGET)" 3254*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL6TARGET8).dll 3255*b1cdbd2cSJim Jagielski.ENDIF 3256*b1cdbd2cSJim Jagielski 3257*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 3258*b1cdbd2cSJim Jagielski 3259*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL6TARGETN)"!="" 3260*b1cdbd2cSJim Jagielski 3261*b1cdbd2cSJim Jagielski# unroll begin 3262*b1cdbd2cSJim Jagielski 3263*b1cdbd2cSJim Jagielski.IF "$(SHL7TARGETN)"!="" 3264*b1cdbd2cSJim Jagielski 3265*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 3266*b1cdbd2cSJim JagielskiSHL7STDLIBS= 3267*b1cdbd2cSJim Jagielski.ENDIF 3268*b1cdbd2cSJim Jagielski 3269*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 3270*b1cdbd2cSJim JagielskiSHL7STDLIBS= 3271*b1cdbd2cSJim JagielskiSTDSHL= 3272*b1cdbd2cSJim Jagielski.ELSE 3273*b1cdbd2cSJim JagielskiSHL7ARCHIVES= 3274*b1cdbd2cSJim Jagielski.ENDIF 3275*b1cdbd2cSJim Jagielski 3276*b1cdbd2cSJim Jagielski# decide how to link 3277*b1cdbd2cSJim Jagielski.IF "$(SHL7CODETYPE)"=="C" 3278*b1cdbd2cSJim JagielskiSHL7LINKER=$(LINKC) 3279*b1cdbd2cSJim JagielskiSHL7STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 3280*b1cdbd2cSJim JagielskiSHL7LINKFLAGS+=$(LINKCFLAGS) 3281*b1cdbd2cSJim Jagielski.ELSE # "$(SHL7CODETYPE)"=="C" 3282*b1cdbd2cSJim JagielskiSHL7LINKER=$(LINK) 3283*b1cdbd2cSJim JagielskiSHL7STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 3284*b1cdbd2cSJim JagielskiSHL7LINKFLAGS+=$(LINKFLAGS) 3285*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7CODETYPE)"=="C" 3286*b1cdbd2cSJim Jagielski 3287*b1cdbd2cSJim JagielskiSHL7RPATH*=OOO 3288*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL7RPATH)*=/ERROR:/Bad_SHL7RPATH_value 3289*b1cdbd2cSJim JagielskiSHL7LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL7RPATH)) 3290*b1cdbd2cSJim Jagielski 3291*b1cdbd2cSJim Jagielski.IF "$(SHL7USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 3292*b1cdbd2cSJim JagielskiSHL7DEF*=$(MISC)/$(SHL7TARGET).def 3293*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7USE_EXPORTS)"=="" 3294*b1cdbd2cSJim Jagielski 3295*b1cdbd2cSJim JagielskiEXTRALIBPATHS7=$(EXTRALIBPATHS) 3296*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 3297*b1cdbd2cSJim Jagielski.IF "$(SHL7NOCHECK)"=="" 3298*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 3299*b1cdbd2cSJim JagielskiEXTRALIBPATHS7+=-L$(SOLAR_STLLIBPATH) 3300*b1cdbd2cSJim Jagielski.ENDIF 3301*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7NOCHECK)"!="" 3302*b1cdbd2cSJim Jagielski.ENDIF 3303*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3304*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 3305*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3306*b1cdbd2cSJim Jagielski 3307*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 3308*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 3309*b1cdbd2cSJim JagielskiSHL7VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL7TARGET))}$(VERSIONOBJ:f) 3310*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL7VERSIONOBJ:b).h 3311*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 3312*b1cdbd2cSJim JagielskiSHL7VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL7TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 3313*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 3314*b1cdbd2cSJim JagielskiSHL7VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL7TARGET))}$(VERSIONOBJ:f) 3315*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 3316*b1cdbd2cSJim Jagielski$(MISC)/$(SHL7VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL7VERSIONOBJ:b).h 3317*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 3318*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL7VERSIONOBJ:b).h/ > $@ 3319*b1cdbd2cSJim Jagielski 3320*b1cdbd2cSJim Jagielski.INIT : $(SHL7VERSIONOBJDEP) 3321*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 3322*b1cdbd2cSJim Jagielski.ENDIF 3323*b1cdbd2cSJim Jagielski 3324*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 3325*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3326*b1cdbd2cSJim Jagielski.IF "$(SHL7IMPLIB)" == "" 3327*b1cdbd2cSJim JagielskiSHL7IMPLIB=i$(TARGET)_t7 3328*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7IMPLIB)" == "" 3329*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 3330*b1cdbd2cSJim JagielskiUSE_7IMPLIB=-implib:$(LB)/$(SHL7IMPLIB).lib 3331*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 3332*b1cdbd2cSJim JagielskiSHL7IMPLIBN=$(LB)/$(SHL7IMPLIB).lib 3333*b1cdbd2cSJim JagielskiALLTAR : $(SHL7IMPLIBN) 3334*b1cdbd2cSJim Jagielski 3335*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 3336*b1cdbd2cSJim JagielskiUSE_7IMPLIB_DEPS=$(LB)/$(SHL7IMPLIB).lib 3337*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 3338*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3339*b1cdbd2cSJim JagielskiUSE_SHL7DEF=$(SHL7DEF) 3340*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 3341*b1cdbd2cSJim JagielskiUSE_SHL7DEF= 3342*b1cdbd2cSJim JagielskiSHL7DEPN+:=$(SHL7DEPNU) 3343*b1cdbd2cSJim Jagielski 3344*b1cdbd2cSJim Jagielski.IF "$(SHL7VERSIONMAP)"=="" 3345*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 3346*b1cdbd2cSJim JagielskiUSE_SHL7VERSIONMAP=$(MISC)/$(SHL7TARGET).vmap 3347*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7VERSIONMAP)"=="" 3348*b1cdbd2cSJim Jagielski 3349*b1cdbd2cSJim Jagielski.IF "$(USE_SHL7VERSIONMAP)"!="" 3350*b1cdbd2cSJim Jagielski 3351*b1cdbd2cSJim Jagielski.IF "$(SHL7FILTERFILE)"!="" 3352*b1cdbd2cSJim Jagielski.IF "$(SHL7VERSIONMAP)"!="" 3353*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 3354*b1cdbd2cSJim JagielskiUSE_SHL7VERSIONMAP=$(MISC)/$(SHL7TARGET).vmap 3355*b1cdbd2cSJim Jagielski$(USE_SHL7VERSIONMAP) .PHONY: 3356*b1cdbd2cSJim Jagielski @echo ----------------------------- 3357*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 3358*b1cdbd2cSJim Jagielski @echo ----------------------------- 3359*b1cdbd2cSJim Jagielski# force_dmake_to_error 3360*b1cdbd2cSJim Jagielski 3361*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7VERSIONMAP)"!="" 3362*b1cdbd2cSJim Jagielski 3363*b1cdbd2cSJim JagielskiSHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP) 3364*b1cdbd2cSJim Jagielski 3365*b1cdbd2cSJim Jagielski$(USE_SHL7VERSIONMAP): \ 3366*b1cdbd2cSJim Jagielski $(SHL7OBJS)\ 3367*b1cdbd2cSJim Jagielski $(SHL7LIBS)\ 3368*b1cdbd2cSJim Jagielski $(SHL7FILTERFILE) 3369*b1cdbd2cSJim Jagielski @$(RM) $@.dump 3370*b1cdbd2cSJim Jagielski.IF "$(SHL7OBJS)"!="" 3371*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 3372*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3373*b1cdbd2cSJim Jagielski @-nm $(SHL7OBJS:s/.obj/.o/) > $@.dump 3374*b1cdbd2cSJim Jagielski.ELSE 3375*b1cdbd2cSJim Jagielski @nm $(SHL7OBJS:s/.obj/.o/) > $@.dump 3376*b1cdbd2cSJim Jagielski.ENDIF 3377*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7OBJS)!"="" 3378*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL7LIBS:s/.lib/.dump/) >> $@.dump 3379*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL7INTERFACE) -f $(SHL7FILTERFILE) -m $@ 3380*b1cdbd2cSJim Jagielski 3381*b1cdbd2cSJim Jagielski.ELSE # "$(SHL7FILTERFILE)"!="" 3382*b1cdbd2cSJim JagielskiUSE_SHL7VERSIONMAP=$(MISC)/$(SHL7TARGET).vmap 3383*b1cdbd2cSJim Jagielski$(USE_SHL7VERSIONMAP) : 3384*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 3385*b1cdbd2cSJim Jagielski @echo ----------------------------- 3386*b1cdbd2cSJim Jagielski @echo SHL7FILTERFILE not set! 3387*b1cdbd2cSJim Jagielski @echo ----------------------------- 3388*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 3389*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 3390*b1cdbd2cSJim Jagielski.ELSE 3391*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 3392*b1cdbd2cSJim Jagielski.ENDIF 3393*b1cdbd2cSJim Jagielski# force_dmake_to_error 3394*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7FILTERFILE)"!="" 3395*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL7VERSIONMAP)"!="" 3396*b1cdbd2cSJim Jagielski 3397*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 3398*b1cdbd2cSJim Jagielski.IF "$(SHL7VERSIONMAP)"!="" 3399*b1cdbd2cSJim JagielskiUSE_SHL7VERSIONMAP=$(MISC)/$(SHL7VERSIONMAP:b)_$(SHL7TARGET)$(SHL7VERSIONMAP:e) 3400*b1cdbd2cSJim JagielskiSHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP) 3401*b1cdbd2cSJim Jagielski 3402*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3403*b1cdbd2cSJim Jagielski$(USE_SHL7VERSIONMAP): $(SHL7OBJS) $(SHL7LIBS) 3404*b1cdbd2cSJim Jagielski.ENDIF 3405*b1cdbd2cSJim Jagielski 3406*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 3407*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 3408*b1cdbd2cSJim Jagielski$(USE_SHL7VERSIONMAP) .ERRREMOVE: $(SHL7VERSIONMAP) 3409*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 3410*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 3411*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 3412*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3413*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 3414*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 3415*b1cdbd2cSJim Jagielski.ENDIF 3416*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 3417*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 3418*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 3419*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL7VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 3420*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 3421*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL7VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 3422*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 3423*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL7VERSIONMAP) > $@ 3424*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 3425*b1cdbd2cSJim Jagielski @chmod a+w $@ 3426*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 3427*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 3428*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3429*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 3430*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 3431*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 3432*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 3433*b1cdbd2cSJim Jagielski.IF "$(SHL7OBJS)"!="" 3434*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL7OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 3435*b1cdbd2cSJim Jagielski.ENDIF 3436*b1cdbd2cSJim Jagielski.IF "$(SHL7LIBS)"!="" 3437*b1cdbd2cSJim Jagielski $(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 3438*b1cdbd2cSJim Jagielski.ENDIF 3439*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 3440*b1cdbd2cSJim Jagielski# exported symbols list 3441*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 3442*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 3443*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7VERSIONMAP)"!="" 3444*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL7VERSIONMAP)"!="" 3445*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 3446*b1cdbd2cSJim Jagielski 3447*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 3448*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 3449*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 3450*b1cdbd2cSJim JagielskiSHL7SONAME=\"$(SONAME_SWITCH)$(SHL7TARGETN:f)\" 3451*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 3452*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 3453*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3454*b1cdbd2cSJim Jagielski 3455*b1cdbd2cSJim Jagielski.IF "$(SHL7RES)"!="" 3456*b1cdbd2cSJim JagielskiSHL7ALLRES+=$(SHL7RES) 3457*b1cdbd2cSJim JagielskiSHL7LINKRES*=$(MISC)/$(SHL7TARGET).res 3458*b1cdbd2cSJim JagielskiSHL7LINKRESO*=$(MISC)/$(SHL7TARGET)_res.o 3459*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7RES)"!="" 3460*b1cdbd2cSJim Jagielski 3461*b1cdbd2cSJim Jagielski.IF "$(SHL7DEFAULTRES)$(use_shl_versions)"!="" 3462*b1cdbd2cSJim JagielskiSHL7DEFAULTRES*=$(MISC)/$(SHL7TARGET)_def.res 3463*b1cdbd2cSJim JagielskiSHL7ALLRES+=$(SHL7DEFAULTRES) 3464*b1cdbd2cSJim JagielskiSHL7LINKRES*=$(MISC)/$(SHL7TARGET).res 3465*b1cdbd2cSJim JagielskiSHL7LINKRESO*=$(MISC)/$(SHL7TARGET)_res.o 3466*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7DEFAULTRES)$(use_shl_versions)"!="" 3467*b1cdbd2cSJim Jagielski 3468*b1cdbd2cSJim Jagielski#.IF "$(SHL7TARGETN)"!="" 3469*b1cdbd2cSJim Jagielski 3470*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 3471*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 3472*b1cdbd2cSJim Jagielski.IF "$(SHL7LIBS)"!="" 3473*b1cdbd2cSJim Jagielski$(MISC)/$(SHL7TARGET)_linkinc.ls .PHONY: 3474*b1cdbd2cSJim Jagielski @@-$(RM) $@ 3475*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL7LIBS) $(i:s/.lib/.lin/)) >> $@ 3476*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7LIBS)"!="" 3477*b1cdbd2cSJim Jagielski.ENDIF 3478*b1cdbd2cSJim Jagielski 3479*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL7TARGETN:b)_linkinc.ls 3480*b1cdbd2cSJim Jagielski$(SHL7TARGETN) : $(LINKINCTARGETS) 3481*b1cdbd2cSJim Jagielski 3482*b1cdbd2cSJim Jagielski.ELSE 3483*b1cdbd2cSJim Jagielski.IF "$(SHL7USE_EXPORTS)"=="name" 3484*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 3485*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 3486*b1cdbd2cSJim Jagielski.IF "$(SHL7LIBS)"!="" 3487*b1cdbd2cSJim JagielskiSHL7LINKLIST=$(MISC)/$(SHL7TARGET)_link.lst 3488*b1cdbd2cSJim JagielskiSHL7LINKLISTPARAM=@$(SHL7LINKLIST) 3489*b1cdbd2cSJim Jagielski$(SHL7LINKLIST) : $(SHL7LIBS) 3490*b1cdbd2cSJim Jagielski @@-$(RM) $@ 3491*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL7LIBS) $(i:s/.lib/.lin/)) >> $@ 3492*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7LIBS)"!="" 3493*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 3494*b1cdbd2cSJim Jagielski.ENDIF 3495*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7USE_EXPORTS)"=="name" 3496*b1cdbd2cSJim Jagielski 3497*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 3498*b1cdbd2cSJim Jagielski @echo . > $@ 3499*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 3500*b1cdbd2cSJim Jagielski 3501*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 3502*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 3503*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 3504*b1cdbd2cSJim JagielskiSHL7TARGET8=$(shell @fix_shl.cmd $(SHL7TARGET)) 3505*b1cdbd2cSJim Jagielski.ENDIF 3506*b1cdbd2cSJim Jagielski 3507*b1cdbd2cSJim Jagielski 3508*b1cdbd2cSJim Jagielski$(SHL7TARGETN) : \ 3509*b1cdbd2cSJim Jagielski $(SHL7OBJS)\ 3510*b1cdbd2cSJim Jagielski $(SHL7LIBS)\ 3511*b1cdbd2cSJim Jagielski $(USE_7IMPLIB_DEPS)\ 3512*b1cdbd2cSJim Jagielski $(USE_SHL7DEF)\ 3513*b1cdbd2cSJim Jagielski $(USE_SHL7VERSIONMAP)\ 3514*b1cdbd2cSJim Jagielski $(SHL7RES)\ 3515*b1cdbd2cSJim Jagielski $(SHL7DEPN) \ 3516*b1cdbd2cSJim Jagielski $(SHL7LINKLIST) 3517*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 3518*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 3519*b1cdbd2cSJim Jagielski.IF "$(SHL7DEFAULTRES)"!="" 3520*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL7DEFAULTRES:b).rc 3521*b1cdbd2cSJim Jagielski.IF "$(SHL7ICON)" != "" 3522*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL7ICON) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3523*b1cdbd2cSJim Jagielski.ENDIF 3524*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 3525*b1cdbd2cSJim Jagielski.IF "$(SHL7ADD_VERINFO)"!="" 3526*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL7ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3527*b1cdbd2cSJim Jagielski.ELSE # "$(SHL7ADD_VERINFO)"!="" 3528*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3529*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3530*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3531*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7ADD_VERINFO)"!="" 3532*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3533*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL7TARGET)$(DLLPOST) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3534*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL7TARGET:b) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3535*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3536*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 3537*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL7DEFAULTRES:b).rc 3538*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7DEFAULTRES)"!="" 3539*b1cdbd2cSJim Jagielski.IF "$(SHL7ALLRES)"!="" 3540*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL7ALLRES) > $(SHL7LINKRES) 3541*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 3542*b1cdbd2cSJim Jagielski windres $(SHL7LINKRES) $(SHL7LINKRESO) 3543*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 3544*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7ALLRES)"!="" 3545*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 3546*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL7TARGET)$(DLLPOST) \ 3547*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_7.cmd 3548*b1cdbd2cSJim Jagielski @noop $(assign ALL7OBJLIST:=$(STDOBJ) $(SHL7OBJS) $(SHL7LINKRESO) $(shell $(TYPE) /dev/null $(SHL7LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 3549*b1cdbd2cSJim Jagielski.IF "$(DEFLIB7NAME)"!="" # do not have to include objs 3550*b1cdbd2cSJim Jagielski @noop $(assign DEF7OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 3551*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF7OBJLIST) $(assign ALL7OBJLIST:=$(ALL7OBJLIST:s?$i??))) 3552*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB7NAME)"!="" 3553*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3554*b1cdbd2cSJim Jagielski.IF "$(SHL7DEF)"!="" 3555*b1cdbd2cSJim Jagielski @echo --input-def $(SHL7DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3556*b1cdbd2cSJim Jagielski.ELSE 3557*b1cdbd2cSJim Jagielski @echo $(SHL7VERSIONOBJ) $(SHL7DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3558*b1cdbd2cSJim Jagielski.ENDIF 3559*b1cdbd2cSJim Jagielski @echo $(ALL7OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3560*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 3561*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL7VERSIONOBJ) $(SHL7DESCRIPTIONOBJ) $(SHL7OBJS) $(SHL7LINKRESO) \ 3562*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL7LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 3563*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL7STDLIBS) -Wl,--end-group \ 3564*b1cdbd2cSJim Jagielski $(SHL7STDSHL) $(STDSHL7) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 3565*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3566*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 3567*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_7.cmd 3568*b1cdbd2cSJim Jagielski .ENDIF 3569*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_7.cmd 3570*b1cdbd2cSJim Jagielski.ELSE 3571*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 3572*b1cdbd2cSJim Jagielski.IF "$(SHL7USE_EXPORTS)"!="name" 3573*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 3574*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL7LINKER) @$(mktmp \ 3575*b1cdbd2cSJim Jagielski $(SHL7LINKFLAGS) \ 3576*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 3577*b1cdbd2cSJim Jagielski $(SHL7STACK) $(SHL7BASEX) \ 3578*b1cdbd2cSJim Jagielski -out:$@ \ 3579*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 3580*b1cdbd2cSJim Jagielski -def:$(SHL7DEF) \ 3581*b1cdbd2cSJim Jagielski $(USE_7IMPLIB) \ 3582*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3583*b1cdbd2cSJim Jagielski $(SHL7VERSIONOBJ) $(SHL7OBJS) \ 3584*b1cdbd2cSJim Jagielski $(SHL7LIBS) \ 3585*b1cdbd2cSJim Jagielski $(SHL7STDLIBS) \ 3586*b1cdbd2cSJim Jagielski $(SHL7STDSHL) $(STDSHL7) \ 3587*b1cdbd2cSJim Jagielski $(SHL7LINKRES) \ 3588*b1cdbd2cSJim Jagielski ) 3589*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 3590*b1cdbd2cSJim Jagielski @@$(LS) $@ 3591*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3592*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3593*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3594*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3595*b1cdbd2cSJim Jagielski.ELSE 3596*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3597*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3598*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3599*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3600*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 3601*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL7LINKER) @$(mktmp $(SHL7LINKFLAGS) \ 3602*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL7BASEX) \ 3603*b1cdbd2cSJim Jagielski $(SHL7STACK) -out:$(SHL7TARGETN) \ 3604*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 3605*b1cdbd2cSJim Jagielski $(LB)/$(SHL7IMPLIB).exp \ 3606*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3607*b1cdbd2cSJim Jagielski $(SHL7OBJS) $(SHL7VERSIONOBJ) \ 3608*b1cdbd2cSJim Jagielski $(SHL7LIBS) \ 3609*b1cdbd2cSJim Jagielski $(SHL7STDLIBS) \ 3610*b1cdbd2cSJim Jagielski $(SHL7STDSHL) $(STDSHL7) \ 3611*b1cdbd2cSJim Jagielski $(SHL7LINKRES) \ 3612*b1cdbd2cSJim Jagielski ) 3613*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 3614*b1cdbd2cSJim Jagielski @@$(LS) $@ 3615*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3616*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3617*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3618*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3619*b1cdbd2cSJim Jagielski.ELSE 3620*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3621*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3622*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3623*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3624*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 3625*b1cdbd2cSJim Jagielski.ELSE # "$(SHL7USE_EXPORTS)"!="name" 3626*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL7LINKER) @$(mktmp $(SHL7LINKFLAGS) \ 3627*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL7BASEX) \ 3628*b1cdbd2cSJim Jagielski $(SHL7STACK) -out:$(SHL7TARGETN) \ 3629*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 3630*b1cdbd2cSJim Jagielski $(USE_7IMPLIB) \ 3631*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3632*b1cdbd2cSJim Jagielski $(SHL7OBJS) $(SHL7VERSIONOBJ)) \ 3633*b1cdbd2cSJim Jagielski $(SHL7LINKLISTPARAM) \ 3634*b1cdbd2cSJim Jagielski @$(mktmp $(SHL7STDLIBS) \ 3635*b1cdbd2cSJim Jagielski $(SHL7STDSHL) $(STDSHL7) \ 3636*b1cdbd2cSJim Jagielski $(SHL7LINKRES) \ 3637*b1cdbd2cSJim Jagielski ) 3638*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3639*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3640*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3641*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3642*b1cdbd2cSJim Jagielski.ELSE 3643*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3644*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3645*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3646*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3647*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7USE_EXPORTS)"!="name" 3648*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 3649*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL7TARGET).lnk 3650*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL7TARGET).lst 3651*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 3652*b1cdbd2cSJim Jagielski $(SHL7LINKFLAGS) \ 3653*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL7BASEX) \ 3654*b1cdbd2cSJim Jagielski $(SHL7STACK) $(MAPFILE) \ 3655*b1cdbd2cSJim Jagielski -out:$@ \ 3656*b1cdbd2cSJim Jagielski $(LB)/$(SHL7IMPLIB).exp \ 3657*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3658*b1cdbd2cSJim Jagielski $(SHL7OBJS) \ 3659*b1cdbd2cSJim Jagielski $(SHL7STDLIBS) \ 3660*b1cdbd2cSJim Jagielski $(SHL7STDSHL) $(STDSHL7) \ 3661*b1cdbd2cSJim Jagielski $(SHL7LINKRES) \ 3662*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL7TARGET).lnk 3663*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL7TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL7TARGET).lnk 3664*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL7LINKER) @$(MISC)/$(SHL7TARGET).lnk 3665*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 3666*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 3667*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 3668*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 3669*b1cdbd2cSJim Jagielski.ELSE 3670*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 3671*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 3672*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 3673*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 3674*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 3675*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 3676*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 3677*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 3678*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3679*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 3680*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_7.cmd 3681*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL7OBJS:s/.obj/.o/) \ 3682*b1cdbd2cSJim Jagielski $(SHL7VERSIONOBJ) \ 3683*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL7LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 3684*b1cdbd2cSJim Jagielski @echo -n $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 3685*b1cdbd2cSJim Jagielski $(SHL7STDLIBS) $(SHL7ARCHIVES) $(SHL7STDSHL) $(STDSHL7) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_7.cmd 3686*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 3687*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_7.cmd` \ 3688*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_7.cmd 3689*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 3690*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_7.cmd 3691*b1cdbd2cSJim Jagielski .ENDIF 3692*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_7.cmd 3693*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 3694*b1cdbd2cSJim Jagielski shl $(SHL7RPATH) $@ 3695*b1cdbd2cSJim Jagielski.IF "$(SHL7CREATEJNILIB)"!="" 3696*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 3697*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 3698*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7CREATEJNILIB)"!="" 3699*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 3700*b1cdbd2cSJim Jagielski.IF "$(SHL7NOCHECK)"=="" 3701*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) $(SHL7TARGETN) 3702*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7NOCHECK)"!="" 3703*b1cdbd2cSJim Jagielski.ENDIF 3704*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 3705*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_7.cmd 3706*b1cdbd2cSJim Jagielski @echo $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7SONAME) $(LINKFLAGSSHL) $(SHL7VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL7OBJS:s/.obj/.o/) \ 3707*b1cdbd2cSJim Jagielski $(SHL7VERSIONOBJ) -o $@ \ 3708*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL7LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 3709*b1cdbd2cSJim Jagielski $(SHL7STDLIBS) $(SHL7ARCHIVES) $(SHL7STDSHL) $(STDSHL7) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_7.cmd 3710*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 3711*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_7.cmd 3712*b1cdbd2cSJim Jagielski .ENDIF 3713*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_7.cmd 3714*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 3715*b1cdbd2cSJim Jagielski.IF "$(SHL7NOCHECK)"=="" 3716*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3717*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL7TARGETN) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3718*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 3719*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3720*b1cdbd2cSJim Jagielski.ELSE 3721*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) -- -s $(SHL7TARGETN:d)check_$(SHL7TARGETN:f) 3722*b1cdbd2cSJim Jagielski.ENDIF 3723*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7NOCHECK)"!="" 3724*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 3725*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 3726*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 3727*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL7TARGETN:b) 3728*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL7TARGETN:f) $(SHL7TARGETN:b) 3729*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3730*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 3731*b1cdbd2cSJim Jagielski @ls -l $@ 3732*b1cdbd2cSJim Jagielski.ENDIF 3733*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 3734*b1cdbd2cSJim Jagielski 3735*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 3736*b1cdbd2cSJim Jagielski 3737*b1cdbd2cSJim Jagielski.IF "$(SHL7DEFAULTRES)"!="" 3738*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL7DEFAULTRES:b).rc > $(NULLDEV) 3739*b1cdbd2cSJim Jagielski.IF "$(SHL7ICON)" != "" 3740*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL7ICON) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3741*b1cdbd2cSJim Jagielski.ENDIF 3742*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 3743*b1cdbd2cSJim Jagielski.IF "$(SHL7ADD_VERINFO)"!="" 3744*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL7ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3745*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7ADD_VERINFO)"!="" 3746*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3747*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL7DEFAULTRES:b).rc 3748*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 3749*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 3750*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL7DEFAULTRES:b).rc 3751*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7DEFAULTRES)"!="" 3752*b1cdbd2cSJim Jagielski 3753*b1cdbd2cSJim Jagielski.IF "$(SHL7ALLRES)"!="" 3754*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL7ALLRES) > $(SHL7LINKRES) 3755*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7ALLRES)"!="" 3756*b1cdbd2cSJim Jagielski 3757*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 3758*b1cdbd2cSJim Jagielski 3759*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL7LINKER) $(SHL7LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 3760*b1cdbd2cSJim Jagielski $(SHL7DEF) \ 3761*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3762*b1cdbd2cSJim Jagielski -L$(LB) \ 3763*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 3764*b1cdbd2cSJim Jagielski $(SHL7OBJS) $(SHL7VERSIONOBJ) \ 3765*b1cdbd2cSJim Jagielski $(SHL7LIBS) \ 3766*b1cdbd2cSJim Jagielski $(SHL7LINKRES) \ 3767*b1cdbd2cSJim Jagielski $(SHL7STDLIBS) \ 3768*b1cdbd2cSJim Jagielski $(SHL7STDSHL) $(STDSHL7) 3769*b1cdbd2cSJim Jagielski 3770*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 3771*b1cdbd2cSJim Jagielski 3772*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL7LINKER) $(SHL7LINKFLAGS) \ 3773*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL7BASEX) \ 3774*b1cdbd2cSJim Jagielski $(SHL7STACK) -o $(SHL7TARGETN) \ 3775*b1cdbd2cSJim Jagielski $(SHL7DEF) \ 3776*b1cdbd2cSJim Jagielski $(STDOBJ) \ 3777*b1cdbd2cSJim Jagielski -L$(LB) \ 3778*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 3779*b1cdbd2cSJim Jagielski $(SHL7OBJS) $(SHL7VERSIONOBJ) \ 3780*b1cdbd2cSJim Jagielski $(SHL7LIBS) \ 3781*b1cdbd2cSJim Jagielski $(SHL7LINKRES) \ 3782*b1cdbd2cSJim Jagielski $(SHL7STDLIBS) \ 3783*b1cdbd2cSJim Jagielski $(SHL7STDSHL) $(STDSHL7) 3784*b1cdbd2cSJim Jagielski 3785*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 3786*b1cdbd2cSJim Jagielski 3787*b1cdbd2cSJim Jagielski.IF "$(SHL7USE_EXPORTS)"=="name" 3788*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 3789*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 3790*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL7TARGETN:b).lib $@ 3791*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7USE_EXPORTS)"=="" 3792*b1cdbd2cSJim Jagielski 3793*b1cdbd2cSJim Jagielski.IF "$(SHL7TARGET8)" != "$(SHL7TARGET)" 3794*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL7TARGET8).dll 3795*b1cdbd2cSJim Jagielski.ENDIF 3796*b1cdbd2cSJim Jagielski 3797*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 3798*b1cdbd2cSJim Jagielski 3799*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL7TARGETN)"!="" 3800*b1cdbd2cSJim Jagielski 3801*b1cdbd2cSJim Jagielski# unroll begin 3802*b1cdbd2cSJim Jagielski 3803*b1cdbd2cSJim Jagielski.IF "$(SHL8TARGETN)"!="" 3804*b1cdbd2cSJim Jagielski 3805*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 3806*b1cdbd2cSJim JagielskiSHL8STDLIBS= 3807*b1cdbd2cSJim Jagielski.ENDIF 3808*b1cdbd2cSJim Jagielski 3809*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 3810*b1cdbd2cSJim JagielskiSHL8STDLIBS= 3811*b1cdbd2cSJim JagielskiSTDSHL= 3812*b1cdbd2cSJim Jagielski.ELSE 3813*b1cdbd2cSJim JagielskiSHL8ARCHIVES= 3814*b1cdbd2cSJim Jagielski.ENDIF 3815*b1cdbd2cSJim Jagielski 3816*b1cdbd2cSJim Jagielski# decide how to link 3817*b1cdbd2cSJim Jagielski.IF "$(SHL8CODETYPE)"=="C" 3818*b1cdbd2cSJim JagielskiSHL8LINKER=$(LINKC) 3819*b1cdbd2cSJim JagielskiSHL8STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 3820*b1cdbd2cSJim JagielskiSHL8LINKFLAGS+=$(LINKCFLAGS) 3821*b1cdbd2cSJim Jagielski.ELSE # "$(SHL8CODETYPE)"=="C" 3822*b1cdbd2cSJim JagielskiSHL8LINKER=$(LINK) 3823*b1cdbd2cSJim JagielskiSHL8STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 3824*b1cdbd2cSJim JagielskiSHL8LINKFLAGS+=$(LINKFLAGS) 3825*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8CODETYPE)"=="C" 3826*b1cdbd2cSJim Jagielski 3827*b1cdbd2cSJim JagielskiSHL8RPATH*=OOO 3828*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL8RPATH)*=/ERROR:/Bad_SHL8RPATH_value 3829*b1cdbd2cSJim JagielskiSHL8LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL8RPATH)) 3830*b1cdbd2cSJim Jagielski 3831*b1cdbd2cSJim Jagielski.IF "$(SHL8USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 3832*b1cdbd2cSJim JagielskiSHL8DEF*=$(MISC)/$(SHL8TARGET).def 3833*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8USE_EXPORTS)"=="" 3834*b1cdbd2cSJim Jagielski 3835*b1cdbd2cSJim JagielskiEXTRALIBPATHS8=$(EXTRALIBPATHS) 3836*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 3837*b1cdbd2cSJim Jagielski.IF "$(SHL8NOCHECK)"=="" 3838*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 3839*b1cdbd2cSJim JagielskiEXTRALIBPATHS8+=-L$(SOLAR_STLLIBPATH) 3840*b1cdbd2cSJim Jagielski.ENDIF 3841*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8NOCHECK)"!="" 3842*b1cdbd2cSJim Jagielski.ENDIF 3843*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3844*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 3845*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3846*b1cdbd2cSJim Jagielski 3847*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 3848*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 3849*b1cdbd2cSJim JagielskiSHL8VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL8TARGET))}$(VERSIONOBJ:f) 3850*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL8VERSIONOBJ:b).h 3851*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 3852*b1cdbd2cSJim JagielskiSHL8VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL8TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 3853*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 3854*b1cdbd2cSJim JagielskiSHL8VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL8TARGET))}$(VERSIONOBJ:f) 3855*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 3856*b1cdbd2cSJim Jagielski$(MISC)/$(SHL8VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL8VERSIONOBJ:b).h 3857*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 3858*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL8VERSIONOBJ:b).h/ > $@ 3859*b1cdbd2cSJim Jagielski 3860*b1cdbd2cSJim Jagielski.INIT : $(SHL8VERSIONOBJDEP) 3861*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 3862*b1cdbd2cSJim Jagielski.ENDIF 3863*b1cdbd2cSJim Jagielski 3864*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 3865*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3866*b1cdbd2cSJim Jagielski.IF "$(SHL8IMPLIB)" == "" 3867*b1cdbd2cSJim JagielskiSHL8IMPLIB=i$(TARGET)_t8 3868*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8IMPLIB)" == "" 3869*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 3870*b1cdbd2cSJim JagielskiUSE_8IMPLIB=-implib:$(LB)/$(SHL8IMPLIB).lib 3871*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 3872*b1cdbd2cSJim JagielskiSHL8IMPLIBN=$(LB)/$(SHL8IMPLIB).lib 3873*b1cdbd2cSJim JagielskiALLTAR : $(SHL8IMPLIBN) 3874*b1cdbd2cSJim Jagielski 3875*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 3876*b1cdbd2cSJim JagielskiUSE_8IMPLIB_DEPS=$(LB)/$(SHL8IMPLIB).lib 3877*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 3878*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 3879*b1cdbd2cSJim JagielskiUSE_SHL8DEF=$(SHL8DEF) 3880*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 3881*b1cdbd2cSJim JagielskiUSE_SHL8DEF= 3882*b1cdbd2cSJim JagielskiSHL8DEPN+:=$(SHL8DEPNU) 3883*b1cdbd2cSJim Jagielski 3884*b1cdbd2cSJim Jagielski.IF "$(SHL8VERSIONMAP)"=="" 3885*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 3886*b1cdbd2cSJim JagielskiUSE_SHL8VERSIONMAP=$(MISC)/$(SHL8TARGET).vmap 3887*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8VERSIONMAP)"=="" 3888*b1cdbd2cSJim Jagielski 3889*b1cdbd2cSJim Jagielski.IF "$(USE_SHL8VERSIONMAP)"!="" 3890*b1cdbd2cSJim Jagielski 3891*b1cdbd2cSJim Jagielski.IF "$(SHL8FILTERFILE)"!="" 3892*b1cdbd2cSJim Jagielski.IF "$(SHL8VERSIONMAP)"!="" 3893*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 3894*b1cdbd2cSJim JagielskiUSE_SHL8VERSIONMAP=$(MISC)/$(SHL8TARGET).vmap 3895*b1cdbd2cSJim Jagielski$(USE_SHL8VERSIONMAP) .PHONY: 3896*b1cdbd2cSJim Jagielski @echo ----------------------------- 3897*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 3898*b1cdbd2cSJim Jagielski @echo ----------------------------- 3899*b1cdbd2cSJim Jagielski# force_dmake_to_error 3900*b1cdbd2cSJim Jagielski 3901*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8VERSIONMAP)"!="" 3902*b1cdbd2cSJim Jagielski 3903*b1cdbd2cSJim JagielskiSHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP) 3904*b1cdbd2cSJim Jagielski 3905*b1cdbd2cSJim Jagielski$(USE_SHL8VERSIONMAP): \ 3906*b1cdbd2cSJim Jagielski $(SHL8OBJS)\ 3907*b1cdbd2cSJim Jagielski $(SHL8LIBS)\ 3908*b1cdbd2cSJim Jagielski $(SHL8FILTERFILE) 3909*b1cdbd2cSJim Jagielski @$(RM) $@.dump 3910*b1cdbd2cSJim Jagielski.IF "$(SHL8OBJS)"!="" 3911*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 3912*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3913*b1cdbd2cSJim Jagielski @-nm $(SHL8OBJS:s/.obj/.o/) > $@.dump 3914*b1cdbd2cSJim Jagielski.ELSE 3915*b1cdbd2cSJim Jagielski @nm $(SHL8OBJS:s/.obj/.o/) > $@.dump 3916*b1cdbd2cSJim Jagielski.ENDIF 3917*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8OBJS)!"="" 3918*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL8LIBS:s/.lib/.dump/) >> $@.dump 3919*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL8INTERFACE) -f $(SHL8FILTERFILE) -m $@ 3920*b1cdbd2cSJim Jagielski 3921*b1cdbd2cSJim Jagielski.ELSE # "$(SHL8FILTERFILE)"!="" 3922*b1cdbd2cSJim JagielskiUSE_SHL8VERSIONMAP=$(MISC)/$(SHL8TARGET).vmap 3923*b1cdbd2cSJim Jagielski$(USE_SHL8VERSIONMAP) : 3924*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 3925*b1cdbd2cSJim Jagielski @echo ----------------------------- 3926*b1cdbd2cSJim Jagielski @echo SHL8FILTERFILE not set! 3927*b1cdbd2cSJim Jagielski @echo ----------------------------- 3928*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 3929*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 3930*b1cdbd2cSJim Jagielski.ELSE 3931*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 3932*b1cdbd2cSJim Jagielski.ENDIF 3933*b1cdbd2cSJim Jagielski# force_dmake_to_error 3934*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8FILTERFILE)"!="" 3935*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL8VERSIONMAP)"!="" 3936*b1cdbd2cSJim Jagielski 3937*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 3938*b1cdbd2cSJim Jagielski.IF "$(SHL8VERSIONMAP)"!="" 3939*b1cdbd2cSJim JagielskiUSE_SHL8VERSIONMAP=$(MISC)/$(SHL8VERSIONMAP:b)_$(SHL8TARGET)$(SHL8VERSIONMAP:e) 3940*b1cdbd2cSJim JagielskiSHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP) 3941*b1cdbd2cSJim Jagielski 3942*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3943*b1cdbd2cSJim Jagielski$(USE_SHL8VERSIONMAP): $(SHL8OBJS) $(SHL8LIBS) 3944*b1cdbd2cSJim Jagielski.ENDIF 3945*b1cdbd2cSJim Jagielski 3946*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 3947*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 3948*b1cdbd2cSJim Jagielski$(USE_SHL8VERSIONMAP) .ERRREMOVE: $(SHL8VERSIONMAP) 3949*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 3950*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 3951*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 3952*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3953*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 3954*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 3955*b1cdbd2cSJim Jagielski.ENDIF 3956*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 3957*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 3958*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 3959*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL8VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 3960*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 3961*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL8VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 3962*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 3963*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL8VERSIONMAP) > $@ 3964*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 3965*b1cdbd2cSJim Jagielski @chmod a+w $@ 3966*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 3967*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 3968*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 3969*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 3970*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 3971*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 3972*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 3973*b1cdbd2cSJim Jagielski.IF "$(SHL8OBJS)"!="" 3974*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL8OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 3975*b1cdbd2cSJim Jagielski.ENDIF 3976*b1cdbd2cSJim Jagielski.IF "$(SHL8LIBS)"!="" 3977*b1cdbd2cSJim Jagielski $(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 3978*b1cdbd2cSJim Jagielski.ENDIF 3979*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 3980*b1cdbd2cSJim Jagielski# exported symbols list 3981*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 3982*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 3983*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8VERSIONMAP)"!="" 3984*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL8VERSIONMAP)"!="" 3985*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 3986*b1cdbd2cSJim Jagielski 3987*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 3988*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 3989*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 3990*b1cdbd2cSJim JagielskiSHL8SONAME=\"$(SONAME_SWITCH)$(SHL8TARGETN:f)\" 3991*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 3992*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 3993*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 3994*b1cdbd2cSJim Jagielski 3995*b1cdbd2cSJim Jagielski.IF "$(SHL8RES)"!="" 3996*b1cdbd2cSJim JagielskiSHL8ALLRES+=$(SHL8RES) 3997*b1cdbd2cSJim JagielskiSHL8LINKRES*=$(MISC)/$(SHL8TARGET).res 3998*b1cdbd2cSJim JagielskiSHL8LINKRESO*=$(MISC)/$(SHL8TARGET)_res.o 3999*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8RES)"!="" 4000*b1cdbd2cSJim Jagielski 4001*b1cdbd2cSJim Jagielski.IF "$(SHL8DEFAULTRES)$(use_shl_versions)"!="" 4002*b1cdbd2cSJim JagielskiSHL8DEFAULTRES*=$(MISC)/$(SHL8TARGET)_def.res 4003*b1cdbd2cSJim JagielskiSHL8ALLRES+=$(SHL8DEFAULTRES) 4004*b1cdbd2cSJim JagielskiSHL8LINKRES*=$(MISC)/$(SHL8TARGET).res 4005*b1cdbd2cSJim JagielskiSHL8LINKRESO*=$(MISC)/$(SHL8TARGET)_res.o 4006*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8DEFAULTRES)$(use_shl_versions)"!="" 4007*b1cdbd2cSJim Jagielski 4008*b1cdbd2cSJim Jagielski#.IF "$(SHL8TARGETN)"!="" 4009*b1cdbd2cSJim Jagielski 4010*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 4011*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 4012*b1cdbd2cSJim Jagielski.IF "$(SHL8LIBS)"!="" 4013*b1cdbd2cSJim Jagielski$(MISC)/$(SHL8TARGET)_linkinc.ls .PHONY: 4014*b1cdbd2cSJim Jagielski @@-$(RM) $@ 4015*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL8LIBS) $(i:s/.lib/.lin/)) >> $@ 4016*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8LIBS)"!="" 4017*b1cdbd2cSJim Jagielski.ENDIF 4018*b1cdbd2cSJim Jagielski 4019*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL8TARGETN:b)_linkinc.ls 4020*b1cdbd2cSJim Jagielski$(SHL8TARGETN) : $(LINKINCTARGETS) 4021*b1cdbd2cSJim Jagielski 4022*b1cdbd2cSJim Jagielski.ELSE 4023*b1cdbd2cSJim Jagielski.IF "$(SHL8USE_EXPORTS)"=="name" 4024*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 4025*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 4026*b1cdbd2cSJim Jagielski.IF "$(SHL8LIBS)"!="" 4027*b1cdbd2cSJim JagielskiSHL8LINKLIST=$(MISC)/$(SHL8TARGET)_link.lst 4028*b1cdbd2cSJim JagielskiSHL8LINKLISTPARAM=@$(SHL8LINKLIST) 4029*b1cdbd2cSJim Jagielski$(SHL8LINKLIST) : $(SHL8LIBS) 4030*b1cdbd2cSJim Jagielski @@-$(RM) $@ 4031*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL8LIBS) $(i:s/.lib/.lin/)) >> $@ 4032*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8LIBS)"!="" 4033*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 4034*b1cdbd2cSJim Jagielski.ENDIF 4035*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8USE_EXPORTS)"=="name" 4036*b1cdbd2cSJim Jagielski 4037*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 4038*b1cdbd2cSJim Jagielski @echo . > $@ 4039*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 4040*b1cdbd2cSJim Jagielski 4041*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 4042*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 4043*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 4044*b1cdbd2cSJim JagielskiSHL8TARGET8=$(shell @fix_shl.cmd $(SHL8TARGET)) 4045*b1cdbd2cSJim Jagielski.ENDIF 4046*b1cdbd2cSJim Jagielski 4047*b1cdbd2cSJim Jagielski 4048*b1cdbd2cSJim Jagielski$(SHL8TARGETN) : \ 4049*b1cdbd2cSJim Jagielski $(SHL8OBJS)\ 4050*b1cdbd2cSJim Jagielski $(SHL8LIBS)\ 4051*b1cdbd2cSJim Jagielski $(USE_8IMPLIB_DEPS)\ 4052*b1cdbd2cSJim Jagielski $(USE_SHL8DEF)\ 4053*b1cdbd2cSJim Jagielski $(USE_SHL8VERSIONMAP)\ 4054*b1cdbd2cSJim Jagielski $(SHL8RES)\ 4055*b1cdbd2cSJim Jagielski $(SHL8DEPN) \ 4056*b1cdbd2cSJim Jagielski $(SHL8LINKLIST) 4057*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 4058*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 4059*b1cdbd2cSJim Jagielski.IF "$(SHL8DEFAULTRES)"!="" 4060*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL8DEFAULTRES:b).rc 4061*b1cdbd2cSJim Jagielski.IF "$(SHL8ICON)" != "" 4062*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL8ICON) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4063*b1cdbd2cSJim Jagielski.ENDIF 4064*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 4065*b1cdbd2cSJim Jagielski.IF "$(SHL8ADD_VERINFO)"!="" 4066*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL8ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4067*b1cdbd2cSJim Jagielski.ELSE # "$(SHL8ADD_VERINFO)"!="" 4068*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4069*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4070*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4071*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8ADD_VERINFO)"!="" 4072*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4073*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL8TARGET)$(DLLPOST) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4074*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL8TARGET:b) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4075*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4076*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 4077*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL8DEFAULTRES:b).rc 4078*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8DEFAULTRES)"!="" 4079*b1cdbd2cSJim Jagielski.IF "$(SHL8ALLRES)"!="" 4080*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL8ALLRES) > $(SHL8LINKRES) 4081*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 4082*b1cdbd2cSJim Jagielski windres $(SHL8LINKRES) $(SHL8LINKRESO) 4083*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 4084*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8ALLRES)"!="" 4085*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 4086*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL8TARGET)$(DLLPOST) \ 4087*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_8.cmd 4088*b1cdbd2cSJim Jagielski @noop $(assign ALL8OBJLIST:=$(STDOBJ) $(SHL8OBJS) $(SHL8LINKRESO) $(shell $(TYPE) /dev/null $(SHL8LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4089*b1cdbd2cSJim Jagielski.IF "$(DEFLIB8NAME)"!="" # do not have to include objs 4090*b1cdbd2cSJim Jagielski @noop $(assign DEF8OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4091*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF8OBJLIST) $(assign ALL8OBJLIST:=$(ALL8OBJLIST:s?$i??))) 4092*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB8NAME)"!="" 4093*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4094*b1cdbd2cSJim Jagielski.IF "$(SHL8DEF)"!="" 4095*b1cdbd2cSJim Jagielski @echo --input-def $(SHL8DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4096*b1cdbd2cSJim Jagielski.ELSE 4097*b1cdbd2cSJim Jagielski @echo $(SHL8VERSIONOBJ) $(SHL8DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4098*b1cdbd2cSJim Jagielski.ENDIF 4099*b1cdbd2cSJim Jagielski @echo $(ALL8OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4100*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 4101*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL8VERSIONOBJ) $(SHL8DESCRIPTIONOBJ) $(SHL8OBJS) $(SHL8LINKRESO) \ 4102*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL8LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4103*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL8STDLIBS) -Wl,--end-group \ 4104*b1cdbd2cSJim Jagielski $(SHL8STDSHL) $(STDSHL8) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 4105*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4106*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 4107*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_8.cmd 4108*b1cdbd2cSJim Jagielski .ENDIF 4109*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_8.cmd 4110*b1cdbd2cSJim Jagielski.ELSE 4111*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 4112*b1cdbd2cSJim Jagielski.IF "$(SHL8USE_EXPORTS)"!="name" 4113*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 4114*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL8LINKER) @$(mktmp \ 4115*b1cdbd2cSJim Jagielski $(SHL8LINKFLAGS) \ 4116*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 4117*b1cdbd2cSJim Jagielski $(SHL8STACK) $(SHL8BASEX) \ 4118*b1cdbd2cSJim Jagielski -out:$@ \ 4119*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 4120*b1cdbd2cSJim Jagielski -def:$(SHL8DEF) \ 4121*b1cdbd2cSJim Jagielski $(USE_8IMPLIB) \ 4122*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4123*b1cdbd2cSJim Jagielski $(SHL8VERSIONOBJ) $(SHL8OBJS) \ 4124*b1cdbd2cSJim Jagielski $(SHL8LIBS) \ 4125*b1cdbd2cSJim Jagielski $(SHL8STDLIBS) \ 4126*b1cdbd2cSJim Jagielski $(SHL8STDSHL) $(STDSHL8) \ 4127*b1cdbd2cSJim Jagielski $(SHL8LINKRES) \ 4128*b1cdbd2cSJim Jagielski ) 4129*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 4130*b1cdbd2cSJim Jagielski @@$(LS) $@ 4131*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4132*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4133*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4134*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4135*b1cdbd2cSJim Jagielski.ELSE 4136*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4137*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4138*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4139*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4140*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 4141*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL8LINKER) @$(mktmp $(SHL8LINKFLAGS) \ 4142*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL8BASEX) \ 4143*b1cdbd2cSJim Jagielski $(SHL8STACK) -out:$(SHL8TARGETN) \ 4144*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 4145*b1cdbd2cSJim Jagielski $(LB)/$(SHL8IMPLIB).exp \ 4146*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4147*b1cdbd2cSJim Jagielski $(SHL8OBJS) $(SHL8VERSIONOBJ) \ 4148*b1cdbd2cSJim Jagielski $(SHL8LIBS) \ 4149*b1cdbd2cSJim Jagielski $(SHL8STDLIBS) \ 4150*b1cdbd2cSJim Jagielski $(SHL8STDSHL) $(STDSHL8) \ 4151*b1cdbd2cSJim Jagielski $(SHL8LINKRES) \ 4152*b1cdbd2cSJim Jagielski ) 4153*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 4154*b1cdbd2cSJim Jagielski @@$(LS) $@ 4155*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4156*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4157*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4158*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4159*b1cdbd2cSJim Jagielski.ELSE 4160*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4161*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4162*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4163*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4164*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 4165*b1cdbd2cSJim Jagielski.ELSE # "$(SHL8USE_EXPORTS)"!="name" 4166*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL8LINKER) @$(mktmp $(SHL8LINKFLAGS) \ 4167*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL8BASEX) \ 4168*b1cdbd2cSJim Jagielski $(SHL8STACK) -out:$(SHL8TARGETN) \ 4169*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 4170*b1cdbd2cSJim Jagielski $(USE_8IMPLIB) \ 4171*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4172*b1cdbd2cSJim Jagielski $(SHL8OBJS) $(SHL8VERSIONOBJ)) \ 4173*b1cdbd2cSJim Jagielski $(SHL8LINKLISTPARAM) \ 4174*b1cdbd2cSJim Jagielski @$(mktmp $(SHL8STDLIBS) \ 4175*b1cdbd2cSJim Jagielski $(SHL8STDSHL) $(STDSHL8) \ 4176*b1cdbd2cSJim Jagielski $(SHL8LINKRES) \ 4177*b1cdbd2cSJim Jagielski ) 4178*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4179*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4180*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4181*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4182*b1cdbd2cSJim Jagielski.ELSE 4183*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4184*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4185*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4186*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4187*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8USE_EXPORTS)"!="name" 4188*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 4189*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL8TARGET).lnk 4190*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL8TARGET).lst 4191*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 4192*b1cdbd2cSJim Jagielski $(SHL8LINKFLAGS) \ 4193*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL8BASEX) \ 4194*b1cdbd2cSJim Jagielski $(SHL8STACK) $(MAPFILE) \ 4195*b1cdbd2cSJim Jagielski -out:$@ \ 4196*b1cdbd2cSJim Jagielski $(LB)/$(SHL8IMPLIB).exp \ 4197*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4198*b1cdbd2cSJim Jagielski $(SHL8OBJS) \ 4199*b1cdbd2cSJim Jagielski $(SHL8STDLIBS) \ 4200*b1cdbd2cSJim Jagielski $(SHL8STDSHL) $(STDSHL8) \ 4201*b1cdbd2cSJim Jagielski $(SHL8LINKRES) \ 4202*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL8TARGET).lnk 4203*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL8TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL8TARGET).lnk 4204*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL8LINKER) @$(MISC)/$(SHL8TARGET).lnk 4205*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4206*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4207*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4208*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4209*b1cdbd2cSJim Jagielski.ELSE 4210*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4211*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4212*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4213*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4214*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 4215*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 4216*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 4217*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 4218*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 4219*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 4220*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_8.cmd 4221*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL8OBJS:s/.obj/.o/) \ 4222*b1cdbd2cSJim Jagielski $(SHL8VERSIONOBJ) \ 4223*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL8LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 4224*b1cdbd2cSJim Jagielski @echo -n $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 4225*b1cdbd2cSJim Jagielski $(SHL8STDLIBS) $(SHL8ARCHIVES) $(SHL8STDSHL) $(STDSHL8) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_8.cmd 4226*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 4227*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_8.cmd` \ 4228*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_8.cmd 4229*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 4230*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_8.cmd 4231*b1cdbd2cSJim Jagielski .ENDIF 4232*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_8.cmd 4233*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 4234*b1cdbd2cSJim Jagielski shl $(SHL8RPATH) $@ 4235*b1cdbd2cSJim Jagielski.IF "$(SHL8CREATEJNILIB)"!="" 4236*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 4237*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 4238*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8CREATEJNILIB)"!="" 4239*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 4240*b1cdbd2cSJim Jagielski.IF "$(SHL8NOCHECK)"=="" 4241*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) $(SHL8TARGETN) 4242*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8NOCHECK)"!="" 4243*b1cdbd2cSJim Jagielski.ENDIF 4244*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 4245*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_8.cmd 4246*b1cdbd2cSJim Jagielski @echo $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8SONAME) $(LINKFLAGSSHL) $(SHL8VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL8OBJS:s/.obj/.o/) \ 4247*b1cdbd2cSJim Jagielski $(SHL8VERSIONOBJ) -o $@ \ 4248*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL8LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4249*b1cdbd2cSJim Jagielski $(SHL8STDLIBS) $(SHL8ARCHIVES) $(SHL8STDSHL) $(STDSHL8) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_8.cmd 4250*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 4251*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_8.cmd 4252*b1cdbd2cSJim Jagielski .ENDIF 4253*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_8.cmd 4254*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 4255*b1cdbd2cSJim Jagielski.IF "$(SHL8NOCHECK)"=="" 4256*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4257*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL8TARGETN) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4258*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 4259*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4260*b1cdbd2cSJim Jagielski.ELSE 4261*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) -- -s $(SHL8TARGETN:d)check_$(SHL8TARGETN:f) 4262*b1cdbd2cSJim Jagielski.ENDIF 4263*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8NOCHECK)"!="" 4264*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 4265*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 4266*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 4267*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL8TARGETN:b) 4268*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL8TARGETN:f) $(SHL8TARGETN:b) 4269*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 4270*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 4271*b1cdbd2cSJim Jagielski @ls -l $@ 4272*b1cdbd2cSJim Jagielski.ENDIF 4273*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 4274*b1cdbd2cSJim Jagielski 4275*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 4276*b1cdbd2cSJim Jagielski 4277*b1cdbd2cSJim Jagielski.IF "$(SHL8DEFAULTRES)"!="" 4278*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL8DEFAULTRES:b).rc > $(NULLDEV) 4279*b1cdbd2cSJim Jagielski.IF "$(SHL8ICON)" != "" 4280*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL8ICON) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4281*b1cdbd2cSJim Jagielski.ENDIF 4282*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 4283*b1cdbd2cSJim Jagielski.IF "$(SHL8ADD_VERINFO)"!="" 4284*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL8ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4285*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8ADD_VERINFO)"!="" 4286*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4287*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL8DEFAULTRES:b).rc 4288*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 4289*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 4290*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL8DEFAULTRES:b).rc 4291*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8DEFAULTRES)"!="" 4292*b1cdbd2cSJim Jagielski 4293*b1cdbd2cSJim Jagielski.IF "$(SHL8ALLRES)"!="" 4294*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL8ALLRES) > $(SHL8LINKRES) 4295*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8ALLRES)"!="" 4296*b1cdbd2cSJim Jagielski 4297*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 4298*b1cdbd2cSJim Jagielski 4299*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL8LINKER) $(SHL8LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 4300*b1cdbd2cSJim Jagielski $(SHL8DEF) \ 4301*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4302*b1cdbd2cSJim Jagielski -L$(LB) \ 4303*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 4304*b1cdbd2cSJim Jagielski $(SHL8OBJS) $(SHL8VERSIONOBJ) \ 4305*b1cdbd2cSJim Jagielski $(SHL8LIBS) \ 4306*b1cdbd2cSJim Jagielski $(SHL8LINKRES) \ 4307*b1cdbd2cSJim Jagielski $(SHL8STDLIBS) \ 4308*b1cdbd2cSJim Jagielski $(SHL8STDSHL) $(STDSHL8) 4309*b1cdbd2cSJim Jagielski 4310*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 4311*b1cdbd2cSJim Jagielski 4312*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL8LINKER) $(SHL8LINKFLAGS) \ 4313*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL8BASEX) \ 4314*b1cdbd2cSJim Jagielski $(SHL8STACK) -o $(SHL8TARGETN) \ 4315*b1cdbd2cSJim Jagielski $(SHL8DEF) \ 4316*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4317*b1cdbd2cSJim Jagielski -L$(LB) \ 4318*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 4319*b1cdbd2cSJim Jagielski $(SHL8OBJS) $(SHL8VERSIONOBJ) \ 4320*b1cdbd2cSJim Jagielski $(SHL8LIBS) \ 4321*b1cdbd2cSJim Jagielski $(SHL8LINKRES) \ 4322*b1cdbd2cSJim Jagielski $(SHL8STDLIBS) \ 4323*b1cdbd2cSJim Jagielski $(SHL8STDSHL) $(STDSHL8) 4324*b1cdbd2cSJim Jagielski 4325*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 4326*b1cdbd2cSJim Jagielski 4327*b1cdbd2cSJim Jagielski.IF "$(SHL8USE_EXPORTS)"=="name" 4328*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 4329*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 4330*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL8TARGETN:b).lib $@ 4331*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8USE_EXPORTS)"=="" 4332*b1cdbd2cSJim Jagielski 4333*b1cdbd2cSJim Jagielski.IF "$(SHL8TARGET8)" != "$(SHL8TARGET)" 4334*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL8TARGET8).dll 4335*b1cdbd2cSJim Jagielski.ENDIF 4336*b1cdbd2cSJim Jagielski 4337*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 4338*b1cdbd2cSJim Jagielski 4339*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL8TARGETN)"!="" 4340*b1cdbd2cSJim Jagielski 4341*b1cdbd2cSJim Jagielski# unroll begin 4342*b1cdbd2cSJim Jagielski 4343*b1cdbd2cSJim Jagielski.IF "$(SHL9TARGETN)"!="" 4344*b1cdbd2cSJim Jagielski 4345*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 4346*b1cdbd2cSJim JagielskiSHL9STDLIBS= 4347*b1cdbd2cSJim Jagielski.ENDIF 4348*b1cdbd2cSJim Jagielski 4349*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 4350*b1cdbd2cSJim JagielskiSHL9STDLIBS= 4351*b1cdbd2cSJim JagielskiSTDSHL= 4352*b1cdbd2cSJim Jagielski.ELSE 4353*b1cdbd2cSJim JagielskiSHL9ARCHIVES= 4354*b1cdbd2cSJim Jagielski.ENDIF 4355*b1cdbd2cSJim Jagielski 4356*b1cdbd2cSJim Jagielski# decide how to link 4357*b1cdbd2cSJim Jagielski.IF "$(SHL9CODETYPE)"=="C" 4358*b1cdbd2cSJim JagielskiSHL9LINKER=$(LINKC) 4359*b1cdbd2cSJim JagielskiSHL9STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 4360*b1cdbd2cSJim JagielskiSHL9LINKFLAGS+=$(LINKCFLAGS) 4361*b1cdbd2cSJim Jagielski.ELSE # "$(SHL9CODETYPE)"=="C" 4362*b1cdbd2cSJim JagielskiSHL9LINKER=$(LINK) 4363*b1cdbd2cSJim JagielskiSHL9STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 4364*b1cdbd2cSJim JagielskiSHL9LINKFLAGS+=$(LINKFLAGS) 4365*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9CODETYPE)"=="C" 4366*b1cdbd2cSJim Jagielski 4367*b1cdbd2cSJim JagielskiSHL9RPATH*=OOO 4368*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL9RPATH)*=/ERROR:/Bad_SHL9RPATH_value 4369*b1cdbd2cSJim JagielskiSHL9LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL9RPATH)) 4370*b1cdbd2cSJim Jagielski 4371*b1cdbd2cSJim Jagielski.IF "$(SHL9USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 4372*b1cdbd2cSJim JagielskiSHL9DEF*=$(MISC)/$(SHL9TARGET).def 4373*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9USE_EXPORTS)"=="" 4374*b1cdbd2cSJim Jagielski 4375*b1cdbd2cSJim JagielskiEXTRALIBPATHS9=$(EXTRALIBPATHS) 4376*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 4377*b1cdbd2cSJim Jagielski.IF "$(SHL9NOCHECK)"=="" 4378*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 4379*b1cdbd2cSJim JagielskiEXTRALIBPATHS9+=-L$(SOLAR_STLLIBPATH) 4380*b1cdbd2cSJim Jagielski.ENDIF 4381*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9NOCHECK)"!="" 4382*b1cdbd2cSJim Jagielski.ENDIF 4383*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4384*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 4385*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4386*b1cdbd2cSJim Jagielski 4387*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 4388*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 4389*b1cdbd2cSJim JagielskiSHL9VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL9TARGET))}$(VERSIONOBJ:f) 4390*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL9VERSIONOBJ:b).h 4391*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 4392*b1cdbd2cSJim JagielskiSHL9VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL9TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 4393*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 4394*b1cdbd2cSJim JagielskiSHL9VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL9TARGET))}$(VERSIONOBJ:f) 4395*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 4396*b1cdbd2cSJim Jagielski$(MISC)/$(SHL9VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL9VERSIONOBJ:b).h 4397*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 4398*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL9VERSIONOBJ:b).h/ > $@ 4399*b1cdbd2cSJim Jagielski 4400*b1cdbd2cSJim Jagielski.INIT : $(SHL9VERSIONOBJDEP) 4401*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 4402*b1cdbd2cSJim Jagielski.ENDIF 4403*b1cdbd2cSJim Jagielski 4404*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 4405*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4406*b1cdbd2cSJim Jagielski.IF "$(SHL9IMPLIB)" == "" 4407*b1cdbd2cSJim JagielskiSHL9IMPLIB=i$(TARGET)_t9 4408*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9IMPLIB)" == "" 4409*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 4410*b1cdbd2cSJim JagielskiUSE_9IMPLIB=-implib:$(LB)/$(SHL9IMPLIB).lib 4411*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 4412*b1cdbd2cSJim JagielskiSHL9IMPLIBN=$(LB)/$(SHL9IMPLIB).lib 4413*b1cdbd2cSJim JagielskiALLTAR : $(SHL9IMPLIBN) 4414*b1cdbd2cSJim Jagielski 4415*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 4416*b1cdbd2cSJim JagielskiUSE_9IMPLIB_DEPS=$(LB)/$(SHL9IMPLIB).lib 4417*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 4418*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4419*b1cdbd2cSJim JagielskiUSE_SHL9DEF=$(SHL9DEF) 4420*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 4421*b1cdbd2cSJim JagielskiUSE_SHL9DEF= 4422*b1cdbd2cSJim JagielskiSHL9DEPN+:=$(SHL9DEPNU) 4423*b1cdbd2cSJim Jagielski 4424*b1cdbd2cSJim Jagielski.IF "$(SHL9VERSIONMAP)"=="" 4425*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 4426*b1cdbd2cSJim JagielskiUSE_SHL9VERSIONMAP=$(MISC)/$(SHL9TARGET).vmap 4427*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9VERSIONMAP)"=="" 4428*b1cdbd2cSJim Jagielski 4429*b1cdbd2cSJim Jagielski.IF "$(USE_SHL9VERSIONMAP)"!="" 4430*b1cdbd2cSJim Jagielski 4431*b1cdbd2cSJim Jagielski.IF "$(SHL9FILTERFILE)"!="" 4432*b1cdbd2cSJim Jagielski.IF "$(SHL9VERSIONMAP)"!="" 4433*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 4434*b1cdbd2cSJim JagielskiUSE_SHL9VERSIONMAP=$(MISC)/$(SHL9TARGET).vmap 4435*b1cdbd2cSJim Jagielski$(USE_SHL9VERSIONMAP) .PHONY: 4436*b1cdbd2cSJim Jagielski @echo ----------------------------- 4437*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 4438*b1cdbd2cSJim Jagielski @echo ----------------------------- 4439*b1cdbd2cSJim Jagielski# force_dmake_to_error 4440*b1cdbd2cSJim Jagielski 4441*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9VERSIONMAP)"!="" 4442*b1cdbd2cSJim Jagielski 4443*b1cdbd2cSJim JagielskiSHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP) 4444*b1cdbd2cSJim Jagielski 4445*b1cdbd2cSJim Jagielski$(USE_SHL9VERSIONMAP): \ 4446*b1cdbd2cSJim Jagielski $(SHL9OBJS)\ 4447*b1cdbd2cSJim Jagielski $(SHL9LIBS)\ 4448*b1cdbd2cSJim Jagielski $(SHL9FILTERFILE) 4449*b1cdbd2cSJim Jagielski @$(RM) $@.dump 4450*b1cdbd2cSJim Jagielski.IF "$(SHL9OBJS)"!="" 4451*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 4452*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 4453*b1cdbd2cSJim Jagielski @-nm $(SHL9OBJS:s/.obj/.o/) > $@.dump 4454*b1cdbd2cSJim Jagielski.ELSE 4455*b1cdbd2cSJim Jagielski @nm $(SHL9OBJS:s/.obj/.o/) > $@.dump 4456*b1cdbd2cSJim Jagielski.ENDIF 4457*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9OBJS)!"="" 4458*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL9LIBS:s/.lib/.dump/) >> $@.dump 4459*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL9INTERFACE) -f $(SHL9FILTERFILE) -m $@ 4460*b1cdbd2cSJim Jagielski 4461*b1cdbd2cSJim Jagielski.ELSE # "$(SHL9FILTERFILE)"!="" 4462*b1cdbd2cSJim JagielskiUSE_SHL9VERSIONMAP=$(MISC)/$(SHL9TARGET).vmap 4463*b1cdbd2cSJim Jagielski$(USE_SHL9VERSIONMAP) : 4464*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 4465*b1cdbd2cSJim Jagielski @echo ----------------------------- 4466*b1cdbd2cSJim Jagielski @echo SHL9FILTERFILE not set! 4467*b1cdbd2cSJim Jagielski @echo ----------------------------- 4468*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 4469*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 4470*b1cdbd2cSJim Jagielski.ELSE 4471*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 4472*b1cdbd2cSJim Jagielski.ENDIF 4473*b1cdbd2cSJim Jagielski# force_dmake_to_error 4474*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9FILTERFILE)"!="" 4475*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL9VERSIONMAP)"!="" 4476*b1cdbd2cSJim Jagielski 4477*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 4478*b1cdbd2cSJim Jagielski.IF "$(SHL9VERSIONMAP)"!="" 4479*b1cdbd2cSJim JagielskiUSE_SHL9VERSIONMAP=$(MISC)/$(SHL9VERSIONMAP:b)_$(SHL9TARGET)$(SHL9VERSIONMAP:e) 4480*b1cdbd2cSJim JagielskiSHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP) 4481*b1cdbd2cSJim Jagielski 4482*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 4483*b1cdbd2cSJim Jagielski$(USE_SHL9VERSIONMAP): $(SHL9OBJS) $(SHL9LIBS) 4484*b1cdbd2cSJim Jagielski.ENDIF 4485*b1cdbd2cSJim Jagielski 4486*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 4487*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 4488*b1cdbd2cSJim Jagielski$(USE_SHL9VERSIONMAP) .ERRREMOVE: $(SHL9VERSIONMAP) 4489*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 4490*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 4491*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 4492*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 4493*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 4494*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 4495*b1cdbd2cSJim Jagielski.ENDIF 4496*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 4497*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 4498*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 4499*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL9VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 4500*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 4501*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL9VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 4502*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 4503*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL9VERSIONMAP) > $@ 4504*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 4505*b1cdbd2cSJim Jagielski @chmod a+w $@ 4506*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 4507*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 4508*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 4509*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 4510*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 4511*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 4512*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 4513*b1cdbd2cSJim Jagielski.IF "$(SHL9OBJS)"!="" 4514*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL9OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 4515*b1cdbd2cSJim Jagielski.ENDIF 4516*b1cdbd2cSJim Jagielski.IF "$(SHL9LIBS)"!="" 4517*b1cdbd2cSJim Jagielski $(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 4518*b1cdbd2cSJim Jagielski.ENDIF 4519*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 4520*b1cdbd2cSJim Jagielski# exported symbols list 4521*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 4522*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 4523*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9VERSIONMAP)"!="" 4524*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL9VERSIONMAP)"!="" 4525*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 4526*b1cdbd2cSJim Jagielski 4527*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 4528*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 4529*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 4530*b1cdbd2cSJim JagielskiSHL9SONAME=\"$(SONAME_SWITCH)$(SHL9TARGETN:f)\" 4531*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 4532*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 4533*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 4534*b1cdbd2cSJim Jagielski 4535*b1cdbd2cSJim Jagielski.IF "$(SHL9RES)"!="" 4536*b1cdbd2cSJim JagielskiSHL9ALLRES+=$(SHL9RES) 4537*b1cdbd2cSJim JagielskiSHL9LINKRES*=$(MISC)/$(SHL9TARGET).res 4538*b1cdbd2cSJim JagielskiSHL9LINKRESO*=$(MISC)/$(SHL9TARGET)_res.o 4539*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9RES)"!="" 4540*b1cdbd2cSJim Jagielski 4541*b1cdbd2cSJim Jagielski.IF "$(SHL9DEFAULTRES)$(use_shl_versions)"!="" 4542*b1cdbd2cSJim JagielskiSHL9DEFAULTRES*=$(MISC)/$(SHL9TARGET)_def.res 4543*b1cdbd2cSJim JagielskiSHL9ALLRES+=$(SHL9DEFAULTRES) 4544*b1cdbd2cSJim JagielskiSHL9LINKRES*=$(MISC)/$(SHL9TARGET).res 4545*b1cdbd2cSJim JagielskiSHL9LINKRESO*=$(MISC)/$(SHL9TARGET)_res.o 4546*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9DEFAULTRES)$(use_shl_versions)"!="" 4547*b1cdbd2cSJim Jagielski 4548*b1cdbd2cSJim Jagielski#.IF "$(SHL9TARGETN)"!="" 4549*b1cdbd2cSJim Jagielski 4550*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 4551*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 4552*b1cdbd2cSJim Jagielski.IF "$(SHL9LIBS)"!="" 4553*b1cdbd2cSJim Jagielski$(MISC)/$(SHL9TARGET)_linkinc.ls .PHONY: 4554*b1cdbd2cSJim Jagielski @@-$(RM) $@ 4555*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL9LIBS) $(i:s/.lib/.lin/)) >> $@ 4556*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9LIBS)"!="" 4557*b1cdbd2cSJim Jagielski.ENDIF 4558*b1cdbd2cSJim Jagielski 4559*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL9TARGETN:b)_linkinc.ls 4560*b1cdbd2cSJim Jagielski$(SHL9TARGETN) : $(LINKINCTARGETS) 4561*b1cdbd2cSJim Jagielski 4562*b1cdbd2cSJim Jagielski.ELSE 4563*b1cdbd2cSJim Jagielski.IF "$(SHL9USE_EXPORTS)"=="name" 4564*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 4565*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 4566*b1cdbd2cSJim Jagielski.IF "$(SHL9LIBS)"!="" 4567*b1cdbd2cSJim JagielskiSHL9LINKLIST=$(MISC)/$(SHL9TARGET)_link.lst 4568*b1cdbd2cSJim JagielskiSHL9LINKLISTPARAM=@$(SHL9LINKLIST) 4569*b1cdbd2cSJim Jagielski$(SHL9LINKLIST) : $(SHL9LIBS) 4570*b1cdbd2cSJim Jagielski @@-$(RM) $@ 4571*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL9LIBS) $(i:s/.lib/.lin/)) >> $@ 4572*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9LIBS)"!="" 4573*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 4574*b1cdbd2cSJim Jagielski.ENDIF 4575*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9USE_EXPORTS)"=="name" 4576*b1cdbd2cSJim Jagielski 4577*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 4578*b1cdbd2cSJim Jagielski @echo . > $@ 4579*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 4580*b1cdbd2cSJim Jagielski 4581*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 4582*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 4583*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 4584*b1cdbd2cSJim JagielskiSHL9TARGET8=$(shell @fix_shl.cmd $(SHL9TARGET)) 4585*b1cdbd2cSJim Jagielski.ENDIF 4586*b1cdbd2cSJim Jagielski 4587*b1cdbd2cSJim Jagielski 4588*b1cdbd2cSJim Jagielski$(SHL9TARGETN) : \ 4589*b1cdbd2cSJim Jagielski $(SHL9OBJS)\ 4590*b1cdbd2cSJim Jagielski $(SHL9LIBS)\ 4591*b1cdbd2cSJim Jagielski $(USE_9IMPLIB_DEPS)\ 4592*b1cdbd2cSJim Jagielski $(USE_SHL9DEF)\ 4593*b1cdbd2cSJim Jagielski $(USE_SHL9VERSIONMAP)\ 4594*b1cdbd2cSJim Jagielski $(SHL9RES)\ 4595*b1cdbd2cSJim Jagielski $(SHL9DEPN) \ 4596*b1cdbd2cSJim Jagielski $(SHL9LINKLIST) 4597*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 4598*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 4599*b1cdbd2cSJim Jagielski.IF "$(SHL9DEFAULTRES)"!="" 4600*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL9DEFAULTRES:b).rc 4601*b1cdbd2cSJim Jagielski.IF "$(SHL9ICON)" != "" 4602*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL9ICON) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4603*b1cdbd2cSJim Jagielski.ENDIF 4604*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 4605*b1cdbd2cSJim Jagielski.IF "$(SHL9ADD_VERINFO)"!="" 4606*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL9ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4607*b1cdbd2cSJim Jagielski.ELSE # "$(SHL9ADD_VERINFO)"!="" 4608*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4609*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4610*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4611*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9ADD_VERINFO)"!="" 4612*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4613*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL9TARGET)$(DLLPOST) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4614*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL9TARGET:b) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4615*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4616*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 4617*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL9DEFAULTRES:b).rc 4618*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9DEFAULTRES)"!="" 4619*b1cdbd2cSJim Jagielski.IF "$(SHL9ALLRES)"!="" 4620*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL9ALLRES) > $(SHL9LINKRES) 4621*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 4622*b1cdbd2cSJim Jagielski windres $(SHL9LINKRES) $(SHL9LINKRESO) 4623*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 4624*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9ALLRES)"!="" 4625*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 4626*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL9TARGET)$(DLLPOST) \ 4627*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_9.cmd 4628*b1cdbd2cSJim Jagielski @noop $(assign ALL9OBJLIST:=$(STDOBJ) $(SHL9OBJS) $(SHL9LINKRESO) $(shell $(TYPE) /dev/null $(SHL9LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4629*b1cdbd2cSJim Jagielski.IF "$(DEFLIB9NAME)"!="" # do not have to include objs 4630*b1cdbd2cSJim Jagielski @noop $(assign DEF9OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 4631*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF9OBJLIST) $(assign ALL9OBJLIST:=$(ALL9OBJLIST:s?$i??))) 4632*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB9NAME)"!="" 4633*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4634*b1cdbd2cSJim Jagielski.IF "$(SHL9DEF)"!="" 4635*b1cdbd2cSJim Jagielski @echo --input-def $(SHL9DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4636*b1cdbd2cSJim Jagielski.ELSE 4637*b1cdbd2cSJim Jagielski @echo $(SHL9VERSIONOBJ) $(SHL9DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4638*b1cdbd2cSJim Jagielski.ENDIF 4639*b1cdbd2cSJim Jagielski @echo $(ALL9OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4640*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 4641*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL9VERSIONOBJ) $(SHL9DESCRIPTIONOBJ) $(SHL9OBJS) $(SHL9LINKRESO) \ 4642*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL9LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4643*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL9STDLIBS) -Wl,--end-group \ 4644*b1cdbd2cSJim Jagielski $(SHL9STDSHL) $(STDSHL9) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 4645*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4646*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 4647*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_9.cmd 4648*b1cdbd2cSJim Jagielski .ENDIF 4649*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_9.cmd 4650*b1cdbd2cSJim Jagielski.ELSE 4651*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 4652*b1cdbd2cSJim Jagielski.IF "$(SHL9USE_EXPORTS)"!="name" 4653*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 4654*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL9LINKER) @$(mktmp \ 4655*b1cdbd2cSJim Jagielski $(SHL9LINKFLAGS) \ 4656*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 4657*b1cdbd2cSJim Jagielski $(SHL9STACK) $(SHL9BASEX) \ 4658*b1cdbd2cSJim Jagielski -out:$@ \ 4659*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 4660*b1cdbd2cSJim Jagielski -def:$(SHL9DEF) \ 4661*b1cdbd2cSJim Jagielski $(USE_9IMPLIB) \ 4662*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4663*b1cdbd2cSJim Jagielski $(SHL9VERSIONOBJ) $(SHL9OBJS) \ 4664*b1cdbd2cSJim Jagielski $(SHL9LIBS) \ 4665*b1cdbd2cSJim Jagielski $(SHL9STDLIBS) \ 4666*b1cdbd2cSJim Jagielski $(SHL9STDSHL) $(STDSHL9) \ 4667*b1cdbd2cSJim Jagielski $(SHL9LINKRES) \ 4668*b1cdbd2cSJim Jagielski ) 4669*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 4670*b1cdbd2cSJim Jagielski @@$(LS) $@ 4671*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4672*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4673*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4674*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4675*b1cdbd2cSJim Jagielski.ELSE 4676*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4677*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4678*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4679*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4680*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 4681*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL9LINKER) @$(mktmp $(SHL9LINKFLAGS) \ 4682*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL9BASEX) \ 4683*b1cdbd2cSJim Jagielski $(SHL9STACK) -out:$(SHL9TARGETN) \ 4684*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 4685*b1cdbd2cSJim Jagielski $(LB)/$(SHL9IMPLIB).exp \ 4686*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4687*b1cdbd2cSJim Jagielski $(SHL9OBJS) $(SHL9VERSIONOBJ) \ 4688*b1cdbd2cSJim Jagielski $(SHL9LIBS) \ 4689*b1cdbd2cSJim Jagielski $(SHL9STDLIBS) \ 4690*b1cdbd2cSJim Jagielski $(SHL9STDSHL) $(STDSHL9) \ 4691*b1cdbd2cSJim Jagielski $(SHL9LINKRES) \ 4692*b1cdbd2cSJim Jagielski ) 4693*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 4694*b1cdbd2cSJim Jagielski @@$(LS) $@ 4695*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4696*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4697*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4698*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4699*b1cdbd2cSJim Jagielski.ELSE 4700*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4701*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4702*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4703*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4704*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 4705*b1cdbd2cSJim Jagielski.ELSE # "$(SHL9USE_EXPORTS)"!="name" 4706*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL9LINKER) @$(mktmp $(SHL9LINKFLAGS) \ 4707*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL9BASEX) \ 4708*b1cdbd2cSJim Jagielski $(SHL9STACK) -out:$(SHL9TARGETN) \ 4709*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 4710*b1cdbd2cSJim Jagielski $(USE_9IMPLIB) \ 4711*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4712*b1cdbd2cSJim Jagielski $(SHL9OBJS) $(SHL9VERSIONOBJ)) \ 4713*b1cdbd2cSJim Jagielski $(SHL9LINKLISTPARAM) \ 4714*b1cdbd2cSJim Jagielski @$(mktmp $(SHL9STDLIBS) \ 4715*b1cdbd2cSJim Jagielski $(SHL9STDSHL) $(STDSHL9) \ 4716*b1cdbd2cSJim Jagielski $(SHL9LINKRES) \ 4717*b1cdbd2cSJim Jagielski ) 4718*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4719*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4720*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4721*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4722*b1cdbd2cSJim Jagielski.ELSE 4723*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4724*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4725*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4726*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4727*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9USE_EXPORTS)"!="name" 4728*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 4729*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL9TARGET).lnk 4730*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL9TARGET).lst 4731*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 4732*b1cdbd2cSJim Jagielski $(SHL9LINKFLAGS) \ 4733*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL9BASEX) \ 4734*b1cdbd2cSJim Jagielski $(SHL9STACK) $(MAPFILE) \ 4735*b1cdbd2cSJim Jagielski -out:$@ \ 4736*b1cdbd2cSJim Jagielski $(LB)/$(SHL9IMPLIB).exp \ 4737*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4738*b1cdbd2cSJim Jagielski $(SHL9OBJS) \ 4739*b1cdbd2cSJim Jagielski $(SHL9STDLIBS) \ 4740*b1cdbd2cSJim Jagielski $(SHL9STDSHL) $(STDSHL9) \ 4741*b1cdbd2cSJim Jagielski $(SHL9LINKRES) \ 4742*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL9TARGET).lnk 4743*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL9TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL9TARGET).lnk 4744*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL9LINKER) @$(MISC)/$(SHL9TARGET).lnk 4745*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 4746*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 4747*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 4748*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 4749*b1cdbd2cSJim Jagielski.ELSE 4750*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 4751*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 4752*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 4753*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 4754*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 4755*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 4756*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 4757*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 4758*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 4759*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 4760*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_9.cmd 4761*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL9OBJS:s/.obj/.o/) \ 4762*b1cdbd2cSJim Jagielski $(SHL9VERSIONOBJ) \ 4763*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL9LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 4764*b1cdbd2cSJim Jagielski @echo -n $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 4765*b1cdbd2cSJim Jagielski $(SHL9STDLIBS) $(SHL9ARCHIVES) $(SHL9STDSHL) $(STDSHL9) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_9.cmd 4766*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 4767*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_9.cmd` \ 4768*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_9.cmd 4769*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 4770*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_9.cmd 4771*b1cdbd2cSJim Jagielski .ENDIF 4772*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_9.cmd 4773*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 4774*b1cdbd2cSJim Jagielski shl $(SHL9RPATH) $@ 4775*b1cdbd2cSJim Jagielski.IF "$(SHL9CREATEJNILIB)"!="" 4776*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 4777*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 4778*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9CREATEJNILIB)"!="" 4779*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 4780*b1cdbd2cSJim Jagielski.IF "$(SHL9NOCHECK)"=="" 4781*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) $(SHL9TARGETN) 4782*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9NOCHECK)"!="" 4783*b1cdbd2cSJim Jagielski.ENDIF 4784*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 4785*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_9.cmd 4786*b1cdbd2cSJim Jagielski @echo $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9SONAME) $(LINKFLAGSSHL) $(SHL9VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL9OBJS:s/.obj/.o/) \ 4787*b1cdbd2cSJim Jagielski $(SHL9VERSIONOBJ) -o $@ \ 4788*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL9LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 4789*b1cdbd2cSJim Jagielski $(SHL9STDLIBS) $(SHL9ARCHIVES) $(SHL9STDSHL) $(STDSHL9) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_9.cmd 4790*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 4791*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_9.cmd 4792*b1cdbd2cSJim Jagielski .ENDIF 4793*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_9.cmd 4794*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 4795*b1cdbd2cSJim Jagielski.IF "$(SHL9NOCHECK)"=="" 4796*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4797*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL9TARGETN) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4798*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 4799*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4800*b1cdbd2cSJim Jagielski.ELSE 4801*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) -- -s $(SHL9TARGETN:d)check_$(SHL9TARGETN:f) 4802*b1cdbd2cSJim Jagielski.ENDIF 4803*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9NOCHECK)"!="" 4804*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 4805*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 4806*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 4807*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL9TARGETN:b) 4808*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL9TARGETN:f) $(SHL9TARGETN:b) 4809*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 4810*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 4811*b1cdbd2cSJim Jagielski @ls -l $@ 4812*b1cdbd2cSJim Jagielski.ENDIF 4813*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 4814*b1cdbd2cSJim Jagielski 4815*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 4816*b1cdbd2cSJim Jagielski 4817*b1cdbd2cSJim Jagielski.IF "$(SHL9DEFAULTRES)"!="" 4818*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL9DEFAULTRES:b).rc > $(NULLDEV) 4819*b1cdbd2cSJim Jagielski.IF "$(SHL9ICON)" != "" 4820*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL9ICON) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4821*b1cdbd2cSJim Jagielski.ENDIF 4822*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 4823*b1cdbd2cSJim Jagielski.IF "$(SHL9ADD_VERINFO)"!="" 4824*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL9ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4825*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9ADD_VERINFO)"!="" 4826*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4827*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL9DEFAULTRES:b).rc 4828*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 4829*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 4830*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL9DEFAULTRES:b).rc 4831*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9DEFAULTRES)"!="" 4832*b1cdbd2cSJim Jagielski 4833*b1cdbd2cSJim Jagielski.IF "$(SHL9ALLRES)"!="" 4834*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL9ALLRES) > $(SHL9LINKRES) 4835*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9ALLRES)"!="" 4836*b1cdbd2cSJim Jagielski 4837*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 4838*b1cdbd2cSJim Jagielski 4839*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL9LINKER) $(SHL9LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 4840*b1cdbd2cSJim Jagielski $(SHL9DEF) \ 4841*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4842*b1cdbd2cSJim Jagielski -L$(LB) \ 4843*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 4844*b1cdbd2cSJim Jagielski $(SHL9OBJS) $(SHL9VERSIONOBJ) \ 4845*b1cdbd2cSJim Jagielski $(SHL9LIBS) \ 4846*b1cdbd2cSJim Jagielski $(SHL9LINKRES) \ 4847*b1cdbd2cSJim Jagielski $(SHL9STDLIBS) \ 4848*b1cdbd2cSJim Jagielski $(SHL9STDSHL) $(STDSHL9) 4849*b1cdbd2cSJim Jagielski 4850*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 4851*b1cdbd2cSJim Jagielski 4852*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL9LINKER) $(SHL9LINKFLAGS) \ 4853*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL9BASEX) \ 4854*b1cdbd2cSJim Jagielski $(SHL9STACK) -o $(SHL9TARGETN) \ 4855*b1cdbd2cSJim Jagielski $(SHL9DEF) \ 4856*b1cdbd2cSJim Jagielski $(STDOBJ) \ 4857*b1cdbd2cSJim Jagielski -L$(LB) \ 4858*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 4859*b1cdbd2cSJim Jagielski $(SHL9OBJS) $(SHL9VERSIONOBJ) \ 4860*b1cdbd2cSJim Jagielski $(SHL9LIBS) \ 4861*b1cdbd2cSJim Jagielski $(SHL9LINKRES) \ 4862*b1cdbd2cSJim Jagielski $(SHL9STDLIBS) \ 4863*b1cdbd2cSJim Jagielski $(SHL9STDSHL) $(STDSHL9) 4864*b1cdbd2cSJim Jagielski 4865*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 4866*b1cdbd2cSJim Jagielski 4867*b1cdbd2cSJim Jagielski.IF "$(SHL9USE_EXPORTS)"=="name" 4868*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 4869*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 4870*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL9TARGETN:b).lib $@ 4871*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9USE_EXPORTS)"=="" 4872*b1cdbd2cSJim Jagielski 4873*b1cdbd2cSJim Jagielski.IF "$(SHL9TARGET8)" != "$(SHL9TARGET)" 4874*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL9TARGET8).dll 4875*b1cdbd2cSJim Jagielski.ENDIF 4876*b1cdbd2cSJim Jagielski 4877*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 4878*b1cdbd2cSJim Jagielski 4879*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL9TARGETN)"!="" 4880*b1cdbd2cSJim Jagielski 4881*b1cdbd2cSJim Jagielski# unroll begin 4882*b1cdbd2cSJim Jagielski 4883*b1cdbd2cSJim Jagielski.IF "$(SHL10TARGETN)"!="" 4884*b1cdbd2cSJim Jagielski 4885*b1cdbd2cSJim Jagielski.IF "$(OS)"=="AIX" 4886*b1cdbd2cSJim JagielskiSHL10STDLIBS= 4887*b1cdbd2cSJim Jagielski.ENDIF 4888*b1cdbd2cSJim Jagielski 4889*b1cdbd2cSJim Jagielski.IF "$(SHLLINKARCONLY)" != "" 4890*b1cdbd2cSJim JagielskiSHL10STDLIBS= 4891*b1cdbd2cSJim JagielskiSTDSHL= 4892*b1cdbd2cSJim Jagielski.ELSE 4893*b1cdbd2cSJim JagielskiSHL10ARCHIVES= 4894*b1cdbd2cSJim Jagielski.ENDIF 4895*b1cdbd2cSJim Jagielski 4896*b1cdbd2cSJim Jagielski# decide how to link 4897*b1cdbd2cSJim Jagielski.IF "$(SHL10CODETYPE)"=="C" 4898*b1cdbd2cSJim JagielskiSHL10LINKER=$(LINKC) 4899*b1cdbd2cSJim JagielskiSHL10STDSHL=$(subst,CPPRUNTIME, $(STDSHL)) 4900*b1cdbd2cSJim JagielskiSHL10LINKFLAGS+=$(LINKCFLAGS) 4901*b1cdbd2cSJim Jagielski.ELSE # "$(SHL10CODETYPE)"=="C" 4902*b1cdbd2cSJim JagielskiSHL10LINKER=$(LINK) 4903*b1cdbd2cSJim JagielskiSHL10STDSHL=$(subst,CPPRUNTIME,$(STDLIBCPP) $(STDSHL)) 4904*b1cdbd2cSJim JagielskiSHL10LINKFLAGS+=$(LINKFLAGS) 4905*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10CODETYPE)"=="C" 4906*b1cdbd2cSJim Jagielski 4907*b1cdbd2cSJim JagielskiSHL10RPATH*=OOO 4908*b1cdbd2cSJim JagielskiLINKFLAGSRUNPATH_$(SHL10RPATH)*=/ERROR:/Bad_SHL10RPATH_value 4909*b1cdbd2cSJim JagielskiSHL10LINKFLAGS+=$(LINKFLAGSRUNPATH_$(SHL10RPATH)) 4910*b1cdbd2cSJim Jagielski 4911*b1cdbd2cSJim Jagielski.IF "$(SHL10USE_EXPORTS)"=="" || "$(GUI)"=="OS2" 4912*b1cdbd2cSJim JagielskiSHL10DEF*=$(MISC)/$(SHL10TARGET).def 4913*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10USE_EXPORTS)"=="" 4914*b1cdbd2cSJim Jagielski 4915*b1cdbd2cSJim JagielskiEXTRALIBPATHS10=$(EXTRALIBPATHS) 4916*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 4917*b1cdbd2cSJim Jagielski.IF "$(SHL10NOCHECK)"=="" 4918*b1cdbd2cSJim Jagielski.IF "$(SOLAR_STLLIBPATH)"!="" 4919*b1cdbd2cSJim JagielskiEXTRALIBPATHS10+=-L$(SOLAR_STLLIBPATH) 4920*b1cdbd2cSJim Jagielski.ENDIF 4921*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10NOCHECK)"!="" 4922*b1cdbd2cSJim Jagielski.ENDIF 4923*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4924*b1cdbd2cSJim Jagielski#+++++++++++ version object ++++++++++++++++++++++++++++++++++++++++ 4925*b1cdbd2cSJim Jagielski#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4926*b1cdbd2cSJim Jagielski 4927*b1cdbd2cSJim Jagielski.IF "$(L10N_framework)"=="" 4928*b1cdbd2cSJim Jagielski.IF "$(VERSIONOBJ)"!="" 4929*b1cdbd2cSJim JagielskiSHL10VERSIONOBJ:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL10TARGET))}$(VERSIONOBJ:f) 4930*b1cdbd2cSJim JagielskiUSE_VERSIONH:=$(INCCOM)/$(SHL10VERSIONOBJ:b).h 4931*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "UNX" 4932*b1cdbd2cSJim JagielskiSHL10VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL10TARGET))}$(VERSIONOBJ:f:s/.o/.obj/) 4933*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" == "UNX" 4934*b1cdbd2cSJim JagielskiSHL10VERSIONOBJDEP:=$(VERSIONOBJ:d){$(subst,$(DLLPOSTFIX),_dflt $(SHL10TARGET))}$(VERSIONOBJ:f) 4935*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 4936*b1cdbd2cSJim Jagielski$(MISC)/$(SHL10VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL10VERSIONOBJ:b).h 4937*b1cdbd2cSJim Jagielski# $(COPY) $(SOLARENV)/src/version.c $@ 4938*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SOLARENV)/src/version.c | $(SED) s/_version.h/$(SHL10VERSIONOBJ:b).h/ > $@ 4939*b1cdbd2cSJim Jagielski 4940*b1cdbd2cSJim Jagielski.INIT : $(SHL10VERSIONOBJDEP) 4941*b1cdbd2cSJim Jagielski.ENDIF # "$(VERSIONOBJ)"!="" 4942*b1cdbd2cSJim Jagielski.ENDIF 4943*b1cdbd2cSJim Jagielski 4944*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 4945*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4946*b1cdbd2cSJim Jagielski.IF "$(SHL10IMPLIB)" == "" 4947*b1cdbd2cSJim JagielskiSHL10IMPLIB=i$(TARGET)_t10 4948*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10IMPLIB)" == "" 4949*b1cdbd2cSJim Jagielski.IF "$(COM)" != "GCC" 4950*b1cdbd2cSJim JagielskiUSE_10IMPLIB=-implib:$(LB)/$(SHL10IMPLIB).lib 4951*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)" != "GCC" 4952*b1cdbd2cSJim JagielskiSHL10IMPLIBN=$(LB)/$(SHL10IMPLIB).lib 4953*b1cdbd2cSJim JagielskiALLTAR : $(SHL10IMPLIBN) 4954*b1cdbd2cSJim Jagielski 4955*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 4956*b1cdbd2cSJim JagielskiUSE_10IMPLIB_DEPS=$(LB)/$(SHL10IMPLIB).lib 4957*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"=="" 4958*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2" 4959*b1cdbd2cSJim JagielskiUSE_SHL10DEF=$(SHL10DEF) 4960*b1cdbd2cSJim Jagielski.ELSE # "$(GUI)" != "UNX" 4961*b1cdbd2cSJim JagielskiUSE_SHL10DEF= 4962*b1cdbd2cSJim JagielskiSHL10DEPN+:=$(SHL10DEPNU) 4963*b1cdbd2cSJim Jagielski 4964*b1cdbd2cSJim Jagielski.IF "$(SHL10VERSIONMAP)"=="" 4965*b1cdbd2cSJim Jagielski# to activate vmaps remove "#" 4966*b1cdbd2cSJim JagielskiUSE_SHL10VERSIONMAP=$(MISC)/$(SHL10TARGET).vmap 4967*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10VERSIONMAP)"=="" 4968*b1cdbd2cSJim Jagielski 4969*b1cdbd2cSJim Jagielski.IF "$(USE_SHL10VERSIONMAP)"!="" 4970*b1cdbd2cSJim Jagielski 4971*b1cdbd2cSJim Jagielski.IF "$(SHL10FILTERFILE)"!="" 4972*b1cdbd2cSJim Jagielski.IF "$(SHL10VERSIONMAP)"!="" 4973*b1cdbd2cSJim Jagielski#eine von beiden ist zuviel 4974*b1cdbd2cSJim JagielskiUSE_SHL10VERSIONMAP=$(MISC)/$(SHL10TARGET).vmap 4975*b1cdbd2cSJim Jagielski$(USE_SHL10VERSIONMAP) .PHONY: 4976*b1cdbd2cSJim Jagielski @echo ----------------------------- 4977*b1cdbd2cSJim Jagielski @echo you should only use versionmap OR exportfile 4978*b1cdbd2cSJim Jagielski @echo ----------------------------- 4979*b1cdbd2cSJim Jagielski# force_dmake_to_error 4980*b1cdbd2cSJim Jagielski 4981*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10VERSIONMAP)"!="" 4982*b1cdbd2cSJim Jagielski 4983*b1cdbd2cSJim JagielskiSHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP) 4984*b1cdbd2cSJim Jagielski 4985*b1cdbd2cSJim Jagielski$(USE_SHL10VERSIONMAP): \ 4986*b1cdbd2cSJim Jagielski $(SHL10OBJS)\ 4987*b1cdbd2cSJim Jagielski $(SHL10LIBS)\ 4988*b1cdbd2cSJim Jagielski $(SHL10FILTERFILE) 4989*b1cdbd2cSJim Jagielski @$(RM) $@.dump 4990*b1cdbd2cSJim Jagielski.IF "$(SHL10OBJS)"!="" 4991*b1cdbd2cSJim Jagielski# dump remaining objects on the fly 4992*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 4993*b1cdbd2cSJim Jagielski @-nm $(SHL10OBJS:s/.obj/.o/) > $@.dump 4994*b1cdbd2cSJim Jagielski.ELSE 4995*b1cdbd2cSJim Jagielski @nm $(SHL10OBJS:s/.obj/.o/) > $@.dump 4996*b1cdbd2cSJim Jagielski.ENDIF 4997*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10OBJS)!"="" 4998*b1cdbd2cSJim Jagielski @$(TYPE) /dev/null $(SHL10LIBS:s/.lib/.dump/) >> $@.dump 4999*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) $(PERL) $(SOLARENV)/bin/mapgen.pl -d $@.dump -s $(SHL10INTERFACE) -f $(SHL10FILTERFILE) -m $@ 5000*b1cdbd2cSJim Jagielski 5001*b1cdbd2cSJim Jagielski.ELSE # "$(SHL10FILTERFILE)"!="" 5002*b1cdbd2cSJim JagielskiUSE_SHL10VERSIONMAP=$(MISC)/$(SHL10TARGET).vmap 5003*b1cdbd2cSJim Jagielski$(USE_SHL10VERSIONMAP) : 5004*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 5005*b1cdbd2cSJim Jagielski @echo ----------------------------- 5006*b1cdbd2cSJim Jagielski @echo SHL10FILTERFILE not set! 5007*b1cdbd2cSJim Jagielski @echo ----------------------------- 5008*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5009*b1cdbd2cSJim Jagielski @echo dummy file to keep the dependencies for later use. 5010*b1cdbd2cSJim Jagielski.ELSE 5011*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5012*b1cdbd2cSJim Jagielski.ENDIF 5013*b1cdbd2cSJim Jagielski# force_dmake_to_error 5014*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10FILTERFILE)"!="" 5015*b1cdbd2cSJim Jagielski.ELSE # "$(USE_SHL10VERSIONMAP)"!="" 5016*b1cdbd2cSJim Jagielski 5017*b1cdbd2cSJim Jagielski#and now for the plain non-generic way... 5018*b1cdbd2cSJim Jagielski.IF "$(SHL10VERSIONMAP)"!="" 5019*b1cdbd2cSJim JagielskiUSE_SHL10VERSIONMAP=$(MISC)/$(SHL10VERSIONMAP:b)_$(SHL10TARGET)$(SHL10VERSIONMAP:e) 5020*b1cdbd2cSJim JagielskiSHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP) 5021*b1cdbd2cSJim Jagielski 5022*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 5023*b1cdbd2cSJim Jagielski$(USE_SHL10VERSIONMAP): $(SHL10OBJS) $(SHL10LIBS) 5024*b1cdbd2cSJim Jagielski.ENDIF 5025*b1cdbd2cSJim Jagielski 5026*b1cdbd2cSJim Jagielski# .ERRREMOVE is needed as a recipe line like "$(AWK) ... > $@" would create $@ 5027*b1cdbd2cSJim Jagielski# even if the $(AWK) part fails: 5028*b1cdbd2cSJim Jagielski$(USE_SHL10VERSIONMAP) .ERRREMOVE: $(SHL10VERSIONMAP) 5029*b1cdbd2cSJim Jagielski @@-$(RM) -f $@ 5030*b1cdbd2cSJim Jagielski# The following files will only be generated and needed on Mac OS X as temporary files 5031*b1cdbd2cSJim Jagielski# in order to generate exported symbols list out of Linux/Solaris map files 5032*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 5033*b1cdbd2cSJim Jagielski @-$(RM) -f $@.symregexp >& $(NULLDEV) 5034*b1cdbd2cSJim Jagielski @-$(RM) -f $@.expsymlist >& $(NULLDEV) 5035*b1cdbd2cSJim Jagielski.ENDIF 5036*b1cdbd2cSJim Jagielski# Its questionable if the following condition '.IF "$(COMID)"=="gcc3"' makes sense and what 5037*b1cdbd2cSJim Jagielski# happens if somebody will change it in the future 5038*b1cdbd2cSJim Jagielski.IF "$(COMID)"=="gcc3" 5039*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL10VERSIONMAP) | $(AWK) -f $(SOLARENV)/bin/addsym.awk > $@ 5040*b1cdbd2cSJim Jagielski.ELIF "$(COMNAME)"=="sunpro5" 5041*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL10VERSIONMAP) | $(GREP) -v $(IGNORE_SYMBOLS) > $@ 5042*b1cdbd2cSJim Jagielski.ELSE # "$(COMID)"=="gcc3" 5043*b1cdbd2cSJim Jagielski $(COMMAND_ECHO) tr -d "\015" < $(SHL10VERSIONMAP) > $@ 5044*b1cdbd2cSJim Jagielski.ENDIF # "$(COMID)"=="gcc3" 5045*b1cdbd2cSJim Jagielski @chmod a+w $@ 5046*b1cdbd2cSJim Jagielski# Mac OS X post-processing generate an exported symbols list from the generated map file 5047*b1cdbd2cSJim Jagielski# for details on exported symbols list see man ld on Mac OS X 5048*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 5049*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep -v "\*\|?" > $@.exported-symbols 5050*b1cdbd2cSJim Jagielski @-cat $@ | $(AWK) -f $(SOLARENV)/bin/unxmap-to-macosx-explist.awk | grep "\*\|?" > $@.symbols-regexp 5051*b1cdbd2cSJim Jagielski# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS 5052*b1cdbd2cSJim Jagielski# Extract RTTI symbols from all the objects that will be used to build a shared library 5053*b1cdbd2cSJim Jagielski.IF "$(SHL10OBJS)"!="" 5054*b1cdbd2cSJim Jagielski -echo $(foreach,i,$(SHL10OBJS:s/.obj/.o/) $i) | xargs -n1 nm -gx | $(SOLARENV)/bin/addsym-macosx.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols 5055*b1cdbd2cSJim Jagielski.ENDIF 5056*b1cdbd2cSJim Jagielski.IF "$(SHL10LIBS)"!="" 5057*b1cdbd2cSJim Jagielski $(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 5058*b1cdbd2cSJim Jagielski.ENDIF 5059*b1cdbd2cSJim Jagielski# overwrite the map file generate into the local output tree with the generated 5060*b1cdbd2cSJim Jagielski# exported symbols list 5061*b1cdbd2cSJim Jagielski cp $@.exported-symbols $@ 5062*b1cdbd2cSJim Jagielski.ENDIF # .IF "$(OS)"=="MACOSX" 5063*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10VERSIONMAP)"!="" 5064*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_SHL10VERSIONMAP)"!="" 5065*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" != "UNX" 5066*b1cdbd2cSJim Jagielski 5067*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 5068*b1cdbd2cSJim Jagielski.IF "$(OS)"!="MACOSX" 5069*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 5070*b1cdbd2cSJim JagielskiSHL10SONAME=\"$(SONAME_SWITCH)$(SHL10TARGETN:f)\" 5071*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)"!="UNX" 5072*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"!="MACOSX" 5073*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 5074*b1cdbd2cSJim Jagielski 5075*b1cdbd2cSJim Jagielski.IF "$(SHL10RES)"!="" 5076*b1cdbd2cSJim JagielskiSHL10ALLRES+=$(SHL10RES) 5077*b1cdbd2cSJim JagielskiSHL10LINKRES*=$(MISC)/$(SHL10TARGET).res 5078*b1cdbd2cSJim JagielskiSHL10LINKRESO*=$(MISC)/$(SHL10TARGET)_res.o 5079*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10RES)"!="" 5080*b1cdbd2cSJim Jagielski 5081*b1cdbd2cSJim Jagielski.IF "$(SHL10DEFAULTRES)$(use_shl_versions)"!="" 5082*b1cdbd2cSJim JagielskiSHL10DEFAULTRES*=$(MISC)/$(SHL10TARGET)_def.res 5083*b1cdbd2cSJim JagielskiSHL10ALLRES+=$(SHL10DEFAULTRES) 5084*b1cdbd2cSJim JagielskiSHL10LINKRES*=$(MISC)/$(SHL10TARGET).res 5085*b1cdbd2cSJim JagielskiSHL10LINKRESO*=$(MISC)/$(SHL10TARGET)_res.o 5086*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10DEFAULTRES)$(use_shl_versions)"!="" 5087*b1cdbd2cSJim Jagielski 5088*b1cdbd2cSJim Jagielski#.IF "$(SHL10TARGETN)"!="" 5089*b1cdbd2cSJim Jagielski 5090*b1cdbd2cSJim Jagielski.IF "$(linkinc)"!="" 5091*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 5092*b1cdbd2cSJim Jagielski.IF "$(SHL10LIBS)"!="" 5093*b1cdbd2cSJim Jagielski$(MISC)/$(SHL10TARGET)_linkinc.ls .PHONY: 5094*b1cdbd2cSJim Jagielski @@-$(RM) $@ 5095*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL10LIBS) $(i:s/.lib/.lin/)) >> $@ 5096*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10LIBS)"!="" 5097*b1cdbd2cSJim Jagielski.ENDIF 5098*b1cdbd2cSJim Jagielski 5099*b1cdbd2cSJim JagielskiLINKINCTARGETS+=$(MISC)/$(SHL10TARGETN:b)_linkinc.ls 5100*b1cdbd2cSJim Jagielski$(SHL10TARGETN) : $(LINKINCTARGETS) 5101*b1cdbd2cSJim Jagielski 5102*b1cdbd2cSJim Jagielski.ELSE 5103*b1cdbd2cSJim Jagielski.IF "$(SHL10USE_EXPORTS)"=="name" 5104*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2" 5105*b1cdbd2cSJim Jagielski.IF "$(COM)"!="GCC" 5106*b1cdbd2cSJim Jagielski.IF "$(SHL10LIBS)"!="" 5107*b1cdbd2cSJim JagielskiSHL10LINKLIST=$(MISC)/$(SHL10TARGET)_link.lst 5108*b1cdbd2cSJim JagielskiSHL10LINKLISTPARAM=@$(SHL10LINKLIST) 5109*b1cdbd2cSJim Jagielski$(SHL10LINKLIST) : $(SHL10LIBS) 5110*b1cdbd2cSJim Jagielski @@-$(RM) $@ 5111*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SED) -f $(SOLARENV)/bin/chrel.sed $(foreach,i,$(SHL10LIBS) $(i:s/.lib/.lin/)) >> $@ 5112*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10LIBS)"!="" 5113*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"!="GCC" 5114*b1cdbd2cSJim Jagielski.ENDIF 5115*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10USE_EXPORTS)"=="name" 5116*b1cdbd2cSJim Jagielski 5117*b1cdbd2cSJim Jagielski$(MISC)/%linkinc.ls: 5118*b1cdbd2cSJim Jagielski @echo . > $@ 5119*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"!="" 5120*b1cdbd2cSJim Jagielski 5121*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 5122*b1cdbd2cSJim Jagielski#21/02/2006 YD dll names must be 8.3, invoke fix script 5123*b1cdbd2cSJim Jagielski#check osl/os2/module.c/osl_loadModule() 5124*b1cdbd2cSJim JagielskiSHL10TARGET8=$(shell @fix_shl.cmd $(SHL10TARGET)) 5125*b1cdbd2cSJim Jagielski.ENDIF 5126*b1cdbd2cSJim Jagielski 5127*b1cdbd2cSJim Jagielski 5128*b1cdbd2cSJim Jagielski$(SHL10TARGETN) : \ 5129*b1cdbd2cSJim Jagielski $(SHL10OBJS)\ 5130*b1cdbd2cSJim Jagielski $(SHL10LIBS)\ 5131*b1cdbd2cSJim Jagielski $(USE_10IMPLIB_DEPS)\ 5132*b1cdbd2cSJim Jagielski $(USE_SHL10DEF)\ 5133*b1cdbd2cSJim Jagielski $(USE_SHL10VERSIONMAP)\ 5134*b1cdbd2cSJim Jagielski $(SHL10RES)\ 5135*b1cdbd2cSJim Jagielski $(SHL10DEPN) \ 5136*b1cdbd2cSJim Jagielski $(SHL10LINKLIST) 5137*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5138*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5139*b1cdbd2cSJim Jagielski.IF "$(SHL10DEFAULTRES)"!="" 5140*b1cdbd2cSJim Jagielski @@-$(RM) $(MISC)/$(SHL10DEFAULTRES:b).rc 5141*b1cdbd2cSJim Jagielski.IF "$(SHL10ICON)" != "" 5142*b1cdbd2cSJim Jagielski @echo 1 ICON $(SHL10ICON) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5143*b1cdbd2cSJim Jagielski.ENDIF 5144*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 5145*b1cdbd2cSJim Jagielski.IF "$(SHL10ADD_VERINFO)"!="" 5146*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"$(SHL10ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5147*b1cdbd2cSJim Jagielski.ELSE # "$(SHL10ADD_VERINFO)"!="" 5148*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO1 >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5149*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO2 >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5150*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ADDITIONAL_VERINFO3 >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5151*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10ADD_VERINFO)"!="" 5152*b1cdbd2cSJim Jagielski @echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5153*b1cdbd2cSJim Jagielski @echo $(EMQ)#define ORG_NAME $(SHL10TARGET)$(DLLPOST) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5154*b1cdbd2cSJim Jagielski @echo $(EMQ)#define INTERNAL_NAME $(SHL10TARGET:b) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5155*b1cdbd2cSJim Jagielski @echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5156*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 5157*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL10DEFAULTRES:b).rc 5158*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10DEFAULTRES)"!="" 5159*b1cdbd2cSJim Jagielski.IF "$(SHL10ALLRES)"!="" 5160*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(SHL10ALLRES) > $(SHL10LINKRES) 5161*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5162*b1cdbd2cSJim Jagielski windres $(SHL10LINKRES) $(SHL10LINKRESO) 5163*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5164*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10ALLRES)"!="" 5165*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def 5166*b1cdbd2cSJim Jagielski @echo dlltool --dllname $(SHL10TARGET)$(DLLPOST) \ 5167*b1cdbd2cSJim Jagielski --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_10.cmd 5168*b1cdbd2cSJim Jagielski @noop $(assign ALL10OBJLIST:=$(STDOBJ) $(SHL10OBJS) $(SHL10LINKRESO) $(shell $(TYPE) /dev/null $(SHL10LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 5169*b1cdbd2cSJim Jagielski.IF "$(DEFLIB10NAME)"!="" # do not have to include objs 5170*b1cdbd2cSJim Jagielski @noop $(assign DEF10OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g)) 5171*b1cdbd2cSJim Jagielski @noop $(foreach,i,$(DEF10OBJLIST) $(assign ALL10OBJLIST:=$(ALL10OBJLIST:s?$i??))) 5172*b1cdbd2cSJim Jagielski.ENDIF # "$(DEFLIB10NAME)"!="" 5173*b1cdbd2cSJim Jagielski @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5174*b1cdbd2cSJim Jagielski.IF "$(SHL10DEF)"!="" 5175*b1cdbd2cSJim Jagielski @echo --input-def $(SHL10DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5176*b1cdbd2cSJim Jagielski.ELSE 5177*b1cdbd2cSJim Jagielski @echo $(SHL10VERSIONOBJ) $(SHL10DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5178*b1cdbd2cSJim Jagielski.ENDIF 5179*b1cdbd2cSJim Jagielski @echo $(ALL10OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5180*b1cdbd2cSJim Jagielski @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \ 5181*b1cdbd2cSJim Jagielski $(STDOBJ) $(SHL10VERSIONOBJ) $(SHL10DESCRIPTIONOBJ) $(SHL10OBJS) $(SHL10LINKRESO) \ 5182*b1cdbd2cSJim Jagielski `$(TYPE) /dev/null $(SHL10LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 5183*b1cdbd2cSJim Jagielski -Wl,--exclude-libs,ALL,--start-group $(SHL10STDLIBS) -Wl,--end-group \ 5184*b1cdbd2cSJim Jagielski $(SHL10STDSHL) $(STDSHL10) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \ 5185*b1cdbd2cSJim Jagielski -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5186*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 5187*b1cdbd2cSJim Jagielski @$(TYPE) $(MISC)/$(TARGET).$(@:b)_10.cmd 5188*b1cdbd2cSJim Jagielski .ENDIF 5189*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_10.cmd 5190*b1cdbd2cSJim Jagielski.ELSE 5191*b1cdbd2cSJim Jagielski.IF "$(linkinc)"=="" 5192*b1cdbd2cSJim Jagielski.IF "$(SHL10USE_EXPORTS)"!="name" 5193*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5194*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL10LINKER) @$(mktmp \ 5195*b1cdbd2cSJim Jagielski $(SHL10LINKFLAGS) \ 5196*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) \ 5197*b1cdbd2cSJim Jagielski $(SHL10STACK) $(SHL10BASEX) \ 5198*b1cdbd2cSJim Jagielski -out:$@ \ 5199*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:b).map \ 5200*b1cdbd2cSJim Jagielski -def:$(SHL10DEF) \ 5201*b1cdbd2cSJim Jagielski $(USE_10IMPLIB) \ 5202*b1cdbd2cSJim Jagielski $(STDOBJ) \ 5203*b1cdbd2cSJim Jagielski $(SHL10VERSIONOBJ) $(SHL10OBJS) \ 5204*b1cdbd2cSJim Jagielski $(SHL10LIBS) \ 5205*b1cdbd2cSJim Jagielski $(SHL10STDLIBS) \ 5206*b1cdbd2cSJim Jagielski $(SHL10STDSHL) $(STDSHL10) \ 5207*b1cdbd2cSJim Jagielski $(SHL10LINKRES) \ 5208*b1cdbd2cSJim Jagielski ) 5209*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 5210*b1cdbd2cSJim Jagielski @@$(LS) $@ 5211*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 5212*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 5213*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5214*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5215*b1cdbd2cSJim Jagielski.ELSE 5216*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5217*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 5218*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5219*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5220*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 5221*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL10LINKER) @$(mktmp $(SHL10LINKFLAGS) \ 5222*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL10BASEX) \ 5223*b1cdbd2cSJim Jagielski $(SHL10STACK) -out:$(SHL10TARGETN) \ 5224*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 5225*b1cdbd2cSJim Jagielski $(LB)/$(SHL10IMPLIB).exp \ 5226*b1cdbd2cSJim Jagielski $(STDOBJ) \ 5227*b1cdbd2cSJim Jagielski $(SHL10OBJS) $(SHL10VERSIONOBJ) \ 5228*b1cdbd2cSJim Jagielski $(SHL10LIBS) \ 5229*b1cdbd2cSJim Jagielski $(SHL10STDLIBS) \ 5230*b1cdbd2cSJim Jagielski $(SHL10STDSHL) $(STDSHL10) \ 5231*b1cdbd2cSJim Jagielski $(SHL10LINKRES) \ 5232*b1cdbd2cSJim Jagielski ) 5233*b1cdbd2cSJim Jagielski# double check if target was really written... still making sense? 5234*b1cdbd2cSJim Jagielski @@$(LS) $@ 5235*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 5236*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 5237*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5238*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5239*b1cdbd2cSJim Jagielski.ELSE 5240*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5241*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 5242*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5243*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5244*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 5245*b1cdbd2cSJim Jagielski.ELSE # "$(SHL10USE_EXPORTS)"!="name" 5246*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL10LINKER) @$(mktmp $(SHL10LINKFLAGS) \ 5247*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL10BASEX) \ 5248*b1cdbd2cSJim Jagielski $(SHL10STACK) -out:$(SHL10TARGETN) \ 5249*b1cdbd2cSJim Jagielski -map:$(MISC)/$(@:B).map \ 5250*b1cdbd2cSJim Jagielski $(USE_10IMPLIB) \ 5251*b1cdbd2cSJim Jagielski $(STDOBJ) \ 5252*b1cdbd2cSJim Jagielski $(SHL10OBJS) $(SHL10VERSIONOBJ)) \ 5253*b1cdbd2cSJim Jagielski $(SHL10LINKLISTPARAM) \ 5254*b1cdbd2cSJim Jagielski @$(mktmp $(SHL10STDLIBS) \ 5255*b1cdbd2cSJim Jagielski $(SHL10STDSHL) $(STDSHL10) \ 5256*b1cdbd2cSJim Jagielski $(SHL10LINKRES) \ 5257*b1cdbd2cSJim Jagielski ) 5258*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 5259*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 5260*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5261*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5262*b1cdbd2cSJim Jagielski.ELSE 5263*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5264*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 5265*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5266*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5267*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10USE_EXPORTS)"!="name" 5268*b1cdbd2cSJim Jagielski.ELSE # "$(linkinc)"=="" 5269*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) del $(MISC)/$(SHL10TARGET).lnk 5270*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(MISC)/$(SHL10TARGET).lst 5271*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(mktmp \ 5272*b1cdbd2cSJim Jagielski $(SHL10LINKFLAGS) \ 5273*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL10BASEX) \ 5274*b1cdbd2cSJim Jagielski $(SHL10STACK) $(MAPFILE) \ 5275*b1cdbd2cSJim Jagielski -out:$@ \ 5276*b1cdbd2cSJim Jagielski $(LB)/$(SHL10IMPLIB).exp \ 5277*b1cdbd2cSJim Jagielski $(STDOBJ) \ 5278*b1cdbd2cSJim Jagielski $(SHL10OBJS) \ 5279*b1cdbd2cSJim Jagielski $(SHL10STDLIBS) \ 5280*b1cdbd2cSJim Jagielski $(SHL10STDSHL) $(STDSHL10) \ 5281*b1cdbd2cSJim Jagielski $(SHL10LINKRES) \ 5282*b1cdbd2cSJim Jagielski ) >> $(MISC)/$(SHL10TARGET).lnk 5283*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(TYPE) $(MISC)/$(SHL10TARGETN:b)_linkinc.ls >> $(MISC)/$(SHL10TARGET).lnk 5284*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL10LINKER) @$(MISC)/$(SHL10TARGET).lnk 5285*b1cdbd2cSJim Jagielski @echo linking $@.manifest ... 5286*b1cdbd2cSJim Jagielski.IF "$(VISTA_MANIFEST)"!="" 5287*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -manifest $(TRUSTED_MANIFEST_LOCATION)/trustedinfo.manifest -out:$@.tmanifest$(EMQ) $(FI) 5288*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.tmanifest -outputresource:$@$(EMQ);2 $(FI) 5289*b1cdbd2cSJim Jagielski.ELSE 5290*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(MT) $(MTFLAGS) -manifest $@.manifest -outputresource:$@$(EMQ);2 $(FI) 5291*b1cdbd2cSJim Jagielski.ENDIF # "$(VISTA_MANIFEST)"!="" 5292*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.manifest $(THEN) $(RM:s/+//) $@.manifest $(FI) 5293*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(IFEXIST) $@.tmanifest $(THEN) $(RM:s/+//) $@.tmanifest $(FI) 5294*b1cdbd2cSJim Jagielski.ENDIF # "$(linkinc)"=="" 5295*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5296*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "WNT" 5297*b1cdbd2cSJim Jagielski.IF "$(GUI)"=="UNX" 5298*b1cdbd2cSJim Jagielski.IF "$(OS)"=="MACOSX" 5299*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(@:b).list 5300*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_10.cmd 5301*b1cdbd2cSJim Jagielski @echo $(STDSLO) $(SHL10OBJS:s/.obj/.o/) \ 5302*b1cdbd2cSJim Jagielski $(SHL10VERSIONOBJ) \ 5303*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL10LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list 5304*b1cdbd2cSJim Jagielski @echo -n $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \ 5305*b1cdbd2cSJim Jagielski $(SHL10STDLIBS) $(SHL10ARCHIVES) $(SHL10STDSHL) $(STDSHL10) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_10.cmd 5306*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \ 5307*b1cdbd2cSJim Jagielski `cat $(MISC)/$(TARGET).$(@:b)_10.cmd` \ 5308*b1cdbd2cSJim Jagielski >> $(MISC)/$(TARGET).$(@:b)_10.cmd 5309*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 5310*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_10.cmd 5311*b1cdbd2cSJim Jagielski .ENDIF 5312*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_10.cmd 5313*b1cdbd2cSJim Jagielski @$(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl \ 5314*b1cdbd2cSJim Jagielski shl $(SHL10RPATH) $@ 5315*b1cdbd2cSJim Jagielski.IF "$(SHL10CREATEJNILIB)"!="" 5316*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f).jnilib 5317*b1cdbd2cSJim Jagielski @macosx-create-bundle $@ 5318*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10CREATEJNILIB)"!="" 5319*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5320*b1cdbd2cSJim Jagielski.IF "$(SHL10NOCHECK)"=="" 5321*b1cdbd2cSJim Jagielski $(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) $(SHL10TARGETN) 5322*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10NOCHECK)"!="" 5323*b1cdbd2cSJim Jagielski.ENDIF 5324*b1cdbd2cSJim Jagielski.ELSE # "$(OS)"=="MACOSX" 5325*b1cdbd2cSJim Jagielski @-$(RM) $(MISC)/$(TARGET).$(@:b)_10.cmd 5326*b1cdbd2cSJim Jagielski @echo $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10SONAME) $(LINKFLAGSSHL) $(SHL10VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL10OBJS:s/.obj/.o/) \ 5327*b1cdbd2cSJim Jagielski $(SHL10VERSIONOBJ) -o $@ \ 5328*b1cdbd2cSJim Jagielski `cat /dev/null $(SHL10LIBS) | tr -s " " "\n" | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \ 5329*b1cdbd2cSJim Jagielski $(SHL10STDLIBS) $(SHL10ARCHIVES) $(SHL10STDSHL) $(STDSHL10) $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_10.cmd 5330*b1cdbd2cSJim Jagielski .IF "$(VERBOSE)" == "TRUE" 5331*b1cdbd2cSJim Jagielski @cat $(MISC)/$(TARGET).$(@:b)_10.cmd 5332*b1cdbd2cSJim Jagielski .ENDIF 5333*b1cdbd2cSJim Jagielski @+source $(MISC)/$(TARGET).$(@:b)_10.cmd 5334*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5335*b1cdbd2cSJim Jagielski.IF "$(SHL10NOCHECK)"=="" 5336*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)-$(RM) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5337*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RENAME) $(SHL10TARGETN) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5338*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)"=="TRUE" 5339*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5340*b1cdbd2cSJim Jagielski.ELSE 5341*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) -- -s $(SHL10TARGETN:d)check_$(SHL10TARGETN:f) 5342*b1cdbd2cSJim Jagielski.ENDIF 5343*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10NOCHECK)"!="" 5344*b1cdbd2cSJim Jagielski.ENDIF # "$(UPDATER)"=="YES" 5345*b1cdbd2cSJim Jagielski.ENDIF # "$(OS)"=="MACOSX" 5346*b1cdbd2cSJim Jagielski.IF "$(UNIXVERSIONNAMES)"!="" 5347*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RM) $(LB)/$(SHL10TARGETN:b) 5348*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)cd $(LB) && ln -s $(SHL10TARGETN:f) $(SHL10TARGETN:b) 5349*b1cdbd2cSJim Jagielski.ENDIF # "$(UNIXVERSIONNAMES)"!="" 5350*b1cdbd2cSJim Jagielski.IF "$(VERBOSE)" == "TRUE" 5351*b1cdbd2cSJim Jagielski @ls -l $@ 5352*b1cdbd2cSJim Jagielski.ENDIF 5353*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "UNX" 5354*b1cdbd2cSJim Jagielski 5355*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "OS2" 5356*b1cdbd2cSJim Jagielski 5357*b1cdbd2cSJim Jagielski.IF "$(SHL10DEFAULTRES)"!="" 5358*b1cdbd2cSJim Jagielski @+-$(RM) $(MISC)/$(SHL10DEFAULTRES:b).rc > $(NULLDEV) 5359*b1cdbd2cSJim Jagielski.IF "$(SHL10ICON)" != "" 5360*b1cdbd2cSJim Jagielski @-+echo 1 ICON $(SHL10ICON) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5361*b1cdbd2cSJim Jagielski.ENDIF 5362*b1cdbd2cSJim Jagielski.IF "$(use_shl_versions)" != "" 5363*b1cdbd2cSJim Jagielski.IF "$(SHL10ADD_VERINFO)"!="" 5364*b1cdbd2cSJim Jagielski @-+echo $(EMQ)#include $(EMQ)"$(SHL10ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5365*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10ADD_VERINFO)"!="" 5366*b1cdbd2cSJim Jagielski @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5367*b1cdbd2cSJim Jagielski# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL10DEFAULTRES:b).rc 5368*b1cdbd2cSJim Jagielski.ENDIF # "$(use_shl_versions)" != "" 5369*b1cdbd2cSJim Jagielski# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR) 5370*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL10DEFAULTRES:b).rc 5371*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10DEFAULTRES)"!="" 5372*b1cdbd2cSJim Jagielski 5373*b1cdbd2cSJim Jagielski.IF "$(SHL10ALLRES)"!="" 5374*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(TYPE) $(SHL10ALLRES) > $(SHL10LINKRES) 5375*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10ALLRES)"!="" 5376*b1cdbd2cSJim Jagielski 5377*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5378*b1cdbd2cSJim Jagielski 5379*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL10LINKER) $(SHL10LINKFLAGS) $(LINKFLAGSSHL) -o $@ \ 5380*b1cdbd2cSJim Jagielski $(SHL10DEF) \ 5381*b1cdbd2cSJim Jagielski $(STDOBJ) \ 5382*b1cdbd2cSJim Jagielski -L$(LB) \ 5383*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 5384*b1cdbd2cSJim Jagielski $(SHL10OBJS) $(SHL10VERSIONOBJ) \ 5385*b1cdbd2cSJim Jagielski $(SHL10LIBS) \ 5386*b1cdbd2cSJim Jagielski $(SHL10LINKRES) \ 5387*b1cdbd2cSJim Jagielski $(SHL10STDLIBS) \ 5388*b1cdbd2cSJim Jagielski $(SHL10STDSHL) $(STDSHL10) 5389*b1cdbd2cSJim Jagielski 5390*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)"!="" 5391*b1cdbd2cSJim Jagielski 5392*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)$(SHL10LINKER) $(SHL10LINKFLAGS) \ 5393*b1cdbd2cSJim Jagielski $(LINKFLAGSSHL) $(SHL10BASEX) \ 5394*b1cdbd2cSJim Jagielski $(SHL10STACK) -o $(SHL10TARGETN) \ 5395*b1cdbd2cSJim Jagielski $(SHL10DEF) \ 5396*b1cdbd2cSJim Jagielski $(STDOBJ) \ 5397*b1cdbd2cSJim Jagielski -L$(LB) \ 5398*b1cdbd2cSJim Jagielski -L$(SOLARVERSION)/$(INPATH)/lib \ 5399*b1cdbd2cSJim Jagielski $(SHL10OBJS) $(SHL10VERSIONOBJ) \ 5400*b1cdbd2cSJim Jagielski $(SHL10LIBS) \ 5401*b1cdbd2cSJim Jagielski $(SHL10LINKRES) \ 5402*b1cdbd2cSJim Jagielski $(SHL10STDLIBS) \ 5403*b1cdbd2cSJim Jagielski $(SHL10STDSHL) $(STDSHL10) 5404*b1cdbd2cSJim Jagielski 5405*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)"!="" 5406*b1cdbd2cSJim Jagielski 5407*b1cdbd2cSJim Jagielski.IF "$(SHL10USE_EXPORTS)"=="name" 5408*b1cdbd2cSJim Jagielski#03/11/2012 if 'name' is used, export from DLL file (only names, no ordinals) 5409*b1cdbd2cSJim Jagielski @echo Build import library from DLL file. 5410*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(LB)/$(SHL10TARGETN:b).lib $@ 5411*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10USE_EXPORTS)"=="" 5412*b1cdbd2cSJim Jagielski 5413*b1cdbd2cSJim Jagielski.IF "$(SHL10TARGET8)" != "$(SHL10TARGET)" 5414*b1cdbd2cSJim Jagielski $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL10TARGET8).dll 5415*b1cdbd2cSJim Jagielski.ENDIF 5416*b1cdbd2cSJim Jagielski 5417*b1cdbd2cSJim Jagielski.ENDIF # "$(GUI)" == "OS2" 5418*b1cdbd2cSJim Jagielski 5419*b1cdbd2cSJim Jagielski.ENDIF # "$(SHL10TARGETN)"!="" 5420*b1cdbd2cSJim Jagielski 5421*b1cdbd2cSJim Jagielski# unroll begin 5422*b1cdbd2cSJim Jagielski 5423*b1cdbd2cSJim Jagielski.IF "$(SHL1IMPLIBN)" != "" 5424*b1cdbd2cSJim Jagielski 5425*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5426*b1cdbd2cSJim JagielskiUSELIB1DEPN+=$(SHL1LIBS) 5427*b1cdbd2cSJim Jagielski.ELSE 5428*b1cdbd2cSJim Jagielski.ENDIF 5429*b1cdbd2cSJim Jagielski 5430*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5431*b1cdbd2cSJim JagielskiUSE_SHL1TARGET=$(SHL1TARGETN) 5432*b1cdbd2cSJim Jagielski.ENDIF 5433*b1cdbd2cSJim Jagielski 5434*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5435*b1cdbd2cSJim Jagielski$(SHL1IMPLIBN): \ 5436*b1cdbd2cSJim Jagielski $(SHL1DEF) \ 5437*b1cdbd2cSJim Jagielski $(USE_SHL1TARGET) \ 5438*b1cdbd2cSJim Jagielski $(USELIB1DEPN) \ 5439*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5440*b1cdbd2cSJim Jagielski.ELSE 5441*b1cdbd2cSJim Jagielski$(SHL1IMPLIBN): \ 5442*b1cdbd2cSJim Jagielski $(SHL1LIBS) 5443*b1cdbd2cSJim Jagielski.ENDIF 5444*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5445*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5446*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5447*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5448*b1cdbd2cSJim Jagielski @-$(RM) $@ 5449*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5450*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5451*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5452*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5453*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL1IMPLIBN) \ 5454*b1cdbd2cSJim Jagielski -def:$(SHL1DEF) ) 5455*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5456*b1cdbd2cSJim Jagielski @echo build of $(SHL1TARGETN) creates $@ 5457*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5458*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5459*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5460*b1cdbd2cSJim Jagielski 5461*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5462*b1cdbd2cSJim Jagielski 5463*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5464*b1cdbd2cSJim Jagielski# make 'dmake' happy 5465*b1cdbd2cSJim Jagielski @-$(RM) $@ 5466*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5467*b1cdbd2cSJim Jagielski 5468*b1cdbd2cSJim Jagielski.ELSE 5469*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5470*b1cdbd2cSJim Jagielski @-$(RM) $@ 5471*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5472*b1cdbd2cSJim Jagielski.ENDIF 5473*b1cdbd2cSJim Jagielski.ENDIF 5474*b1cdbd2cSJim Jagielski 5475*b1cdbd2cSJim Jagielski# unroll begin 5476*b1cdbd2cSJim Jagielski 5477*b1cdbd2cSJim Jagielski.IF "$(SHL2IMPLIBN)" != "" 5478*b1cdbd2cSJim Jagielski 5479*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5480*b1cdbd2cSJim JagielskiUSELIB2DEPN+=$(SHL2LIBS) 5481*b1cdbd2cSJim Jagielski.ELSE 5482*b1cdbd2cSJim Jagielski.ENDIF 5483*b1cdbd2cSJim Jagielski 5484*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5485*b1cdbd2cSJim JagielskiUSE_SHL2TARGET=$(SHL2TARGETN) 5486*b1cdbd2cSJim Jagielski.ENDIF 5487*b1cdbd2cSJim Jagielski 5488*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5489*b1cdbd2cSJim Jagielski$(SHL2IMPLIBN): \ 5490*b1cdbd2cSJim Jagielski $(SHL2DEF) \ 5491*b1cdbd2cSJim Jagielski $(USE_SHL2TARGET) \ 5492*b1cdbd2cSJim Jagielski $(USELIB2DEPN) \ 5493*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5494*b1cdbd2cSJim Jagielski.ELSE 5495*b1cdbd2cSJim Jagielski$(SHL2IMPLIBN): \ 5496*b1cdbd2cSJim Jagielski $(SHL2LIBS) 5497*b1cdbd2cSJim Jagielski.ENDIF 5498*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5499*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5500*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5501*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5502*b1cdbd2cSJim Jagielski @-$(RM) $@ 5503*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5504*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5505*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5506*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5507*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL2IMPLIBN) \ 5508*b1cdbd2cSJim Jagielski -def:$(SHL2DEF) ) 5509*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5510*b1cdbd2cSJim Jagielski @echo build of $(SHL2TARGETN) creates $@ 5511*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5512*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5513*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5514*b1cdbd2cSJim Jagielski 5515*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5516*b1cdbd2cSJim Jagielski 5517*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5518*b1cdbd2cSJim Jagielski# make 'dmake' happy 5519*b1cdbd2cSJim Jagielski @-$(RM) $@ 5520*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5521*b1cdbd2cSJim Jagielski 5522*b1cdbd2cSJim Jagielski.ELSE 5523*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5524*b1cdbd2cSJim Jagielski @-$(RM) $@ 5525*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5526*b1cdbd2cSJim Jagielski.ENDIF 5527*b1cdbd2cSJim Jagielski.ENDIF 5528*b1cdbd2cSJim Jagielski 5529*b1cdbd2cSJim Jagielski# unroll begin 5530*b1cdbd2cSJim Jagielski 5531*b1cdbd2cSJim Jagielski.IF "$(SHL3IMPLIBN)" != "" 5532*b1cdbd2cSJim Jagielski 5533*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5534*b1cdbd2cSJim JagielskiUSELIB3DEPN+=$(SHL3LIBS) 5535*b1cdbd2cSJim Jagielski.ELSE 5536*b1cdbd2cSJim Jagielski.ENDIF 5537*b1cdbd2cSJim Jagielski 5538*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5539*b1cdbd2cSJim JagielskiUSE_SHL3TARGET=$(SHL3TARGETN) 5540*b1cdbd2cSJim Jagielski.ENDIF 5541*b1cdbd2cSJim Jagielski 5542*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5543*b1cdbd2cSJim Jagielski$(SHL3IMPLIBN): \ 5544*b1cdbd2cSJim Jagielski $(SHL3DEF) \ 5545*b1cdbd2cSJim Jagielski $(USE_SHL3TARGET) \ 5546*b1cdbd2cSJim Jagielski $(USELIB3DEPN) \ 5547*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5548*b1cdbd2cSJim Jagielski.ELSE 5549*b1cdbd2cSJim Jagielski$(SHL3IMPLIBN): \ 5550*b1cdbd2cSJim Jagielski $(SHL3LIBS) 5551*b1cdbd2cSJim Jagielski.ENDIF 5552*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5553*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5554*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5555*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5556*b1cdbd2cSJim Jagielski @-$(RM) $@ 5557*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5558*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5559*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5560*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5561*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL3IMPLIBN) \ 5562*b1cdbd2cSJim Jagielski -def:$(SHL3DEF) ) 5563*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5564*b1cdbd2cSJim Jagielski @echo build of $(SHL3TARGETN) creates $@ 5565*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5566*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5567*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5568*b1cdbd2cSJim Jagielski 5569*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5570*b1cdbd2cSJim Jagielski 5571*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5572*b1cdbd2cSJim Jagielski# make 'dmake' happy 5573*b1cdbd2cSJim Jagielski @-$(RM) $@ 5574*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5575*b1cdbd2cSJim Jagielski 5576*b1cdbd2cSJim Jagielski.ELSE 5577*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5578*b1cdbd2cSJim Jagielski @-$(RM) $@ 5579*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5580*b1cdbd2cSJim Jagielski.ENDIF 5581*b1cdbd2cSJim Jagielski.ENDIF 5582*b1cdbd2cSJim Jagielski 5583*b1cdbd2cSJim Jagielski# unroll begin 5584*b1cdbd2cSJim Jagielski 5585*b1cdbd2cSJim Jagielski.IF "$(SHL4IMPLIBN)" != "" 5586*b1cdbd2cSJim Jagielski 5587*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5588*b1cdbd2cSJim JagielskiUSELIB4DEPN+=$(SHL4LIBS) 5589*b1cdbd2cSJim Jagielski.ELSE 5590*b1cdbd2cSJim Jagielski.ENDIF 5591*b1cdbd2cSJim Jagielski 5592*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5593*b1cdbd2cSJim JagielskiUSE_SHL4TARGET=$(SHL4TARGETN) 5594*b1cdbd2cSJim Jagielski.ENDIF 5595*b1cdbd2cSJim Jagielski 5596*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5597*b1cdbd2cSJim Jagielski$(SHL4IMPLIBN): \ 5598*b1cdbd2cSJim Jagielski $(SHL4DEF) \ 5599*b1cdbd2cSJim Jagielski $(USE_SHL4TARGET) \ 5600*b1cdbd2cSJim Jagielski $(USELIB4DEPN) \ 5601*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5602*b1cdbd2cSJim Jagielski.ELSE 5603*b1cdbd2cSJim Jagielski$(SHL4IMPLIBN): \ 5604*b1cdbd2cSJim Jagielski $(SHL4LIBS) 5605*b1cdbd2cSJim Jagielski.ENDIF 5606*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5607*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5608*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5609*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5610*b1cdbd2cSJim Jagielski @-$(RM) $@ 5611*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5612*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5613*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5614*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5615*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL4IMPLIBN) \ 5616*b1cdbd2cSJim Jagielski -def:$(SHL4DEF) ) 5617*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5618*b1cdbd2cSJim Jagielski @echo build of $(SHL4TARGETN) creates $@ 5619*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5620*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5621*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5622*b1cdbd2cSJim Jagielski 5623*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5624*b1cdbd2cSJim Jagielski 5625*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5626*b1cdbd2cSJim Jagielski# make 'dmake' happy 5627*b1cdbd2cSJim Jagielski @-$(RM) $@ 5628*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5629*b1cdbd2cSJim Jagielski 5630*b1cdbd2cSJim Jagielski.ELSE 5631*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5632*b1cdbd2cSJim Jagielski @-$(RM) $@ 5633*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5634*b1cdbd2cSJim Jagielski.ENDIF 5635*b1cdbd2cSJim Jagielski.ENDIF 5636*b1cdbd2cSJim Jagielski 5637*b1cdbd2cSJim Jagielski# unroll begin 5638*b1cdbd2cSJim Jagielski 5639*b1cdbd2cSJim Jagielski.IF "$(SHL5IMPLIBN)" != "" 5640*b1cdbd2cSJim Jagielski 5641*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5642*b1cdbd2cSJim JagielskiUSELIB5DEPN+=$(SHL5LIBS) 5643*b1cdbd2cSJim Jagielski.ELSE 5644*b1cdbd2cSJim Jagielski.ENDIF 5645*b1cdbd2cSJim Jagielski 5646*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5647*b1cdbd2cSJim JagielskiUSE_SHL5TARGET=$(SHL5TARGETN) 5648*b1cdbd2cSJim Jagielski.ENDIF 5649*b1cdbd2cSJim Jagielski 5650*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5651*b1cdbd2cSJim Jagielski$(SHL5IMPLIBN): \ 5652*b1cdbd2cSJim Jagielski $(SHL5DEF) \ 5653*b1cdbd2cSJim Jagielski $(USE_SHL5TARGET) \ 5654*b1cdbd2cSJim Jagielski $(USELIB5DEPN) \ 5655*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5656*b1cdbd2cSJim Jagielski.ELSE 5657*b1cdbd2cSJim Jagielski$(SHL5IMPLIBN): \ 5658*b1cdbd2cSJim Jagielski $(SHL5LIBS) 5659*b1cdbd2cSJim Jagielski.ENDIF 5660*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5661*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5662*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5663*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5664*b1cdbd2cSJim Jagielski @-$(RM) $@ 5665*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5666*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5667*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5668*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5669*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL5IMPLIBN) \ 5670*b1cdbd2cSJim Jagielski -def:$(SHL5DEF) ) 5671*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5672*b1cdbd2cSJim Jagielski @echo build of $(SHL5TARGETN) creates $@ 5673*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5674*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5675*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5676*b1cdbd2cSJim Jagielski 5677*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5678*b1cdbd2cSJim Jagielski 5679*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5680*b1cdbd2cSJim Jagielski# make 'dmake' happy 5681*b1cdbd2cSJim Jagielski @-$(RM) $@ 5682*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5683*b1cdbd2cSJim Jagielski 5684*b1cdbd2cSJim Jagielski.ELSE 5685*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5686*b1cdbd2cSJim Jagielski @-$(RM) $@ 5687*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5688*b1cdbd2cSJim Jagielski.ENDIF 5689*b1cdbd2cSJim Jagielski.ENDIF 5690*b1cdbd2cSJim Jagielski 5691*b1cdbd2cSJim Jagielski# unroll begin 5692*b1cdbd2cSJim Jagielski 5693*b1cdbd2cSJim Jagielski.IF "$(SHL6IMPLIBN)" != "" 5694*b1cdbd2cSJim Jagielski 5695*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5696*b1cdbd2cSJim JagielskiUSELIB6DEPN+=$(SHL6LIBS) 5697*b1cdbd2cSJim Jagielski.ELSE 5698*b1cdbd2cSJim Jagielski.ENDIF 5699*b1cdbd2cSJim Jagielski 5700*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5701*b1cdbd2cSJim JagielskiUSE_SHL6TARGET=$(SHL6TARGETN) 5702*b1cdbd2cSJim Jagielski.ENDIF 5703*b1cdbd2cSJim Jagielski 5704*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5705*b1cdbd2cSJim Jagielski$(SHL6IMPLIBN): \ 5706*b1cdbd2cSJim Jagielski $(SHL6DEF) \ 5707*b1cdbd2cSJim Jagielski $(USE_SHL6TARGET) \ 5708*b1cdbd2cSJim Jagielski $(USELIB6DEPN) \ 5709*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5710*b1cdbd2cSJim Jagielski.ELSE 5711*b1cdbd2cSJim Jagielski$(SHL6IMPLIBN): \ 5712*b1cdbd2cSJim Jagielski $(SHL6LIBS) 5713*b1cdbd2cSJim Jagielski.ENDIF 5714*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5715*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5716*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5717*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5718*b1cdbd2cSJim Jagielski @-$(RM) $@ 5719*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5720*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5721*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5722*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5723*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL6IMPLIBN) \ 5724*b1cdbd2cSJim Jagielski -def:$(SHL6DEF) ) 5725*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5726*b1cdbd2cSJim Jagielski @echo build of $(SHL6TARGETN) creates $@ 5727*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5728*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5729*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5730*b1cdbd2cSJim Jagielski 5731*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5732*b1cdbd2cSJim Jagielski 5733*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5734*b1cdbd2cSJim Jagielski# make 'dmake' happy 5735*b1cdbd2cSJim Jagielski @-$(RM) $@ 5736*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5737*b1cdbd2cSJim Jagielski 5738*b1cdbd2cSJim Jagielski.ELSE 5739*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5740*b1cdbd2cSJim Jagielski @-$(RM) $@ 5741*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5742*b1cdbd2cSJim Jagielski.ENDIF 5743*b1cdbd2cSJim Jagielski.ENDIF 5744*b1cdbd2cSJim Jagielski 5745*b1cdbd2cSJim Jagielski# unroll begin 5746*b1cdbd2cSJim Jagielski 5747*b1cdbd2cSJim Jagielski.IF "$(SHL7IMPLIBN)" != "" 5748*b1cdbd2cSJim Jagielski 5749*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5750*b1cdbd2cSJim JagielskiUSELIB7DEPN+=$(SHL7LIBS) 5751*b1cdbd2cSJim Jagielski.ELSE 5752*b1cdbd2cSJim Jagielski.ENDIF 5753*b1cdbd2cSJim Jagielski 5754*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5755*b1cdbd2cSJim JagielskiUSE_SHL7TARGET=$(SHL7TARGETN) 5756*b1cdbd2cSJim Jagielski.ENDIF 5757*b1cdbd2cSJim Jagielski 5758*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5759*b1cdbd2cSJim Jagielski$(SHL7IMPLIBN): \ 5760*b1cdbd2cSJim Jagielski $(SHL7DEF) \ 5761*b1cdbd2cSJim Jagielski $(USE_SHL7TARGET) \ 5762*b1cdbd2cSJim Jagielski $(USELIB7DEPN) \ 5763*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5764*b1cdbd2cSJim Jagielski.ELSE 5765*b1cdbd2cSJim Jagielski$(SHL7IMPLIBN): \ 5766*b1cdbd2cSJim Jagielski $(SHL7LIBS) 5767*b1cdbd2cSJim Jagielski.ENDIF 5768*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5769*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5770*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5771*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5772*b1cdbd2cSJim Jagielski @-$(RM) $@ 5773*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5774*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5775*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5776*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5777*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL7IMPLIBN) \ 5778*b1cdbd2cSJim Jagielski -def:$(SHL7DEF) ) 5779*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5780*b1cdbd2cSJim Jagielski @echo build of $(SHL7TARGETN) creates $@ 5781*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5782*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5783*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5784*b1cdbd2cSJim Jagielski 5785*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5786*b1cdbd2cSJim Jagielski 5787*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5788*b1cdbd2cSJim Jagielski# make 'dmake' happy 5789*b1cdbd2cSJim Jagielski @-$(RM) $@ 5790*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5791*b1cdbd2cSJim Jagielski 5792*b1cdbd2cSJim Jagielski.ELSE 5793*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5794*b1cdbd2cSJim Jagielski @-$(RM) $@ 5795*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5796*b1cdbd2cSJim Jagielski.ENDIF 5797*b1cdbd2cSJim Jagielski.ENDIF 5798*b1cdbd2cSJim Jagielski 5799*b1cdbd2cSJim Jagielski# unroll begin 5800*b1cdbd2cSJim Jagielski 5801*b1cdbd2cSJim Jagielski.IF "$(SHL8IMPLIBN)" != "" 5802*b1cdbd2cSJim Jagielski 5803*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5804*b1cdbd2cSJim JagielskiUSELIB8DEPN+=$(SHL8LIBS) 5805*b1cdbd2cSJim Jagielski.ELSE 5806*b1cdbd2cSJim Jagielski.ENDIF 5807*b1cdbd2cSJim Jagielski 5808*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5809*b1cdbd2cSJim JagielskiUSE_SHL8TARGET=$(SHL8TARGETN) 5810*b1cdbd2cSJim Jagielski.ENDIF 5811*b1cdbd2cSJim Jagielski 5812*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5813*b1cdbd2cSJim Jagielski$(SHL8IMPLIBN): \ 5814*b1cdbd2cSJim Jagielski $(SHL8DEF) \ 5815*b1cdbd2cSJim Jagielski $(USE_SHL8TARGET) \ 5816*b1cdbd2cSJim Jagielski $(USELIB8DEPN) \ 5817*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5818*b1cdbd2cSJim Jagielski.ELSE 5819*b1cdbd2cSJim Jagielski$(SHL8IMPLIBN): \ 5820*b1cdbd2cSJim Jagielski $(SHL8LIBS) 5821*b1cdbd2cSJim Jagielski.ENDIF 5822*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5823*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5824*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5825*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5826*b1cdbd2cSJim Jagielski @-$(RM) $@ 5827*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5828*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5829*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5830*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5831*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL8IMPLIBN) \ 5832*b1cdbd2cSJim Jagielski -def:$(SHL8DEF) ) 5833*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5834*b1cdbd2cSJim Jagielski @echo build of $(SHL8TARGETN) creates $@ 5835*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5836*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5837*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5838*b1cdbd2cSJim Jagielski 5839*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5840*b1cdbd2cSJim Jagielski 5841*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5842*b1cdbd2cSJim Jagielski# make 'dmake' happy 5843*b1cdbd2cSJim Jagielski @-$(RM) $@ 5844*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5845*b1cdbd2cSJim Jagielski 5846*b1cdbd2cSJim Jagielski.ELSE 5847*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5848*b1cdbd2cSJim Jagielski @-$(RM) $@ 5849*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5850*b1cdbd2cSJim Jagielski.ENDIF 5851*b1cdbd2cSJim Jagielski.ENDIF 5852*b1cdbd2cSJim Jagielski 5853*b1cdbd2cSJim Jagielski# unroll begin 5854*b1cdbd2cSJim Jagielski 5855*b1cdbd2cSJim Jagielski.IF "$(SHL9IMPLIBN)" != "" 5856*b1cdbd2cSJim Jagielski 5857*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5858*b1cdbd2cSJim JagielskiUSELIB9DEPN+=$(SHL9LIBS) 5859*b1cdbd2cSJim Jagielski.ELSE 5860*b1cdbd2cSJim Jagielski.ENDIF 5861*b1cdbd2cSJim Jagielski 5862*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5863*b1cdbd2cSJim JagielskiUSE_SHL9TARGET=$(SHL9TARGETN) 5864*b1cdbd2cSJim Jagielski.ENDIF 5865*b1cdbd2cSJim Jagielski 5866*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5867*b1cdbd2cSJim Jagielski$(SHL9IMPLIBN): \ 5868*b1cdbd2cSJim Jagielski $(SHL9DEF) \ 5869*b1cdbd2cSJim Jagielski $(USE_SHL9TARGET) \ 5870*b1cdbd2cSJim Jagielski $(USELIB9DEPN) \ 5871*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5872*b1cdbd2cSJim Jagielski.ELSE 5873*b1cdbd2cSJim Jagielski$(SHL9IMPLIBN): \ 5874*b1cdbd2cSJim Jagielski $(SHL9LIBS) 5875*b1cdbd2cSJim Jagielski.ENDIF 5876*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5877*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5878*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5879*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5880*b1cdbd2cSJim Jagielski @-$(RM) $@ 5881*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5882*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5883*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5884*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5885*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL9IMPLIBN) \ 5886*b1cdbd2cSJim Jagielski -def:$(SHL9DEF) ) 5887*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5888*b1cdbd2cSJim Jagielski @echo build of $(SHL9TARGETN) creates $@ 5889*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5890*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5891*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5892*b1cdbd2cSJim Jagielski 5893*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5894*b1cdbd2cSJim Jagielski 5895*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5896*b1cdbd2cSJim Jagielski# make 'dmake' happy 5897*b1cdbd2cSJim Jagielski @-$(RM) $@ 5898*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5899*b1cdbd2cSJim Jagielski 5900*b1cdbd2cSJim Jagielski.ELSE 5901*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5902*b1cdbd2cSJim Jagielski @-$(RM) $@ 5903*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5904*b1cdbd2cSJim Jagielski.ENDIF 5905*b1cdbd2cSJim Jagielski.ENDIF 5906*b1cdbd2cSJim Jagielski 5907*b1cdbd2cSJim Jagielski# unroll begin 5908*b1cdbd2cSJim Jagielski 5909*b1cdbd2cSJim Jagielski.IF "$(SHL10IMPLIBN)" != "" 5910*b1cdbd2cSJim Jagielski 5911*b1cdbd2cSJim Jagielski.IF "$(UPDATER)"=="YES" 5912*b1cdbd2cSJim JagielskiUSELIB10DEPN+=$(SHL10LIBS) 5913*b1cdbd2cSJim Jagielski.ELSE 5914*b1cdbd2cSJim Jagielski.ENDIF 5915*b1cdbd2cSJim Jagielski 5916*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"!="" 5917*b1cdbd2cSJim JagielskiUSE_SHL10TARGET=$(SHL10TARGETN) 5918*b1cdbd2cSJim Jagielski.ENDIF 5919*b1cdbd2cSJim Jagielski 5920*b1cdbd2cSJim Jagielski.IF "$(GUI)" != "UNX" 5921*b1cdbd2cSJim Jagielski$(SHL10IMPLIBN): \ 5922*b1cdbd2cSJim Jagielski $(SHL10DEF) \ 5923*b1cdbd2cSJim Jagielski $(USE_SHL10TARGET) \ 5924*b1cdbd2cSJim Jagielski $(USELIB10DEPN) \ 5925*b1cdbd2cSJim Jagielski $(USELIBDEPN) 5926*b1cdbd2cSJim Jagielski.ELSE 5927*b1cdbd2cSJim Jagielski$(SHL10IMPLIBN): \ 5928*b1cdbd2cSJim Jagielski $(SHL10LIBS) 5929*b1cdbd2cSJim Jagielski.ENDIF 5930*b1cdbd2cSJim Jagielski @echo "Making: " $(@:f) 5931*b1cdbd2cSJim Jagielski.IF "$(GUI)" == "WNT" 5932*b1cdbd2cSJim Jagielski.IF "$(COM)"=="GCC" 5933*b1cdbd2cSJim Jagielski @echo no ImportLibs on mingw 5934*b1cdbd2cSJim Jagielski @-$(RM) $@ 5935*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5936*b1cdbd2cSJim Jagielski.ELSE # "$(COM)=="GCC" 5937*b1cdbd2cSJim Jagielski# bei use_deffile implib von linker erstellt 5938*b1cdbd2cSJim Jagielski.IF "$(USE_DEFFILE)"=="" 5939*b1cdbd2cSJim Jagielski $(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL10IMPLIBN) \ 5940*b1cdbd2cSJim Jagielski -def:$(SHL10DEF) ) 5941*b1cdbd2cSJim Jagielski.ELSE # "$(USE_DEFFILE)=="" 5942*b1cdbd2cSJim Jagielski @echo build of $(SHL10TARGETN) creates $@ 5943*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5944*b1cdbd2cSJim Jagielski.ENDIF # "$(USE_DEFFILE)=="" 5945*b1cdbd2cSJim Jagielski.ENDIF # "$(COM)"=="GCC" 5946*b1cdbd2cSJim Jagielski 5947*b1cdbd2cSJim Jagielski.ELIF "$(GUI)" == "OS2" 5948*b1cdbd2cSJim Jagielski 5949*b1cdbd2cSJim Jagielski @echo Import libs generated with .def file or with .dll file. 5950*b1cdbd2cSJim Jagielski# make 'dmake' happy 5951*b1cdbd2cSJim Jagielski @-$(RM) $@ 5952*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5953*b1cdbd2cSJim Jagielski 5954*b1cdbd2cSJim Jagielski.ELSE 5955*b1cdbd2cSJim Jagielski @echo no ImportLibs on Mac and *ix 5956*b1cdbd2cSJim Jagielski @-$(RM) $@ 5957*b1cdbd2cSJim Jagielski @$(TOUCH) $@ 5958*b1cdbd2cSJim Jagielski.ENDIF 5959*b1cdbd2cSJim Jagielski.ENDIF 5960*b1cdbd2cSJim Jagielski 5961