From: David Edelsohn Date: Fri, 21 Jul 1995 18:17:42 +0000 (+0000) Subject: Rename config-{com,pos}.multi to cfg-ml-{com,pos}.in. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8c2d15d17a54ae1bb6a1f693ed21bdbc4746d66f;p=binutils-gdb.git Rename config-{com,pos}.multi to cfg-ml-{com,pos}.in. --- diff --git a/.Sanitize b/.Sanitize index 9639fd15962..9badb6404b0 100644 --- a/.Sanitize +++ b/.Sanitize @@ -109,8 +109,8 @@ ChangeLog Makefile.in README config -config-com.multi -config-pos.multi +cfg-ml-com.in +cfg-ml-pos.in config.guess config.sub configure diff --git a/cfg-ml-com.in b/cfg-ml-com.in new file mode 100644 index 00000000000..bd075ce05a6 --- /dev/null +++ b/cfg-ml-com.in @@ -0,0 +1,209 @@ +# Configure fragment invoked in the common section for subdirs +# wanting multilib support. +# +# The common section was chosen because xiberty clobbers $srcdir in the +# common section of its configure.in. +# +# The intent is to keep as much of this in one place as possible (and out +# of each subdirectory, eg: newlib, libio, etc.) until the right way to do +# this (ha ha) is decided upon. +# +# This is where a target selects what multilib directories to build. +# It is advisable to support a few --enable/--disable options to let the +# user select which libraries s/he really wants. +# +# FIXME: Multilib is currently disabled by default for everything other than +# newlib. It is up to each target to turn on multilib support for the other +# libraries as desired. +# +# FIXME: It would be better if we could use the --print-multi-lib switch to +# gcc to get the list of directories to build, but at this point the compiler +# has not been built. + +# Only do this if --enable-multilib. +# And only if at the top level, not a multilib subdirectory. + +if [ "${enable_multilib}" = yes -a -z "${with_multisubdir}" ]; then + +# Doing this in the common section means ${target} isn't set yet, so compute +# a copy here. This is a bit kludgey, but again the current (short term) goal +# is to be as unobtrusive (sp?) to the rest of the sources as possible. + +if result=`${config_shell} ${configsub} ${target_alias}` ; then + true +else + echo "Unrecognized target system name ${target_alias}." 1>&2 + exit 1 +fi +target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` +target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'` +target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'` +target=${target_cpu}-${target_vendor}-${target_os} + +# FIXME: Perhaps we can do something like the following instead. +# Fetch from gcc the multilib directories to use if we can. +# if [ -f ${srcdir}/../gcc/genmultilib -a -f ../gcc/Makefile ]; then +# options=`grep "^MULTILIB_OPTIONS" ../gcc/Makefile | sed -e 's/^.*=//'` +# multidirs=`${srcdir}/../gcc/genmultilib "$options" | \ +# sed -e 's/^#define.*//' -e 's/^[.].*//' -e 's/".*//' -e 's/ .*//'` +# else +# multidirs="" +# fi + +case "${target}" in +# start-sanitize-arc +arc-sbp-elf*) + if [ x$enable_biendian = xyes ] + then + multidirs="be host graphics audio be/host be/graphics be/audio" + else + multidirs="host graphics audio" + fi + ;; +arc-*-*) + multidirs="be" + ;; +# end-sanitize-arc +hppa*-*-*) + multidirs="soft-float" + ;; +m68*-*-*) + multidirs="m68000 m68020 m68881 msoft-float m68000/m68881 m68000/msoft-float m68020/m68881 m68020/msoft-float" + ;; +i960-*-*) + multidirs=float + ;; +sparclite-*-* | sparclitefrw*-*-*) + multidirs="mfpu msoft-float mflat mno-flat mfpu/mflat mfpu/mno-flat msoft-float/mflat msoft-float/mno-flat" + ;; +sparc-*-* | sparcfrw*-*-*) + multidirs="soft v8 soft/v8" + ;; +z8k-*-*) + multidirs="z8001" + ;; +h8300-*-*) + multidirs=h8300h + ;; +h8500-*-*) + multidirs="mbig msmall mcompact mmedium" + ;; +sh-*-*) + multidirs="ml" + ;; +mips*-*-*) + # Note that not all of these will be built for a particular + # target; what is build depends upon the output gcc + # --print-multi-lib. We configure them all, to make our life + # simpler here. If somebody cares about configuration + # efficiency, they will need to switch off on the various + # targets to configure just the directories needed for that + # target. + # + # In the long run, it would be better to configure based on + # the output of gcc --print-multi-lib, but, to do that, we + # would have to build gcc before configuring newlib. + # + # Default to including the single-float directories. + if [ x$enable_single_float = x ]; then + enable_single_float=yes + fi + if [ x$enable_single_float = xyes ]; then + multidirs="soft-float single el eb mips1 mips3 soft-float/el soft-float/eb soft-float/mips1 soft-float/mips3 soft-float/el/mips1 soft-float/el/mips3 soft-float/eb/mips1 soft-float/eb/mips3 single/el single/eb single/mips1 single/mips3 single/el/mips1 single/el/mips3 single/eb/mips1 single/eb/mips3 el/mips1 el/mips3 eb/mips1 eb/mips3" + else + multidirs="soft-float el eb mips1 mips3 soft-float/el soft-float/eb soft-float/mips1 soft-float/mips3 soft-float/el/mips1 soft-float/el/mips3 soft-float/eb/mips1 soft-float/eb/mips3 el/mips1 el/mips3 eb/mips1 eb/mips3" + fi + ;; +powerpc-*-eabiaix*) + multidirs="soft-float relocatable little-endian call-sysv little-endian/call-sysv relocatable/little-endian relocatable/call-sysv relocatable/little-endian/call-sysv soft-float/relocatable soft-float/little-endian soft-float/call-sysv soft-float/little-endian/call-sysv soft-float/relocatable/little-endian soft-float/relocatable/call-sysv soft-float/relocatable/little-endian/call-sysv";; + ;; +powerpc-*-eabi* | powerpc-*-elf* | powerpc-*-sysv4*) + multidirs="soft-float relocatable little-endian call-aix little-endian/call-aix relocatable/little-endian relocatable/call-aix relocatable/little-endian/call-aix soft-float/relocatable soft-float/little-endian soft-float/call-aix soft-float/little-endian/call-aix soft-float/relocatable/little-endian soft-float/relocatable/call-aix soft-float/relocatable/little-endian/call-aix";; + ;; +powerpcle-*-eabi* | powerpcle-*-elf* | powerpcle-*-sysv4*) + multidirs="soft-float relocatable big-endian call-aix big-endian/call-aix relocatable/big-endian relocatable/call-aix relocatable/big-endian/call-aix soft-float/relocatable soft-float/big-endian soft-float/call-aix soft-float/big-endian/call-aix soft-float/relocatable/big-endian soft-float/relocatable/call-aix soft-float/relocatable/big-endian/call-aix";; + ;; +*) + multidirs= + ;; +esac + +# We must freshly configure each subdirectory. This bit of code is +# actually partially stolen from the main configure script. FIXME. + +if [ -n "${multidirs}" ] && [ -z "${norecursion}" ]; then + for dir in ${multidirs}; do + + if [ -d ${dir} ]; then true; else mkdir ${dir}; fi + + dotdot=../`echo ${dir} | sed -e 's|[^/]||g' -e 's|/|../|g'` + + case ${srcdir} in + ".") + echo Building symlink tree in `pwd`/${dir} + rm -f tmpconfig + cat >tmpconfig <<\EOF +#!/bin/sh +for f in `ls -a $1`; do + if [ -d $1$f ]; then + found= + for i in $2; do + if [ "$f" = "$i" ]; then + found=yes + fi + done + if [ -z "${found}" ]; then + if [ -d $f ]; then true; else mkdir $f; fi + (cd $f; ../$0 ../$1$f/ "$2") + fi + else + rm -f $f + ln -s $1$f . + fi +done +EOF + chmod +x tmpconfig + (cd ${dir}; + ${dotdot}tmpconfig ${dotdot} ". .. CVS tmpconfig ${multidirs}") + rm -f tmpconfig + srcdiroption= + ;; + *) + case "${srcdir}" in + /*) # absolute path + newsrcdir=${srcdir}/${configdir} + ;; + *) # otherwise relative + newsrcdir=${dotdot}${srcdir}/${configdir} + ;; + esac + srcdiroption="-srcdir=${newsrcdir}" + ;; + esac + + case "${progname}" in + /*) recprog=${progname} ;; + *) recprog=${dotdot}${progname} ;; + esac + + POPDIR=${PWD=`pwd`} + cd ${dir} + if eval ${config_shell} ${recprog} ${verbose} \ + --with-multisubdir=${dir} \ + ${buildopt} --host=${host_alias} --target=${target_alias} \ + ${prefixoption} ${tmpdiroption} ${exec_prefixoption} \ + ${srcdiroption} ${program_prefixoption} ${program_suffixoption} \ + ${program_transform_nameoption} ${site_option} ${withoptions} \ + ${withoutoptions} ${enableoptions} ${disableoptions} \ + ${cache_file_option} ${removing} ${other_options} ${redirect} ; then + true + else + exit 1 + fi + + cd ${POPDIR} + + done +fi + +fi # ${enable_multilib = yes -a -z ${with_multisubdir} diff --git a/cfg-ml-pos.in b/cfg-ml-pos.in new file mode 100644 index 00000000000..c0798a38c35 --- /dev/null +++ b/cfg-ml-pos.in @@ -0,0 +1,113 @@ +# Configure fragment invoked in the post-target section for subdirs +# wanting multilib support. +# The intent is to keep as much of this in one place as possible (and out +# of each subdirectory, eg: newlib, libio, etc.) until the right way to do +# this (ha ha) is decided upon. + +# Only do this if --enable-multilib. + +if [ "${enable_multilib}" = yes ]; then + +if [ -z "${with_multisubdir}" ]; then + multisubdir= +else + multisubdir="/${with_multisubdir}" + # FIXME: following line needs testing in multilevel dir (eg: m68k). + dotdot=`echo ${multisubdir} | sed -e 's:/[^/]*:../:g'` + sed -e "s:^TOP[ ]*=[ ]*\([./]*\)[ ]*$:TOP = ${dotdot}\1:" \ + -e "s:^MULTITOP[ ]*=[ ]*\([./]*\)[ ]*$:MULTITOP = ${dotdot}\1:" \ + ${Makefile} > Makefile.tem + rm -f ${Makefile} + mv Makefile.tem ${Makefile} +fi + +# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile) +# and lists the subdirectories to recurse into. MULTISUBDIR is non-empty in +# each cpu subdirectory's Makefile (eg: newlib/h8300h/Makefile) and is the +# installed subdirectory name with a trailing '/'. +# XXX_MULTI is a set of helpers for all, install, etc. +# Makefile.in is free to override them since these are prepended to the top. + +cat > Multi.tem < Makefile.tem +rm -f Multi.tem ${Makefile} +mv Makefile.tem ${Makefile} + +# Add default definitions for all, install, clean, etc. +# if the Makefile uses them. + +if grep ALL_MULTI ${Makefile} >/dev/null 2>/dev/null +then + cat > Multi.tem < Makefile.tem + rm -f Multi.tem ${Makefile} + mv Makefile.tem ${Makefile} + + cat > Multi.tem <<\EOF + +# FIXME: We use --print-multi-lib but the others don't. Standardize. +all-multi: + if [ -z "$(MULTIDIRS)" ]; then \ + true; \ + else \ + rootpre=`pwd`/; export rootpre; \ + srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ + compiler="$(CC)"; \ + for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \ + dir=`echo $$i | sed -e 's/;.*$$//'`; \ + if [ "$${dir}" = "." ]; then \ + true; \ + else \ + if [ -d $${dir} ]; then \ + flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ + if (cd $${dir}; $(MAKE) $(FLAGS_TO_PASS) \ + CFLAGS="$(CFLAGS) $${flags}" \ + CXXFLAGS="$(CXXFLAGS) $${flags}" \ + LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ + LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \ + all); then \ + true; \ + else \ + exit 1; \ + fi; \ + else true; \ + fi; \ + fi; \ + done; \ + fi + +install-multi mostlyclean-multi clean-multi distclean-multi realclean-multi: + if [ -n "$(MULTIDIRS)" ]; then \ + rootpre=`pwd`/; export rootpre; \ + srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ + $(MAKE) DO=`echo $@ | sed -e 's/-multi$$//'` DODIRS="$(MULTIDIRS)" $(FLAGS_TO_PASS) multi_subdir_do; \ + else true; fi + +multi_subdir_do: + for i in $(DODIRS); do \ + if [ -f ./$$i/Makefile ] ; then \ + if (cd ./$$i; $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; \ + then true ; \ + else exit 1 ; \ + fi ; \ + else true; \ + fi ; \ + done +EOF + + cat ${Makefile} Multi.tem > Makefile.tem + rm -f ${Makefile} Multi.tem + mv Makefile.tem ${Makefile} +fi + +fi # "${enable_multilib}" = yes diff --git a/config-com.multi b/config-com.multi deleted file mode 100644 index bd075ce05a6..00000000000 --- a/config-com.multi +++ /dev/null @@ -1,209 +0,0 @@ -# Configure fragment invoked in the common section for subdirs -# wanting multilib support. -# -# The common section was chosen because xiberty clobbers $srcdir in the -# common section of its configure.in. -# -# The intent is to keep as much of this in one place as possible (and out -# of each subdirectory, eg: newlib, libio, etc.) until the right way to do -# this (ha ha) is decided upon. -# -# This is where a target selects what multilib directories to build. -# It is advisable to support a few --enable/--disable options to let the -# user select which libraries s/he really wants. -# -# FIXME: Multilib is currently disabled by default for everything other than -# newlib. It is up to each target to turn on multilib support for the other -# libraries as desired. -# -# FIXME: It would be better if we could use the --print-multi-lib switch to -# gcc to get the list of directories to build, but at this point the compiler -# has not been built. - -# Only do this if --enable-multilib. -# And only if at the top level, not a multilib subdirectory. - -if [ "${enable_multilib}" = yes -a -z "${with_multisubdir}" ]; then - -# Doing this in the common section means ${target} isn't set yet, so compute -# a copy here. This is a bit kludgey, but again the current (short term) goal -# is to be as unobtrusive (sp?) to the rest of the sources as possible. - -if result=`${config_shell} ${configsub} ${target_alias}` ; then - true -else - echo "Unrecognized target system name ${target_alias}." 1>&2 - exit 1 -fi -target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` -target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'` -target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'` -target=${target_cpu}-${target_vendor}-${target_os} - -# FIXME: Perhaps we can do something like the following instead. -# Fetch from gcc the multilib directories to use if we can. -# if [ -f ${srcdir}/../gcc/genmultilib -a -f ../gcc/Makefile ]; then -# options=`grep "^MULTILIB_OPTIONS" ../gcc/Makefile | sed -e 's/^.*=//'` -# multidirs=`${srcdir}/../gcc/genmultilib "$options" | \ -# sed -e 's/^#define.*//' -e 's/^[.].*//' -e 's/".*//' -e 's/ .*//'` -# else -# multidirs="" -# fi - -case "${target}" in -# start-sanitize-arc -arc-sbp-elf*) - if [ x$enable_biendian = xyes ] - then - multidirs="be host graphics audio be/host be/graphics be/audio" - else - multidirs="host graphics audio" - fi - ;; -arc-*-*) - multidirs="be" - ;; -# end-sanitize-arc -hppa*-*-*) - multidirs="soft-float" - ;; -m68*-*-*) - multidirs="m68000 m68020 m68881 msoft-float m68000/m68881 m68000/msoft-float m68020/m68881 m68020/msoft-float" - ;; -i960-*-*) - multidirs=float - ;; -sparclite-*-* | sparclitefrw*-*-*) - multidirs="mfpu msoft-float mflat mno-flat mfpu/mflat mfpu/mno-flat msoft-float/mflat msoft-float/mno-flat" - ;; -sparc-*-* | sparcfrw*-*-*) - multidirs="soft v8 soft/v8" - ;; -z8k-*-*) - multidirs="z8001" - ;; -h8300-*-*) - multidirs=h8300h - ;; -h8500-*-*) - multidirs="mbig msmall mcompact mmedium" - ;; -sh-*-*) - multidirs="ml" - ;; -mips*-*-*) - # Note that not all of these will be built for a particular - # target; what is build depends upon the output gcc - # --print-multi-lib. We configure them all, to make our life - # simpler here. If somebody cares about configuration - # efficiency, they will need to switch off on the various - # targets to configure just the directories needed for that - # target. - # - # In the long run, it would be better to configure based on - # the output of gcc --print-multi-lib, but, to do that, we - # would have to build gcc before configuring newlib. - # - # Default to including the single-float directories. - if [ x$enable_single_float = x ]; then - enable_single_float=yes - fi - if [ x$enable_single_float = xyes ]; then - multidirs="soft-float single el eb mips1 mips3 soft-float/el soft-float/eb soft-float/mips1 soft-float/mips3 soft-float/el/mips1 soft-float/el/mips3 soft-float/eb/mips1 soft-float/eb/mips3 single/el single/eb single/mips1 single/mips3 single/el/mips1 single/el/mips3 single/eb/mips1 single/eb/mips3 el/mips1 el/mips3 eb/mips1 eb/mips3" - else - multidirs="soft-float el eb mips1 mips3 soft-float/el soft-float/eb soft-float/mips1 soft-float/mips3 soft-float/el/mips1 soft-float/el/mips3 soft-float/eb/mips1 soft-float/eb/mips3 el/mips1 el/mips3 eb/mips1 eb/mips3" - fi - ;; -powerpc-*-eabiaix*) - multidirs="soft-float relocatable little-endian call-sysv little-endian/call-sysv relocatable/little-endian relocatable/call-sysv relocatable/little-endian/call-sysv soft-float/relocatable soft-float/little-endian soft-float/call-sysv soft-float/little-endian/call-sysv soft-float/relocatable/little-endian soft-float/relocatable/call-sysv soft-float/relocatable/little-endian/call-sysv";; - ;; -powerpc-*-eabi* | powerpc-*-elf* | powerpc-*-sysv4*) - multidirs="soft-float relocatable little-endian call-aix little-endian/call-aix relocatable/little-endian relocatable/call-aix relocatable/little-endian/call-aix soft-float/relocatable soft-float/little-endian soft-float/call-aix soft-float/little-endian/call-aix soft-float/relocatable/little-endian soft-float/relocatable/call-aix soft-float/relocatable/little-endian/call-aix";; - ;; -powerpcle-*-eabi* | powerpcle-*-elf* | powerpcle-*-sysv4*) - multidirs="soft-float relocatable big-endian call-aix big-endian/call-aix relocatable/big-endian relocatable/call-aix relocatable/big-endian/call-aix soft-float/relocatable soft-float/big-endian soft-float/call-aix soft-float/big-endian/call-aix soft-float/relocatable/big-endian soft-float/relocatable/call-aix soft-float/relocatable/big-endian/call-aix";; - ;; -*) - multidirs= - ;; -esac - -# We must freshly configure each subdirectory. This bit of code is -# actually partially stolen from the main configure script. FIXME. - -if [ -n "${multidirs}" ] && [ -z "${norecursion}" ]; then - for dir in ${multidirs}; do - - if [ -d ${dir} ]; then true; else mkdir ${dir}; fi - - dotdot=../`echo ${dir} | sed -e 's|[^/]||g' -e 's|/|../|g'` - - case ${srcdir} in - ".") - echo Building symlink tree in `pwd`/${dir} - rm -f tmpconfig - cat >tmpconfig <<\EOF -#!/bin/sh -for f in `ls -a $1`; do - if [ -d $1$f ]; then - found= - for i in $2; do - if [ "$f" = "$i" ]; then - found=yes - fi - done - if [ -z "${found}" ]; then - if [ -d $f ]; then true; else mkdir $f; fi - (cd $f; ../$0 ../$1$f/ "$2") - fi - else - rm -f $f - ln -s $1$f . - fi -done -EOF - chmod +x tmpconfig - (cd ${dir}; - ${dotdot}tmpconfig ${dotdot} ". .. CVS tmpconfig ${multidirs}") - rm -f tmpconfig - srcdiroption= - ;; - *) - case "${srcdir}" in - /*) # absolute path - newsrcdir=${srcdir}/${configdir} - ;; - *) # otherwise relative - newsrcdir=${dotdot}${srcdir}/${configdir} - ;; - esac - srcdiroption="-srcdir=${newsrcdir}" - ;; - esac - - case "${progname}" in - /*) recprog=${progname} ;; - *) recprog=${dotdot}${progname} ;; - esac - - POPDIR=${PWD=`pwd`} - cd ${dir} - if eval ${config_shell} ${recprog} ${verbose} \ - --with-multisubdir=${dir} \ - ${buildopt} --host=${host_alias} --target=${target_alias} \ - ${prefixoption} ${tmpdiroption} ${exec_prefixoption} \ - ${srcdiroption} ${program_prefixoption} ${program_suffixoption} \ - ${program_transform_nameoption} ${site_option} ${withoptions} \ - ${withoutoptions} ${enableoptions} ${disableoptions} \ - ${cache_file_option} ${removing} ${other_options} ${redirect} ; then - true - else - exit 1 - fi - - cd ${POPDIR} - - done -fi - -fi # ${enable_multilib = yes -a -z ${with_multisubdir} diff --git a/config-pos.multi b/config-pos.multi deleted file mode 100644 index c0798a38c35..00000000000 --- a/config-pos.multi +++ /dev/null @@ -1,113 +0,0 @@ -# Configure fragment invoked in the post-target section for subdirs -# wanting multilib support. -# The intent is to keep as much of this in one place as possible (and out -# of each subdirectory, eg: newlib, libio, etc.) until the right way to do -# this (ha ha) is decided upon. - -# Only do this if --enable-multilib. - -if [ "${enable_multilib}" = yes ]; then - -if [ -z "${with_multisubdir}" ]; then - multisubdir= -else - multisubdir="/${with_multisubdir}" - # FIXME: following line needs testing in multilevel dir (eg: m68k). - dotdot=`echo ${multisubdir} | sed -e 's:/[^/]*:../:g'` - sed -e "s:^TOP[ ]*=[ ]*\([./]*\)[ ]*$:TOP = ${dotdot}\1:" \ - -e "s:^MULTITOP[ ]*=[ ]*\([./]*\)[ ]*$:MULTITOP = ${dotdot}\1:" \ - ${Makefile} > Makefile.tem - rm -f ${Makefile} - mv Makefile.tem ${Makefile} -fi - -# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile) -# and lists the subdirectories to recurse into. MULTISUBDIR is non-empty in -# each cpu subdirectory's Makefile (eg: newlib/h8300h/Makefile) and is the -# installed subdirectory name with a trailing '/'. -# XXX_MULTI is a set of helpers for all, install, etc. -# Makefile.in is free to override them since these are prepended to the top. - -cat > Multi.tem < Makefile.tem -rm -f Multi.tem ${Makefile} -mv Makefile.tem ${Makefile} - -# Add default definitions for all, install, clean, etc. -# if the Makefile uses them. - -if grep ALL_MULTI ${Makefile} >/dev/null 2>/dev/null -then - cat > Multi.tem < Makefile.tem - rm -f Multi.tem ${Makefile} - mv Makefile.tem ${Makefile} - - cat > Multi.tem <<\EOF - -# FIXME: We use --print-multi-lib but the others don't. Standardize. -all-multi: - if [ -z "$(MULTIDIRS)" ]; then \ - true; \ - else \ - rootpre=`pwd`/; export rootpre; \ - srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ - compiler="$(CC)"; \ - for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \ - dir=`echo $$i | sed -e 's/;.*$$//'`; \ - if [ "$${dir}" = "." ]; then \ - true; \ - else \ - if [ -d $${dir} ]; then \ - flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ - if (cd $${dir}; $(MAKE) $(FLAGS_TO_PASS) \ - CFLAGS="$(CFLAGS) $${flags}" \ - CXXFLAGS="$(CXXFLAGS) $${flags}" \ - LIBCFLAGS="$(LIBCFLAGS) $${flags}" \ - LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \ - all); then \ - true; \ - else \ - exit 1; \ - fi; \ - else true; \ - fi; \ - fi; \ - done; \ - fi - -install-multi mostlyclean-multi clean-multi distclean-multi realclean-multi: - if [ -n "$(MULTIDIRS)" ]; then \ - rootpre=`pwd`/; export rootpre; \ - srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \ - $(MAKE) DO=`echo $@ | sed -e 's/-multi$$//'` DODIRS="$(MULTIDIRS)" $(FLAGS_TO_PASS) multi_subdir_do; \ - else true; fi - -multi_subdir_do: - for i in $(DODIRS); do \ - if [ -f ./$$i/Makefile ] ; then \ - if (cd ./$$i; $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; \ - then true ; \ - else exit 1 ; \ - fi ; \ - else true; \ - fi ; \ - done -EOF - - cat ${Makefile} Multi.tem > Makefile.tem - rm -f ${Makefile} Multi.tem - mv Makefile.tem ${Makefile} -fi - -fi # "${enable_multilib}" = yes