X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=Makefile.in;h=d8c5c59f84fefb158c5f0fe047cd08c1339d3d45;hb=1a3a76924b8c2a0eb305c714363ab9c45e13cf2c;hp=959d7305d5179e4638605aeebf373c57fbf3ce3c;hpb=0355c121b2a233e32810ed780e156bfaab7154b6;p=pf3gnuchains%2Fgcc-fork.git diff --git a/Makefile.in b/Makefile.in index 959d7305d51..d8c5c59f84f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,7 +1,7 @@ # # Makefile for directory with subdirs to build. # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -# 1999, 2000 Free Software Foundation +# 1999, 2000, 2001 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -87,6 +87,7 @@ CXXFLAGS = -g -O2 LDFLAGS = LIBCFLAGS = $(CFLAGS) +CFLAGS_FOR_BUILD = $(CFLAGS) CFLAGS_FOR_TARGET = $(CFLAGS) LDFLAGS_FOR_TARGET = LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) @@ -139,9 +140,13 @@ M4 = `if [ -f $$r/m4/m4 ] ; \ then echo $$r/m4/m4 ; \ else echo ${DEFAULT_M4} ; fi` -MAKEINFO = `if [ -f $$r/texinfo/makeinfo/Makefile ] ; \ +# 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/makeinfo ] ; \ then echo $$r/texinfo/makeinfo/makeinfo ; \ - else echo makeinfo ; fi` + else if (makeinfo --version \ + | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \ + then echo makeinfo; else echo $$s/missing makeinfo; fi; fi` # This just becomes part of the MAKEINFO definition passed down to # sub-makes. It lets flags be given on the command line while still @@ -173,8 +178,16 @@ TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib librx winsup opcod # 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. @@ -230,8 +243,10 @@ GCC_FOR_TARGET = $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) AS_FOR_TARGET = ` \ if [ -f $$r/gas/as-new ] ; then \ echo $$r/gas/as-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=as ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(AS); \ else \ t='$(program_transform_name)'; echo as | sed -e 's/x/x/' $$t ; \ @@ -241,8 +256,10 @@ AS_FOR_TARGET = ` \ LD_FOR_TARGET = ` \ if [ -f $$r/ld/ld-new ] ; then \ echo $$r/ld/ld-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=ld ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(LD); \ else \ t='$(program_transform_name)'; echo ld | sed -e 's/x/x/' $$t ; \ @@ -253,7 +270,7 @@ DLLTOOL_FOR_TARGET = ` \ if [ -f $$r/binutils/dlltool ] ; then \ echo $$r/binutils/dlltool ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(DLLTOOL); \ else \ t='$(program_transform_name)'; echo dlltool | sed -e 's/x/x/' $$t ; \ @@ -264,7 +281,7 @@ WINDRES_FOR_TARGET = ` \ if [ -f $$r/binutils/windres ] ; then \ echo $$r/binutils/windres ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(WINDRES); \ else \ t='$(program_transform_name)'; echo windres | sed -e 's/x/x/' $$t ; \ @@ -275,7 +292,7 @@ AR_FOR_TARGET = ` \ if [ -f $$r/binutils/ar ] ; then \ echo $$r/binutils/ar ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(AR); \ else \ t='$(program_transform_name)'; echo ar | sed -e 's/x/x/' $$t ; \ @@ -286,8 +303,8 @@ RANLIB_FOR_TARGET = ` \ if [ -f $$r/binutils/ranlib ] ; then \ echo $$r/binutils/ranlib ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ - if [ x"$(RANLIB)" != x ]; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ + if [ x'$(RANLIB)' != x ]; then \ echo $(RANLIB); \ else \ echo ranlib; \ @@ -300,8 +317,10 @@ RANLIB_FOR_TARGET = ` \ NM_FOR_TARGET = ` \ if [ -f $$r/binutils/nm-new ] ; then \ echo $$r/binutils/nm-new ; \ + elif [ -f $$r/gcc/xgcc ]; then \ + $(CC_FOR_TARGET) -print-prog-name=nm ; \ else \ - if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ echo $(NM); \ else \ t='$(program_transform_name)'; echo nm | sed -e 's/x/x/' $$t ; \ @@ -443,7 +462,7 @@ EXTRA_TARGET_FLAGS = \ 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \ 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \ 'NM=$$(NM_FOR_TARGET)' \ - "`echo 'RANLIB=$(RANLIB)' | sed -e s/.*=$$/XFOO=/`" \ + 'RANLIB=$$(RANLIB_FOR_TARGET)' \ 'WINDRES=$$(WINDRES_FOR_TARGET)' TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) @@ -467,6 +486,7 @@ EXTRA_GCC_FLAGS = \ "`echo 'RANLIB=$(RANLIB)' | sed -e s/.*=$$/XFOO=/`" \ 'WINDRES=$$(WINDRES_FOR_TARGET)' \ "GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \ + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s/.*=$$/XFOO=/`" \ "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s/.*=$$/XFOO=/`" \ "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s/.*=$$/XFOO=/`" \ @@ -481,6 +501,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 \ @@ -537,6 +569,7 @@ ALL_MODULES = \ all-sed \ all-send-pr \ all-shellutils \ + all-sid \ all-sim \ all-snavigator \ all-tar \ @@ -614,6 +647,7 @@ CROSS_CHECK_MODULES = \ check-send-pr \ check-shellutils \ check-snavigator \ + check-sid \ check-sim \ check-tar \ check-tcl \ @@ -690,6 +724,7 @@ INSTALL_MODULES = \ install-sed \ install-send-pr \ install-shellutils \ + install-sid \ install-sim \ install-snavigator \ install-tar \ @@ -881,6 +916,7 @@ CLEAN_MODULES = \ clean-sed \ clean-send-pr \ clean-shellutils \ + clean-sid \ clean-sim \ clean-snavigator \ clean-tar \ @@ -931,6 +967,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) \ @@ -964,16 +1001,15 @@ $(DO_X): case $$i in \ gcc) \ for flag in $(EXTRA_GCC_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'|"`; \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ ;; \ *) \ for flag in $(EXTRA_HOST_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'|"`; \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ ;; \ esac ; \ - export AR AS CC CXX LD NM RANLIB DLLTOOL WINDRES; \ if (cd ./$$i; \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ @@ -990,9 +1026,8 @@ $(DO_X): for i in $(TARGET_CONFIGDIRS) -dummy-; do \ if [ -f $(TARGET_SUBDIR)/$$i/Makefile ]; then \ for flag in $(EXTRA_TARGET_FLAGS); do \ - eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'|"`; \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ done; \ - export AR AS CC CXX LD NM RANLIB DLLTOOL WINDRES; \ if (cd $(TARGET_SUBDIR)/$$i; \ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ @@ -1179,6 +1214,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. # @@ -1203,7 +1338,7 @@ $(ALL_MODULES) all-gui all-libproc: .PHONY: $(CHECK_MODULES) $(NATIVE_CHECK_MODULES) $(CROSS_CHECK_MODULES) $(NATIVE_CHECK_MODULES): - @if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \ + @if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \ dir=`echo $@ | sed -e 's/check-//'`; \ if [ -f ./$${dir}/Makefile ] ; then \ r=`pwd`; export r; \ @@ -1324,12 +1459,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 || exit 1; \ if [ -f skip-this-dir ] ; then \ @@ -1520,7 +1655,7 @@ check-c++: s=`cd $(srcdir); pwd`; export s; \ $(SET_LIB_PATH) \ (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \ - $(MAKE) check-target-libstdc++-v3 \ + $(MAKE) check-target-libstdc++-v3; \ else \ true; \ fi @@ -1576,7 +1711,7 @@ all-bash: all-bfd: all-libiberty all-intl all-binutils: all-libiberty all-opcodes all-bfd all-flex all-bison all-byacc all-intl all-bison: all-texinfo -configure-target-boehm-gc: $(ALL_GCC_CXX) configure-target-qthreads +configure-target-boehm-gc: $(ALL_GCC_C) configure-target-qthreads all-target-boehm-gc: configure-target-boehm-gc configure-target-bsp: $(ALL_GCC_C) all-target-bsp: configure-target-bsp @@ -1608,7 +1743,7 @@ GDB_TK = all-tk all-tcl all-itcl all-tix all-libgui all-gdb: all-libiberty all-opcodes all-bfd all-mmalloc all-readline all-bison all-byacc all-sim $(gdbnlmrequirements) $(GDB_TK) all-gettext: all-gnuserv: -configure-target-gperf: $(ALL_GCC_C) +configure-target-gperf: $(ALL_GCC_CXX) all-target-gperf: configure-target-gperf all-target-libiberty all-target-libstdc++-v3 all-gprof: all-libiberty all-bfd all-opcodes all-intl all-grep: all-libiberty @@ -1627,9 +1762,12 @@ configure-target-libgloss: $(ALL_GCC) all-target-libgloss: configure-target-libgloss configure-target-newlib 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 +configure-target-libjava: $(ALL_GCC_C) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-libffi all-target-libjava: configure-target-libjava all-fastjar all-target-zlib all-target-boehm-gc all-target-qthreads all-target-libffi configure-target-librx: $(ALL_GCC_C) all-target-librx: configure-target-librx @@ -1663,6 +1801,7 @@ all-recode: all-libiberty all-sed: all-libiberty 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-tar: all-libiberty @@ -1684,14 +1823,15 @@ all-zip: all-zlib: configure-target-zlib: $(ALL_GCC_C) all-target-zlib: configure-target-zlib -all-fastjar: all-zlib +all-fastjar: all-zlib all-libiberty configure-target-fastjar: configure-target-zlib -all-target-fastjar: configure-target-fastjar all-target-zlib +all-target-fastjar: configure-target-fastjar all-target-zlib all-target-libiberty configure-target-libiberty: $(ALL_GCC_C) all-target-libiberty: configure-target-libiberty all-target: $(ALL_TARGET_MODULES) install-target: $(INSTALL_TARGET_MODULES) install-gdb: install-tcl install-tk install-itcl install-tix install-libgui +install-sid: install-tcl install-tk ### other supporting targets MAKEDIRS= \