mklibgcc.in revision 122180
1#!/bin/sh 2# Construct makefile for libgcc. 3# Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc. 4# 5# This file is part of GCC. 6 7# Arguments, taken from the environment, since there are a lot 8# of them, and positional args becomes quite ugly. 9# 10# objext 11# LIB1ASMFUNCS 12# LIB2FUNCS_1 13# LIB2FUNCS_2 14# LIB2FUNCS_ST 15# LIB2ADD 16# LIB2ADD_ST 17# LIB2ADDEH 18# LIB2ADDEHDEP 19# FPBIT 20# FPBIT_FUNCS 21# LIB2_DIVMOD_FUNCS 22# DPBIT 23# DPBIT_FUNCS 24# TPBIT 25# TPBIT_FUNCS 26# LIBGCC 27# MULTILIBS 28# EXTRA_MULTILIB_PARTS 29# SHLIB_EXT 30# SHLIB_LINK 31# SHLIB_MULTILIB 32# SHLIB_MKMAP 33# SHLIB_MKMAP_OPTS 34# SHLIB_MAPFILES 35# SHLIB_NM_FLAGS 36# SHLIB_INSTALL 37# MULTILIB_OSDIRNAMES 38 39# Make needs VPATH to be literal. 40echo 'srcdir = @srcdir@' 41echo 'VPATH = @srcdir@' 42echo 'EQ = =' 43echo 44echo 'force:' 45echo 46 47# Disable SHLIB_LINK if shared libgcc not enabled. 48if [ "@enable_shared@" = "no" ]; then 49 SHLIB_LINK="" 50fi 51 52# Build lines. 53 54gcc_compile='$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES)' 55make_compile='$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \ 56 AR_FOR_TARGET="$(AR_FOR_TARGET)" \ 57 AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \ 58 AR_EXTRACT_FOR_TARGET="$(AR_EXTRACT_FOR_TARGET)" \ 59 AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \ 60 CC="$(CC)" CFLAGS="$(CFLAGS)" \ 61 BUILD_PREFIX="$(BUILD_PREFIX)" \ 62 BUILD_PREFIX_1="$(BUILD_PREFIX_1)" \ 63 LANGUAGES="$(LANGUAGES)"' 64 65# Dependencies for libgcc2.c 66libgcc2_c_dep='stmp-dirs $(srcdir)/libgcc2.c $(CONFIG_H) $(MACHMODE_H) longlong.h gbl-ctors.h config.status stmp-int-hdrs tsystem.h'" $LIB2ADDEHDEP" 67 68# Dependencies for fp-bit.c 69fpbit_c_dep='stmp-dirs config.status tsystem.h' 70 71# 72# Build libgcc1 components. 73# 74 75libgcc1_objs="" 76 77for name in $LIB1ASMFUNCS; do 78 for ml in $MULTILIBS; do 79 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 80 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 81 out="libgcc/${dir}/${name}${objext}" 82 83 echo ${out}: stmp-dirs '$(srcdir)/config/$(LIB1ASMSRC)' 84 echo " $gcc_compile" $flags -DL$name -xassembler-with-cpp \ 85 -c '$(srcdir)/config/$(LIB1ASMSRC)' -o $out 86 87 # Remove any objects from LIB2FUNCS and LIB2_DIVMOD_FUNCS that are 88 # defined as optimized assembly code in LIB1ASMFUNCS. 89 LIB2FUNCS_1=`echo $LIB2FUNCS_1 | sed -e 's/^'$name' //' \ 90 -e 's/ '$name' / /' \ 91 -e 's/ '$name'$//'` 92 LIB2FUNCS_2=`echo $LIB2FUNCS_2 | sed -e 's/^'$name' //' \ 93 -e 's/ '$name' / /' \ 94 -e 's/ '$name'$//'` 95 LIB2_DIVMOD_FUNCS=`echo $LIB2_DIVMOD_FUNCS | sed -e 's/^'$name' //' \ 96 -e 's/ '$name' / /' \ 97 -e 's/ '$name'$//'` 98 done 99 libgcc1_objs="$libgcc1_objs ${name}${objext}" 100done 101 102# 103# Build libgcc2 components. 104# 105 106libgcc2_objs="" 107libgcc2_st_objs="" 108libgcc2_eh_objs="" 109 110for name in $LIB2FUNCS_1 $LIB2FUNCS_2; do 111 for ml in $MULTILIBS; do 112 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 113 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 114 out="libgcc/${dir}/${name}${objext}" 115 116 echo $out: $libgcc2_c_dep 117 echo " $gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \ 118 -c '$(srcdir)/libgcc2.c' -o $out 119 done 120 libgcc2_objs="$libgcc2_objs ${name}${objext}" 121done 122 123for name in $LIB2FUNCS_ST; do 124 for ml in $MULTILIBS; do 125 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 126 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 127 out="libgcc/${dir}/${name}${objext}" 128 129 echo $out: $libgcc2_c_dep 130 echo " $gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \ 131 -c '$(srcdir)/libgcc2.c' -o $out 132 done 133 libgcc2_st_objs="$libgcc2_st_objs ${name}${objext}" 134done 135 136for name in $LIB2_DIVMOD_FUNCS; do 137 for ml in $MULTILIBS; do 138 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 139 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 140 out="libgcc/${dir}/${name}${objext}" 141 142 echo $out: $libgcc2_c_dep 143 echo " $gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \ 144 -c '$(srcdir)/libgcc2.c' -fexceptions -fnon-call-exceptions -o $out 145 done 146 libgcc2_objs="$libgcc2_objs ${name}${objext}" 147done 148 149if [ "$FPBIT" ]; then 150 for name in $FPBIT_FUNCS; do 151 for ml in $MULTILIBS; do 152 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 153 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 154 out="libgcc/${dir}/${name}${objext}" 155 156 echo $out: $FPBIT $fpbit_c_dep 157 echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ 158 -c $FPBIT -o $out 159 done 160 libgcc2_objs="$libgcc2_objs ${name}${objext}" 161 done 162fi 163 164if [ "$DPBIT" ]; then 165 for name in $DPBIT_FUNCS; do 166 for ml in $MULTILIBS; do 167 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 168 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 169 out="libgcc/${dir}/${name}${objext}" 170 171 echo $out: $DPBIT $fpbit_c_dep 172 echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ 173 -c $DPBIT -o $out 174 done 175 libgcc2_objs="$libgcc2_objs ${name}${objext}" 176 done 177fi 178 179if [ "$TPBIT" ]; then 180 for name in $TPBIT_FUNCS; do 181 for ml in $MULTILIBS; do 182 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 183 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 184 out="libgcc/${dir}/${name}${objext}" 185 186 echo $out: $TPBIT $fpbit_c_dep 187 echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ 188 -c $TPBIT -o $out 189 done 190 libgcc2_objs="$libgcc2_objs ${name}${objext}" 191 done 192fi 193 194for file in $LIB2ADD; do 195 name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'` 196 oname=`echo $name | sed -e 's,.*/,,'` 197 198 for ml in $MULTILIBS; do 199 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 200 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 201 out="libgcc/${dir}/${oname}${objext}" 202 if [ ${name}.asm = ${file} ]; then 203 flags="$flags -xassembler-with-cpp" 204 fi 205 206 echo $out: stmp-dirs $file 207 echo " $gcc_compile" $flags -c $file -o $out 208 done 209 libgcc2_objs="$libgcc2_objs ${oname}${objext}" 210done 211 212for file in $LIB2ADDEH; do 213 name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'` 214 oname=`echo $name | sed -e 's,.*/,,'` 215 216 for ml in $MULTILIBS; do 217 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 218 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 219 out="libgcc/${dir}/${oname}${objext}" 220 if [ ${name}.asm = ${file} ]; then 221 flags="$flags -xassembler-with-cpp" 222 fi 223 224 echo $out: stmp-dirs $file 225 echo " $gcc_compile" $flags -fexceptions -c $file -o $out 226 done 227 if [ "$SHLIB_LINK" ]; then 228 libgcc2_eh_objs="$libgcc2_eh_objs ${oname}${objext}" 229 else 230 libgcc2_objs="$libgcc2_objs ${oname}${objext}" 231 fi 232done 233 234for file in $LIB2ADD_ST; do 235 name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'` 236 oname=`echo $name | sed -e 's,.*/,,'` 237 238 for ml in $MULTILIBS; do 239 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 240 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 241 out="libgcc/${dir}/${oname}${objext}" 242 if [ ${name}.asm = ${file} ]; then 243 flags="$flags -xassembler-with-cpp" 244 fi 245 246 echo $out: stmp-dirs $file 247 echo " $gcc_compile" $flags -c $file -o $out 248 done 249 libgcc2_st_objs="$libgcc2_st_objs ${oname}${objext}" 250done 251 252# SHLIB_MKMAP 253# SHLIB_MKMAP_OPTS 254# SHLIB_MAPFILES 255for ml in $MULTILIBS; do 256 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 257 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 258 259 libgcc_objs="" 260 libgcc_eh_objs="" 261 for o in $libgcc1_objs; do 262 libgcc_objs="$libgcc_objs libgcc/${dir}/$o" 263 done 264 for o in $libgcc2_objs; do 265 libgcc_objs="$libgcc_objs libgcc/${dir}/$o" 266 done 267 for o in $libgcc2_eh_objs; do 268 libgcc_eh_objs="$libgcc_eh_objs libgcc/${dir}/$o" 269 done 270 libgcc_sh_objs="$libgcc_objs $libgcc_eh_objs" 271 shlib_deps="$libgcc_sh_objs" 272 273 libgcc_st_objs="" 274 for o in $libgcc2_st_objs; do 275 libgcc_st_objs="$libgcc_st_objs libgcc/${dir}/$o" 276 done 277 278 if [ "$SHLIB_LINK" -a "$SHLIB_MKMAP" ]; then 279 mapfile="libgcc/${dir}/libgcc.map" 280 tmpmapfile="libgcc/${dir}/tmp-libgcc.map" 281 echo "" 282 echo "${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_sh_objs" 283 echo ' { $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; \\" 284 echo " cat $SHLIB_MAPFILES | sed -e "'"/^[ ]*#/d" -e '\''s/^%\(if\|else\|elif\|endif\|define\)/#\1/'\'" \\" 285 echo " | $gcc_compile $flags -E -xassembler-with-cpp -; \\" 286 echo ' } | $(AWK)'" -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > ${tmpmapfile}" 287 echo ' mv '"$tmpmapfile"' $@' 288 fi 289 shlib_deps="$shlib_deps $mapfile" 290 291 # Depend on EXTRA_MULTILIB_PARTS, since that's where crtbegin/end 292 # usually are put in a true multilib situation. 293 for f in $EXTRA_MULTILIB_PARTS; do 294 shlib_deps="$shlib_deps $dir/$f" 295 done 296 297 libgcc_a_objs="$libgcc_objs $libgcc_st_objs" 298 299 if [ "@libgcc_visibility@" = yes -a "$SHLIB_LINK" ]; then 300 libgcc_a_objs= 301 echo "" 302 for o in $libgcc_objs $libgcc_st_objs; do 303 # .oS objects will have all non-local symbol definitions .hidden 304 oS=`echo ${o} | sed s~${objext}'$~.oS~g'` 305 echo "${oS}: stmp-dirs ${o}" 306 echo ' @$(NM_FOR_TARGET) '${SHLIB_NM_FLAGS} ${o}' | $(AWK) '\''NF == 3 { print "\t.hidden", $$3 }'\'' | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) '${flags}' -r -nostdinc -nostdlib -o $@ '${o}' -xassembler -' 307 libgcc_a_objs="${libgcc_a_objs} ${oS}" 308 done 309 fi 310 311 # Each of these .a files depends on stmp-dirs. It would seem that 312 # this dependency is redundant, since each of the object files 313 # itself depends on stmp-dirs. However, it is possible that there 314 # are in fact no object files. In that case, the stmp-dirs 315 # dependency is required; the directory containing the archive must 316 # exist before the archive itself can be created. 317 echo "" 318 echo "${dir}/libgcc.a: stmp-dirs $libgcc_a_objs" 319 echo " -rm -rf ${dir}/libgcc.a" 320 echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_a_objs 321 echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ 322 echo ' $(RANLIB_FOR_TARGET)' ${dir}/libgcc.a ';' \\ 323 echo ' else true; fi;' 324 325 if [ "$SHLIB_LINK" ]; then 326 327 echo "" 328 echo "${dir}/libgcc_eh.a: stmp-dirs $libgcc_eh_objs" 329 echo " -rm -rf ${dir}/libgcc_eh.a" 330 echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objs 331 echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\ 332 echo ' $(RANLIB_FOR_TARGET)' ${dir}/libgcc_eh.a ';' \\ 333 echo ' else true; fi;' 334 335 if [ -z "$SHLIB_MULTILIB" ]; then 336 if [ "$dir" = . ]; then 337 shlib_base_name=libgcc_s 338 else 339 shlib_base_name=libgcc_s_`echo $dir | sed s,/,_,g` 340 fi 341 shlib_so_name="$shlib_base_name" 342 shlib_dir= 343 if [ -n "$MULTILIB_OSDIRNAMES" ]; then 344 if [ "$dir" != . ]; then 345 gcc_multilib_dir=`./xgcc -B./ $flags --print-multi-directory` 346 os_multilib_dir=`./xgcc -B./ $flags --print-multi-os-directory` 347 shlib_dir="$dir"/ 348 gcc_multilib_sup=`echo $gcc_multilib_dir | sed 's~^[^/]*/~~'` 349 os_multilib_base=`echo $os_multilib_dir | sed -n "s~/${gcc_multilib_sup}\$~~p"` 350 if [ -z "$os_multilib_base" ]; then 351 shlib_so_name=libgcc_s 352 else 353 shlib_so_name=libgcc_s_`echo $gcc_multilib_sup | sed s,/,_,g` 354 fi 355 fi 356 fi 357 echo "" 358 echo "${dir}/${shlib_base_name}${SHLIB_EXT}: $shlib_deps" 359 echo " $SHLIB_LINK" \ 360 | sed -e "s%@multilib_flags@%$flags%g" \ 361 -e "s%@multilib_dir@%$dir%g" \ 362 -e "s%@shlib_objs@%$libgcc_sh_objs%g" \ 363 -e "s%@shlib_base_name@%$shlib_base_name%g" \ 364 -e "s%@shlib_map_file@%$mapfile%g" \ 365 -e "s%@shlib_so_name@%$shlib_so_name%g" \ 366 -e "s%@shlib_dir@%$shlib_dir%g" 367 elif [ "$SHLIB_MULTILIB" = "$dir" ]; then 368 shlib_base_name="libgcc_s"; 369 echo "" 370 echo "${shlib_base_name}${SHLIB_EXT}: $shlib_deps" 371 echo " $SHLIB_LINK" \ 372 | sed -e "s%@multilib_flags@%$flags%g" \ 373 -e "s%@multilib_dir@%$dir%g" \ 374 -e "s%@shlib_objs@%$libgcc_sh_objs%g" \ 375 -e "s%@shlib_base_name@%$shlib_base_name%g" \ 376 -e "s%@shlib_map_file@%$mapfile%g" \ 377 -e "s%@shlib_so_name@%$shlib_base_name%g" \ 378 -e "s%@shlib_dir@%%g" 379 fi 380 fi 381done 382 383dirs=libgcc 384for ml in $MULTILIBS; do 385 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 386 if [ $dir != . ]; then 387 dirs="$dirs libgcc/${dir}" 388 fi 389done 390echo '' 391echo 'libgcc-stage-start:' 392echo ' for dir in '"${dirs}"'; do \' 393echo ' if [ -d $(stage)/$$dir ]; then true; else mkdir $(stage)/$$dir; fi; \' 394echo ' done' 395echo ' -for dir in '"${dirs}"'; do \' 396echo ' mv $$dir/*'"${objext}"' $(stage)/$$dir; \' 397echo ' done' 398 399echo "" 400all=stmp-dirs 401dirs=libgcc 402 403for ml in $MULTILIBS; do 404 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 405 if [ $dir != . ]; then 406 dirs="$dirs ${dir} libgcc/${dir}" 407 fi 408 all="$all ${dir}/libgcc.a" 409 if [ "$SHLIB_LINK" ]; then 410 all="$all ${dir}/libgcc_eh.a" 411 if [ -z "$SHLIB_MULTILIB" ]; then 412 if [ "$dir" = "." ]; then 413 suff=""; 414 else 415 suff=_`echo $dir | sed s,/,_,g` 416 fi 417 all="$all ${dir}/libgcc_s${suff}${SHLIB_EXT}" 418 elif [ "$SHLIB_MULTILIB" = "$dir" ]; then 419 all="$all libgcc_s${SHLIB_EXT}" 420 fi 421 fi 422done 423 424echo 'stmp-dirs: force' 425echo ' for d in '"$dirs"'; do \' 426echo ' if [ -d $$d ]; then true; else '$mkinstalldirs' $$d; fi; \' 427echo ' done' 428echo ' if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi' 429 430for f in $EXTRA_MULTILIB_PARTS; do 431 for ml in $MULTILIBS; do 432 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 433 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 434 case $dir in 435 .) out=$f ; t= ;; 436 *) out=$dir/$f ; t=$dir/ ;; 437 esac 438 case $out in 439 # Prevent `make' from interpreting $out as a macro assignment 440 *'$(EQ)'*) targ="T_TARGET=$out T_TARGET" ;; 441 *) targ=$out ;; 442 esac 443 444 echo $out: stmp-dirs 445 echo " $make_compile" \\ 446 echo ' LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS)' $flags '" ' \\ 447 echo ' MULTILIB_CFLAGS="'$flags'"' T=$t $targ 448 449 all="$all $out" 450 done 451done 452 453echo "" 454echo "all: $all" 455 456echo "" 457echo "install: $all" 458for ml in $MULTILIBS; do 459 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 460 flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; 461 if [ $dir != . ]; then 462 ldir='$(DESTDIR)$(libsubdir)'/$dir 463 echo " if [ -d $ldir ]; then true; else mkdir $ldir; chmod a+rx $ldir; fi;" 464 else 465 ldir='$(DESTDIR)$(libsubdir)' 466 fi 467 echo ' $(INSTALL_DATA)' ${dir}/libgcc.a ${ldir}/ 468 echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc.a 469 470 if [ "$SHLIB_LINK" ]; then 471 echo ' $(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/ 472 echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a 473 474 if [ -z "$SHLIB_MULTILIB" ]; then 475 if [ "$dir" = . ]; then 476 shlib_base_name=libgcc_s 477 else 478 shlib_base_name=libgcc_s_`echo $dir | sed s,/,_,g` 479 fi 480 shlib_so_name="$shlib_base_name" 481 shlib_dir= 482 shlib_slibdir_qual= 483 if [ -n "$MULTILIB_OSDIRNAMES" ]; then 484 gcc_multilib_dir=`./xgcc -B./ $flags --print-multi-directory` 485 os_multilib_dir=`./xgcc -B./ $flags --print-multi-os-directory` 486 if [ "$dir" != . ]; then 487 shlib_dir="$dir"/ 488 fi 489 gcc_multilib_sup=`echo $gcc_multilib_dir | sed 's~^[^/]*/~~'` 490 os_multilib_base=`echo $os_multilib_dir | sed -n "s~/${gcc_multilib_sup}\$~~p"` 491 if [ -z "$os_multilib_base" ]; then 492 shlib_so_name=libgcc_s 493 if [ "$os_multilib_dir" != "." ]; then 494 shlib_slibdir_qual="/$os_multilib_dir" 495 fi 496 else 497 shlib_so_name=libgcc_s_`echo $gcc_multilib_sup | sed s,/,_,g` 498 shlib_slibdir_qual="/$os_multilib_base" 499 fi 500 fi 501 echo " $SHLIB_INSTALL" \ 502 | sed -e "s%@shlib_base_name@%$shlib_base_name%g" \ 503 -e "s%@shlib_so_name@%$shlib_so_name%g" \ 504 -e "s%@shlib_dir@%$shlib_dir%g" \ 505 -e "s%@shlib_slibdir_qual@%$shlib_slibdir_qual%g" 506 elif [ "$SHLIB_MULTILIB" = "$dir" ]; then 507 shlib_base_name="libgcc_s"; 508 echo " $SHLIB_INSTALL" \ 509 | sed -e "s%@shlib_base_name@%$shlib_base_name%g" \ 510 -e "s%@shlib_so_name@%$shlib_base_name%g" \ 511 -e "s%@shlib_dir@%%g" \ 512 -e "s%@shlib_slibdir_qual@%%g" 513 fi 514 fi 515done 516for f in $EXTRA_MULTILIB_PARTS; do 517 for ml in $MULTILIBS; do 518 dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'` 519 if [ $dir != . ]; then 520 out=${dir}/$f 521 ldir='$(DESTDIR)$(libsubdir)'/$dir 522 else 523 out=$f 524 ldir='$(DESTDIR)$(libsubdir)' 525 fi 526 echo ' $(INSTALL_DATA)' $out $ldir/ 527 done 528done 529