* elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
[platform/upstream/binutils.git] / Makefile.in
index 986cbd5..47393b2 100644 (file)
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 #
 
+# Tell GNU make 3.79 not to run the top level in parallel.  This 
+# prevents contention for $builddir/$target/config.cache, as well
+# as minimizing scatter in file system caches.
+NOTPARALLEL = .NOTPARALLEL
+$(NOTPARALLEL):
+
 srcdir = .
 
 prefix = /usr/local
@@ -143,7 +149,7 @@ M4 = `if [ -f $$r/m4/m4 ] ; \
 
 # For an installed makeinfo, we require it to be from texinfo 4 or
 # higher, else we use the "missing" dummy.
-MAKEINFO = `if [ -f $$r/texinfo/makeinfo/Makefile ] ; \
+MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \
        then echo $$r/texinfo/makeinfo/makeinfo ; \
        else if (makeinfo --version \
          | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \
@@ -179,8 +185,16 @@ TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib libio librx libstd
 # Changed by configure to $(target_alias) if cross.
 TARGET_SUBDIR = .
 
-# This is set by the configure script to the arguments passed to configure.
-CONFIG_ARGUMENTS = 
+BUILD_CONFIGDIRS = libiberty
+BUILD_SUBDIR = .
+
+# This is set by the configure script to the arguments to use when configuring
+# directories built for the target.
+TARGET_CONFIGARGS = 
+
+# This is set by the configure script to the arguments to use when configuring
+# directories built for the build system.
+BUILD_CONFIGARGS =
 
 # This is set by configure to REALLY_SET_LIB_PATH if --enable-shared
 # was used.
@@ -489,6 +503,18 @@ EXTRA_GCC_FLAGS = \
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
 
 # This is a list of the targets for all of the modules which are compiled
+# using the build machine's native compiler.  Configure edits the second
+# macro for build!=host builds.
+ALL_BUILD_MODULES_LIST = \
+       all-build-libiberty
+ALL_BUILD_MODULES = 
+
+# This is a list of the configure targets for all of the modules which
+# are compiled using the native tools.
+CONFIGURE_BUILD_MODULES = \
+       configure-build-libiberty
+
+# This is a list of the targets for all of the modules which are compiled
 # using $(FLAGS_TO_PASS).
 ALL_MODULES = \
        all-apache \
@@ -954,6 +980,7 @@ CLEAN_X11_MODULES = \
 # The target built for a native build.
 .PHONY: all.normal
 all.normal: \
+       $(ALL_BUILD_MODULES) \
        $(ALL_MODULES) \
        $(ALL_X11_MODULES) \
        $(ALL_TARGET_MODULES) \
@@ -1097,8 +1124,11 @@ clean-target-libgcc:
 
 # Check target.
 
-.PHONY: check
-check: $(CHECK_MODULES) \
+.PHONY: check do-check
+check:
+       $(MAKE) do-check NOTPARALLEL=parallel-ok
+
+do-check: $(CHECK_MODULES) \
        $(CHECK_TARGET_MODULES) \
        $(CHECK_X11_MODULES) \
        check-gcc
@@ -1195,6 +1225,106 @@ gcc-no-fixedincludes:
          mv gcc/tmp-include gcc/include 2>/dev/null; \
        else true; fi
 
+# This rule is used to build the modules which are built with the
+# build machine's native compiler.
+.PHONY: $(ALL_BUILD_MODULES)
+$(ALL_BUILD_MODULES):
+       dir=`echo $@ | sed -e 's/all-build-//'`; \
+       if [ -f ./$${dir}/Makefile ] ; then \
+         r=`pwd`; export r; \
+         s=`cd $(srcdir); pwd`; export s; \
+         (cd $(BUILD_SUBDIR)/$${dir} && $(MAKE) all); \
+       else \
+         true; \
+       fi
+
+# This rule is used to configure the modules which are built with the
+# native tools.
+.PHONY: $(CONFIGURE_BUILD_MODULES)
+$(CONFIGURE_BUILD_MODULES):
+       @dir=`echo $@ | sed -e 's/configure-build-//'`; \
+       if [ ! -d $(BUILD_SUBDIR) ]; then \
+         true; \
+       elif [ -f $(BUILD_SUBDIR)/$${dir}/Makefile ] ; then \
+         true; \
+       elif echo " $(BUILD_CONFIGDIRS) " | grep " $${dir} " >/dev/null 2>&1; then \
+         if [ -d $(srcdir)/$${dir} ]; then \
+           [ -d $(BUILD_SUBDIR)/$${dir} ] || mkdir $(BUILD_SUBDIR)/$${dir};\
+           r=`pwd`; export r; \
+           s=`cd $(srcdir); pwd`; export s; \
+           AR="$(AR_FOR_BUILD)"; export AR; \
+           AS="$(AS_FOR_BUILD)"; export AS; \
+           CC="$(CC_FOR_BUILD)"; export CC; \
+           CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+           CXX="$(CXX_FOR_BUILD)"; export CXX; \
+           CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+           GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+           DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
+           LD="$(LD_FOR_BUILD)"; export LD; \
+            LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
+           NM="$(NM_FOR_BUILD)"; export NM; \
+           RANLIB="$(RANLIB_FOR_BUILD)"; export RANLIB; \
+           WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \
+           echo Configuring in $(BUILD_SUBDIR)/$${dir}; \
+           cd "$(BUILD_SUBDIR)/$${dir}" || exit 1; \
+           case $(srcdir) in \
+           /* | [A-Za-z]:[\\/]*) \
+             topdir=$(srcdir) ;; \
+           *) \
+             case "$(BUILD_SUBDIR)" in \
+             .) topdir="../$(srcdir)" ;; \
+             *) topdir="../../$(srcdir)" ;; \
+             esac ;; \
+           esac; \
+           if [ "$(srcdir)" = "." ] ; then \
+             if [ "$(BUILD_SUBDIR)" != "." ] ; then \
+               if $(SHELL) $$s/symlink-tree $${topdir}/$${dir} "no-such-file" ; then \
+                 if [ -f Makefile ]; then \
+                   if $(MAKE) distclean; then \
+                     true; \
+                   else \
+                     exit 1; \
+                   fi; \
+                 else \
+                   true; \
+                 fi; \
+               else \
+                 exit 1; \
+               fi; \
+             else \
+               true; \
+             fi; \
+             srcdiroption="--srcdir=."; \
+             libsrcdir="."; \
+           else \
+             srcdiroption="--srcdir=$${topdir}/$${dir}"; \
+             libsrcdir="$$s/$${dir}"; \
+           fi; \
+           if [ -f $${libsrcdir}/configure ] ; then \
+             rm -f no-such-file skip-this-dir; \
+             CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+               $(BUILD_CONFIGARGS) $${srcdiroption} \
+               --with-build-subdir="$(BUILD_SUBDIR)"; \
+           else \
+             rm -f no-such-file skip-this-dir; \
+             CONFIG_SITE=no-such-file $(SHELL) $$s/configure \
+               $(BUILD_CONFIGARGS) $${srcdiroption} \
+               --with-build-subdir="$(BUILD_SUBDIR)"; \
+           fi || exit 1; \
+           if [ -f skip-this-dir ] ; then \
+             sh skip-this-dir; \
+             rm -f skip-this-dir; \
+             cd ..; rmdir $${dir} || true; \
+           else \
+             true; \
+           fi; \
+         else \
+           true; \
+         fi; \
+       else \
+         true; \
+       fi
+
 # This rule is used to build the modules which use FLAGS_TO_PASS.  To
 # build a target all-X means to cd to X and make all.
 #
@@ -1339,12 +1469,12 @@ $(CONFIGURE_TARGET_MODULES):
            if [ -f $${libsrcdir}/configure ] ; then \
              rm -f no-such-file skip-this-dir; \
              CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
-               $(CONFIG_ARGUMENTS) $${srcdiroption} \
+               $(TARGET_CONFIGARGS) $${srcdiroption} \
                --with-target-subdir="$(TARGET_SUBDIR)"; \
            else \
              rm -f no-such-file skip-this-dir; \
              CONFIG_SITE=no-such-file $(SHELL) $$s/configure \
-               $(CONFIG_ARGUMENTS) $${srcdiroption} \
+               $(TARGET_CONFIGARGS) $${srcdiroption} \
                --with-target-subdir="$(TARGET_SUBDIR)"; \
            fi; \
            if [ -f skip-this-dir ] ; then \
@@ -1635,6 +1765,9 @@ all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libib
 check-target-libio: all-target-libstdc++
 all-libgui: all-tcl all-tk all-tcl8.1 all-tk8.1 all-itcl
 all-libiberty:
+
+all-build-libiberty: configure-build-libiberty
+
 configure-target-libffi: $(ALL_GCC_C) 
 all-target-libffi: configure-target-libffi
 configure-target-libjava: $(ALL_GCC_CXX) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-libffi
@@ -1675,7 +1808,7 @@ all-send-pr: all-prms
 all-shellutils:
 all-sid: all-tcl all-tk
 all-sim: all-libiberty all-bfd all-opcodes all-readline all-cgen
-all-snavigator: all-tcl all-tk all-itcl all-db all-grep all-libgui
+all-snavigator: all-tcl all-tk all-itcl all-tix all-db all-grep all-libgui
 all-tar: all-libiberty
 all-tcl:
 all-tcl8.1:
@@ -1786,13 +1919,17 @@ taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(SUPPORT_FILES)"
-       $(MAKE) -f Makefile.in do-tar-bz2 \
+       $(MAKE) -f Makefile.in do-tar \
+               TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
+               MD5PROG="$(MD5PROG)" \
+               SUPPORT_FILES="$(SUPPORT_FILES)"
+       $(MAKE) -f Makefile.in do-bz2 \
                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(SUPPORT_FILES)"
 
-.PHONY: gdb-taz
-gdb-taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
+.PHONY: gdb-tar
+gdb-tar: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
        $(MAKE) -f Makefile.in do-proto-toplev \
                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
                MD5PROG="$(MD5PROG)" \
@@ -1805,7 +1942,18 @@ gdb-taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(SUPPORT_FILES)"
-       $(MAKE) -f Makefile.in do-tar-bz2 \
+       $(MAKE) -f Makefile.in do-tar \
+               TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
+               MD5PROG="$(MD5PROG)" \
+               SUPPORT_FILES="$(SUPPORT_FILES)"
+
+.PHONY: gdb-taz
+gdb-taz: gdb-tar $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
+       $(MAKE) -f Makefile.in gdb-tar \
+               TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
+               MD5PROG="$(MD5PROG)" \
+               SUPPORT_FILES="$(SUPPORT_FILES)"
+       $(MAKE) -f Makefile.in do-bz2 \
                TOOL=$(TOOL) PACKAGE="$(PACKAGE)" VER="$(VER)" \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(SUPPORT_FILES)"
@@ -1864,15 +2012,25 @@ do-proto-toplev: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
        else true; fi
        chmod -R og=u . || chmod og=u `find . -print`
        #
+       # Create .gmo files from .po files.
+       for f in `find . -name '*.po' -type f -print`; do \
+            msgfmt -o `echo $$f | sed -e 's/\.po$$/.gmo/'` $$f ; \
+       done
+       #
        -rm -f $(PACKAGE)-$(VER)
        ln -s proto-toplev $(PACKAGE)-$(VER)
 
-.PHONY: do-tar-bz2
-do-tar-bz2:
-       echo "==> Making $(PACKAGE)-$(VER).tar.bz2"
-       -rm -f $(PACKAGE)-$(VER).tar.bz2
+.PHONY: do-tar
+do-tar:
+       echo "==> Making $(PACKAGE)-$(VER).tar"
+       -rm -f $(PACKAGE)-$(VER).tar
        find $(PACKAGE)-$(VER) -follow -name CVS -prune -o -type f -print \
                | tar cTfh - $(PACKAGE)-$(VER).tar
+
+.PHONY: do-bz2
+do-bz2:
+       echo "==> Bzipping $(PACKAGE)-$(VER).tar.bz2"
+       -rm -f $(PACKAGE)-$(VER).tar.bz2
        $(BZIPPROG) -v -9 $(PACKAGE)-$(VER).tar
 
 .PHONY: do-md5sum
@@ -1936,9 +2094,14 @@ gdb.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
        $(MAKE) -f Makefile.in gdb-taz TOOL=gdb \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
+.PHONY: gdb.tar
+gdb.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
+       $(MAKE) -f Makefile.in gdb-tar TOOL=gdb \
+               MD5PROG="$(MD5PROG)" \
+               SUPPORT_FILES="$(GDB_SUPPORT_DIRS)"
 
-.PHONY: dejagnu.tar.bz2
 DEJAGNU_SUPPORT_DIRS=  tcl expect libiberty
+.PHONY: dejagnu.tar.bz2
 dejagnu.tar.bz2: $(DIST_SUPPORT) $(DEJAGNU_SUPPORT_DIRS) dejagnu
        $(MAKE) -f Makefile.in taz TOOL=dejagnu \
                MD5PROG="$(MD5PROG)" \
@@ -1950,6 +2113,11 @@ gdb+dejagnu.tar.bz2: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb
        $(MAKE) -f Makefile.in gdb-taz TOOL=gdb PACKAGE=gdb+dejagnu \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)"
+.PHONY: gdb+dejagnu.tar
+gdb+dejagnu.tar: $(DIST_SUPPORT) $(GDBD_SUPPORT_DIRS) gdb
+       $(MAKE) -f Makefile.in gdb-tar TOOL=gdb PACKAGE=gdb+dejagnu \
+               MD5PROG="$(MD5PROG)" \
+               SUPPORT_FILES="$(GDBD_SUPPORT_DIRS)"
 
 .PHONY: insight.tar.bz2
 INSIGHT_SUPPORT_DIRS= $(GDB_SUPPORT_DIRS) tcl tk itcl tix libgui
@@ -1957,6 +2125,11 @@ insight.tar.bz2: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
        $(MAKE) -f Makefile.in gdb-taz TOOL=gdb PACKAGE=insight \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
+.PHONY: insight.tar
+insight.tar: $(DIST_SUPPORT) $(GDB_SUPPORT_DIRS) gdb
+       $(MAKE) -f Makefile.in gdb-tar TOOL=gdb PACKAGE=insight \
+               MD5PROG="$(MD5PROG)" \
+               SUPPORT_FILES="$(INSIGHT_SUPPORT_DIRS)"
 
 .PHONY: insight+dejagnu.tar.bz2
 INSIGHTD_SUPPORT_DIRS= $(INSIGHT_SUPPORT_DIRS) expect dejagnu
@@ -1964,6 +2137,11 @@ insight+dejagnu.tar.bz2: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb
        $(MAKE) -f Makefile.in gdb-taz TOOL=gdb PACKAGE="insight+dejagnu" \
                MD5PROG="$(MD5PROG)" \
                SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)"
+.PHONY: insight+dejagnu.tar
+insight+dejagnu.tar: $(DIST_SUPPORT) $(INSIGHTD_SUPPORT_DIRS) gdb
+       $(MAKE) -f Makefile.in gdb-tar TOOL=gdb PACKAGE="insight+dejagnu" \
+               MD5PROG="$(MD5PROG)" \
+               SUPPORT_FILES="$(INSIGHTD_SUPPORT_DIRS)"
 
 .PHONY: newlib.tar.bz2
 NEWLIB_SUPPORT_DIRS=libgloss