#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
srcdir = .
'HOST_PREFIX=$(HOST_PREFIX)' \
'HOST_PREFIX_1=$(HOST_PREFIX_1)' \
'NM=$(NM)' \
- 'RANLIB=$$(RANLIB_FOR_TARGET)'
+ 'RANLIB=$$(RANLIB_FOR_TARGET)' \
+ `if test x"$(LANGUAGES)" != x; then echo "LANGUAGES=$(LANGUAGES)"; fi` \
+ `if test x"$(STMP_FIXPROTO)" != x; then echo "STMP_FIXPROTO=$(STMP_FIXPROTO)"; fi` \
+ `if test x"$(LIMITS_H_TEST)" != x; then echo "LIMITS_H_TEST=$(LIMITS_H_TEST)"; fi` \
+ `if test x"$(LIBGCC1_TEST)" != x; then echo "LIBGCC1_TEST=$(LIBGCC1_TEST)"; fi` \
+ `if test x"$(LIBGCC2_CFLAGS)" != x; then echo "LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)"; fi` \
+ `if test x"$(LIBGCC2_INCLUDES)" != x; then echo "LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)"; fi` \
+ `if test x"$(ENQUIRE)" != x; then echo "ENQUIRE=$(ENQUIRE)"; fi` \
+ `if test x"$(BOOT_CFLAGS)" != x; then echo "BOOT_CFLAGS=$(BOOT_CFLAGS)"; fi`
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
all-target-newlib \
all-target-winsup \
all-target-libgloss \
- all-target-libiberty
+ all-target-libiberty \
+ all-target-examples
# This is a list of the configure targets for all of the modules which
# are compiled using the target tools.
configure-target-newlib \
configure-target-winsup \
configure-target-libgloss \
- configure-target-libiberty
+ configure-target-libiberty \
+ configure-target-examples
# This is a list of the check targets for all of the modules which are
# compiled using $(TARGET_FLAGS_TO_PASS).
local-distclean:
-rm -f Makefile config.status
+ -if [ "$(TARGET_SUBDIR)" != "." ]; then \
+ rm -rf $(TARGET_SUBDIR); \
+ else true; fi
local-maintainer-clean:
@echo "This command is intended for maintainers to use;"
RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
echo Configuring in $(TARGET_SUBDIR)/$${dir}; \
cd $(TARGET_SUBDIR)/$${dir}; \
- if [ -f $${srcroot}/$${dir}/configure ] ; then \
- $${srcroot}/$${dir}/configure \
- $(CONFIG_ARGUMENTS) --srcdir=$${srcroot}/$${dir}; \
+ case $(srcdir) in \
+ /*) \
+ topdir=$(srcdir) ;; \
+ *) \
+ case "$(TARGET_SUBDIR)" in \
+ .) topdir="../$(srcdir)" ;; \
+ *) topdir="../../$(srcdir)" ;; \
+ esac ;; \
+ esac; \
+ if [ "$(srcdir)" = "." ] ; then \
+ if [ "$(TARGET_SUBDIR)" != "." ] ; then \
+ if $(SHELL) $${srcroot}/symlink-tree $${topdir}/$${dir} "Makefile" ; then \
+ true; \
+ else \
+ exit 1; \
+ fi; \
+ else \
+ true; \
+ fi; \
+ srcdiroption="--srcdir=."; \
+ libsrcdir="."; \
else \
- $${srcroot}/configure \
- $(CONFIG_ARGUMENTS) --srcdir=$${srcroot}/$${dir}; \
+ srcdiroption="--srcdir=$${topdir}/$${dir}"; \
+ libsrcdir="$${srcroot}/$${dir}"; \
+ fi; \
+ if [ -f $${libsrcdir}/configure ] ; then \
+ $(SHELL) $${libsrcdir}/configure \
+ $(CONFIG_ARGUMENTS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)"; \
+ else \
+ $(SHELL) $${srcroot}/configure \
+ $(CONFIG_ARGUMENTS) $${srcdiroption} \
+ --with-target-subdir="$(TARGET_SUBDIR)"; \
fi; \
else \
true; \
- fi \
+ fi; \
else \
true; \
fi
true; \
fi
+.PHONY: all-bootstrap
+all-bootstrap:
+ @if [ -f ./gcc/Makefile ] ; then \
+ r=`pwd`; export r; \
+ srcroot=`cd $(srcdir); pwd`; export srcroot; \
+ (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) bootstrap); \
+ else \
+ true; \
+ fi
+
.PHONY: check-gcc
check-gcc:
@if [ -f ./gcc/Makefile ] ; then \
all-emacs:
all-emacs19: all-byacc
all-etc:
+configure-target-examples: $(ALL_GCC)
+all-target-examples: configure-target-examples
all-expect: all-tcl all-tk
all-fileutils: all-libiberty
all-find:
all-gawk:
ALL_GCC = all-gcc
all-gcc: all-libiberty all-byacc all-binutils all-gas all-ld
-all-gdb: all-libiberty all-opcodes all-bfd all-mmalloc all-readline all-byacc all-sim $(gdbnlmrequirements)
+all-bootstrap: all-libiberty all-byacc all-binutils all-gas all-ld
+GDB_TK = all-tk all-tcl
+all-gdb: all-libiberty all-opcodes all-bfd all-mmalloc all-readline all-byacc all-sim $(gdbnlmrequirements) $(GDB_TK)
all-gprof: all-libiberty all-bfd
all-grep: all-libiberty
all-grez: all-libiberty all-bfd
all-indent:
all-ispell: all-emacs19
all-ld: all-libiberty all-bfd all-byacc all-flex
-configure-target-libg++: $(ALL_GCC)
+configure-target-libg++: $(ALL_GCC) configure-target-librx
all-target-libg++: configure-target-libg++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio all-target-librx all-target-libstdc++
configure-target-libgloss: $(ALL_GCC)
-all-target-libgloss: configure-target-libgloss
+all-target-libgloss: configure-target-libgloss configure-target-newlib
configure-target-libio: $(ALL_GCC)
all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libiberty all-target-newlib
all-libiberty:
DEVO_SUPPORT= README Makefile.in configure configure.in \
config.guess config.sub config move-if-change \
mpw-README mpw-build.in mpw-config.in mpw-configure \
- COPYING COPYING.LIB install.sh cfg-ml-com.in cfg-ml-pos.in
+ COPYING COPYING.LIB install.sh config-ml.in symlink-tree
# Files in devo/etc used in any net release.
# ChangeLog omitted because it may refer to files which are not in this
# taz will build the .info files but since SUBDIRS won't contain newlib,
# distclean won't be run (leaving Makefile, config.status, and the tmp files
# used in building the .info files, eg: *.def, *.ref).
-# Compensate here by configuring newlib for a simple (no multilib support)
-# cross target (sparc64), building the info files, and doing make distclean
-# ourselves.
+# The problem isn't solvable however without a lot of extra work because
+# target libraries are built in subdir $(target_alias) which gets nuked during
+# the make distclean. For now punt on the issue of shipping newlib info files
+# with newlib net releases and wait for a day when some native target (sun4?)
+# supports newlib (if only minimally).
newlib.tar.gz: $(DIST_SUPPORT) $(NEWLIB_SUPPORT_DIRS) newlib
- rootme=`pwd` ; \
- cd newlib && ../configure --srcdir $$rootme/newlib \
- --host sun4 --target sparc64-elf
- cd newlib ; make info
- cd newlib ; make distclean
$(MAKE) -f Makefile.in taz TOOL=newlib \
SUPPORT_FILES="$(NEWLIB_SUPPORT_DIRS)" \
DEVO_SUPPORT="$(DEVO_SUPPORT) COPYING.NEWLIB" newlib