mirror of
https://github.com/t-crest/rtems.git
synced 2025-12-29 10:30:50 +00:00
Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
FYI: I am not talking about using "make -C <dir>", which probably
is much faster on M$ hosts than RTEMS's implementation, but about
removing --enable-gmake-print support and to apply a variant of
automake's subdirectory.
Automake's subdirectory rule seems to be a little bit faster, but I
wouldn't bet on this.
Attached to this mail is my proposal.
After applying the patch, please run
cvs rm aclocal/enable-gmake-print.m4
./autogen
This commit is contained in:
@@ -26,7 +26,6 @@ RTEMS-specific option are supported:
|
|||||||
--enable-bare-cpu-model=<MODEL>
|
--enable-bare-cpu-model=<MODEL>
|
||||||
--enable-bare-cpu-cflags=<FLAGS>
|
--enable-bare-cpu-cflags=<FLAGS>
|
||||||
--enable-gcc28 (also use enable-libcdir when disabled)
|
--enable-gcc28 (also use enable-libcdir when disabled)
|
||||||
--enable-gmake-print-directory
|
|
||||||
--enable-libcdir=<DIRECTORY> (do not use if gcc 2.8 is enabled)
|
--enable-libcdir=<DIRECTORY> (do not use if gcc 2.8 is enabled)
|
||||||
--enable-rtemsbsp="bsp1 bsp2 ..."
|
--enable-rtemsbsp="bsp1 bsp2 ..."
|
||||||
--enable-tests
|
--enable-tests
|
||||||
|
|||||||
17
aclocal.m4
vendored
17
aclocal.m4
vendored
@@ -51,23 +51,6 @@ RTEMS_ROOT='$(top_srcdir)'/$RTEMS_TOPdir;
|
|||||||
AC_SUBST(RTEMS_ROOT)
|
AC_SUBST(RTEMS_ROOT)
|
||||||
])dnl
|
])dnl
|
||||||
|
|
||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
dnl Note: This option is considered obsolete
|
|
||||||
|
|
||||||
AC_DEFUN(RTEMS_ENABLE_GMAKE_PRINT,
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(gmake-print-directory,
|
|
||||||
[ --enable-gmake-print-directory enable GNU Make's print directory],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_USE_OWN_PDIR=no ;;
|
|
||||||
no) RTEMS_USE_OWN_PDIR=yes ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for gmake-print-directory option)
|
|
||||||
;;
|
|
||||||
esac],[RTEMS_USE_OWN_PDIR=yes])
|
|
||||||
AC_SUBST(RTEMS_USE_OWN_PDIR)dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl $Id$
|
dnl $Id$
|
||||||
|
|
||||||
AC_DEFUN(RTEMS_ENABLE_MULTIPROCESSING,
|
AC_DEFUN(RTEMS_ENABLE_MULTIPROCESSING,
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
dnl Note: This option is considered obsolete
|
|
||||||
|
|
||||||
AC_DEFUN(RTEMS_ENABLE_GMAKE_PRINT,
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(gmake-print-directory,
|
|
||||||
[ --enable-gmake-print-directory enable GNU Make's print directory],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_USE_OWN_PDIR=no ;;
|
|
||||||
no) RTEMS_USE_OWN_PDIR=yes ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for gmake-print-directory option)
|
|
||||||
;;
|
|
||||||
esac],[RTEMS_USE_OWN_PDIR=yes])
|
|
||||||
AC_SUBST(RTEMS_USE_OWN_PDIR)dnl
|
|
||||||
])
|
|
||||||
@@ -8,50 +8,17 @@
|
|||||||
# See also make/main.cfg
|
# See also make/main.cfg
|
||||||
#
|
#
|
||||||
|
|
||||||
# include $(RTEMS_ROOT)/make/main.cfg
|
# RULE=$(shell echo $@ | $(SED) -e s/debug_// -e s/profile_//)
|
||||||
|
|
||||||
# on a 'make -k' we don't want to bomb out of directory list
|
# This is a simplified variant of automake-1.4's rule for handling
|
||||||
EXIT_CMD=exit 1
|
# subdirectories
|
||||||
ifeq (k, $(findstring k, $(MAKEFLAGS)))
|
|
||||||
EXIT_CMD=true
|
|
||||||
endif
|
|
||||||
|
|
||||||
RULE=$(shell echo $@ | $(SED) -e s/debug_// -e s/profile_//)
|
|
||||||
|
|
||||||
ifeq ($(RTEMS_USE_OWN_PDIR),yes)
|
|
||||||
$(RECURSE_TARGETS):
|
$(RECURSE_TARGETS):
|
||||||
@$(ECHO); \
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
BASEDIR=`pwd`; \
|
dot_seen=no; \
|
||||||
test -d $$BASEDIR || $(EXIT_CMD) ; \
|
target=`echo $@ | sed -e s/-recursive// -e s/debug_// -e s/profile_// `; \
|
||||||
for subd in $(SUB_DIRS) xxx; \
|
list='$(SUB_DIRS)'; for subdir in $$list; do \
|
||||||
do if [ $$subd != xxx ] ; then \
|
echo "Making $$target RTEMS_BSP=${RTEMS_BSP} in $$subdir"; \
|
||||||
cd $$BASEDIR; \
|
local_target="$$target"; \
|
||||||
if [ ! -d $$subd ] ; then \
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
$(ECHO) "*** ERROR -- Directory ($$subd) does not exist!!!"; \
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
$(EXIT_CMD) ; \
|
done && test -z "$$fail"
|
||||||
fi ; \
|
|
||||||
$(ECHO); \
|
|
||||||
$(ECHO) "*** $$BASEDIR/$$subd ($@)" ; \
|
|
||||||
cmd="cd $$subd; $(MAKE) $(RULE)"; \
|
|
||||||
$(ECHO) $$cmd; \
|
|
||||||
eval $$cmd || $(EXIT_CMD); \
|
|
||||||
fi; done; \
|
|
||||||
$(ECHO); \
|
|
||||||
$(ECHO) "*** $$BASEDIR/$@ ($@) Finished."; \
|
|
||||||
$(ECHO)
|
|
||||||
$($@_WRAPUP)
|
|
||||||
else
|
|
||||||
ifdef RECURSE_TARGETS
|
|
||||||
$(RECURSE_TARGETS):
|
|
||||||
@$(ECHO) ; set -e ; \
|
|
||||||
if [ "$(SUB_DIRS)" != "" ] ; then \
|
|
||||||
sdirs="$(SUB_DIRS)" ; \
|
|
||||||
else \
|
|
||||||
sdirs="xxx" ; \
|
|
||||||
fi ; \
|
|
||||||
if [ "$$sdirs" != "xxx" ] ; then \
|
|
||||||
for subd in $$sdirs; do $(MAKE) -w -C $$subd $(RULE); done ;\
|
|
||||||
fi
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|||||||
@@ -81,8 +81,12 @@ while( <> )
|
|||||||
{
|
{
|
||||||
#remove the line
|
#remove the line
|
||||||
}
|
}
|
||||||
elsif ( /^[ ]*AC_SUBST\(RTEMS_USE_OWN_PDIR\)[ ]*$/o )
|
elsif ( /^[\s\t]*AC_SUBST\(RTEMS_USE_OWN_PDIR\)[ ]*$/o )
|
||||||
{
|
{ # obsolete option
|
||||||
|
#remove the line
|
||||||
|
}
|
||||||
|
elsif ( /^[\s\t]*RTEMS_ENABLE_GMAKE_PRINT[ ]*$/o )
|
||||||
|
{ # obsolete macro
|
||||||
#remove the line
|
#remove the line
|
||||||
}
|
}
|
||||||
elsif ( /^[ ]*AC_SUBST\(RTEMS_HAS_NETWORKING\)[ ]*$/o )
|
elsif ( /^[ ]*AC_SUBST\(RTEMS_HAS_NETWORKING\)[ ]*$/o )
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ AC_CANONICAL_SYSTEM
|
|||||||
AC_ARG_WITH(cross-host,[ --with-cross-host=HOST host (cygnus)], \
|
AC_ARG_WITH(cross-host,[ --with-cross-host=HOST host (cygnus)], \
|
||||||
host=$withval)
|
host=$withval)
|
||||||
|
|
||||||
RTEMS_ENABLE_GMAKE_PRINT
|
|
||||||
RTEMS_ENABLE_MULTIPROCESSING
|
RTEMS_ENABLE_MULTIPROCESSING
|
||||||
RTEMS_ENABLE_POSIX
|
RTEMS_ENABLE_POSIX
|
||||||
RTEMS_ENABLE_NETWORKING
|
RTEMS_ENABLE_NETWORKING
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ export OBJCOPY
|
|||||||
RTEMS_HOST = @RTEMS_HOST@
|
RTEMS_HOST = @RTEMS_HOST@
|
||||||
RTEMS_CUSTOM = $(prefix)/make/custom/$(RTEMS_BSP).cfg
|
RTEMS_CUSTOM = $(prefix)/make/custom/$(RTEMS_BSP).cfg
|
||||||
PROJECT_ROOT = $(prefix)/
|
PROJECT_ROOT = $(prefix)/
|
||||||
RTEMS_USE_OWN_PDIR = @RTEMS_USE_OWN_PDIR@
|
RTEMS_USE_OWN_PDIR = no
|
||||||
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
|
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
|
||||||
RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
|
RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
|
||||||
RTEMS_HAS_CPLUSPLUS = @RTEMS_HAS_CPLUSPLUS@
|
RTEMS_HAS_CPLUSPLUS = @RTEMS_HAS_CPLUSPLUS@
|
||||||
|
|||||||
@@ -8,50 +8,17 @@
|
|||||||
# See also make/main.cfg
|
# See also make/main.cfg
|
||||||
#
|
#
|
||||||
|
|
||||||
# include $(RTEMS_ROOT)/make/main.cfg
|
# RULE=$(shell echo $@ | $(SED) -e s/debug_// -e s/profile_//)
|
||||||
|
|
||||||
# on a 'make -k' we don't want to bomb out of directory list
|
# This is a simplified variant of automake-1.4's rule for handling
|
||||||
EXIT_CMD=exit 1
|
# subdirectories
|
||||||
ifeq (k, $(findstring k, $(MAKEFLAGS)))
|
|
||||||
EXIT_CMD=true
|
|
||||||
endif
|
|
||||||
|
|
||||||
RULE=$(shell echo $@ | $(SED) -e s/debug_// -e s/profile_//)
|
|
||||||
|
|
||||||
ifeq ($(RTEMS_USE_OWN_PDIR),yes)
|
|
||||||
$(RECURSE_TARGETS):
|
$(RECURSE_TARGETS):
|
||||||
@$(ECHO); \
|
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||||
BASEDIR=`pwd`; \
|
dot_seen=no; \
|
||||||
test -d $$BASEDIR || $(EXIT_CMD) ; \
|
target=`echo $@ | sed -e s/-recursive// -e s/debug_// -e s/profile_// `; \
|
||||||
for subd in $(SUB_DIRS) xxx; \
|
list='$(SUB_DIRS)'; for subdir in $$list; do \
|
||||||
do if [ $$subd != xxx ] ; then \
|
echo "Making $$target RTEMS_BSP=${RTEMS_BSP} in $$subdir"; \
|
||||||
cd $$BASEDIR; \
|
local_target="$$target"; \
|
||||||
if [ ! -d $$subd ] ; then \
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
$(ECHO) "*** ERROR -- Directory ($$subd) does not exist!!!"; \
|
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||||
$(EXIT_CMD) ; \
|
done && test -z "$$fail"
|
||||||
fi ; \
|
|
||||||
$(ECHO); \
|
|
||||||
$(ECHO) "*** $$BASEDIR/$$subd ($@)" ; \
|
|
||||||
cmd="cd $$subd; $(MAKE) $(RULE)"; \
|
|
||||||
$(ECHO) $$cmd; \
|
|
||||||
eval $$cmd || $(EXIT_CMD); \
|
|
||||||
fi; done; \
|
|
||||||
$(ECHO); \
|
|
||||||
$(ECHO) "*** $$BASEDIR/$@ ($@) Finished."; \
|
|
||||||
$(ECHO)
|
|
||||||
$($@_WRAPUP)
|
|
||||||
else
|
|
||||||
ifdef RECURSE_TARGETS
|
|
||||||
$(RECURSE_TARGETS):
|
|
||||||
@$(ECHO) ; set -e ; \
|
|
||||||
if [ "$(SUB_DIRS)" != "" ] ; then \
|
|
||||||
sdirs="$(SUB_DIRS)" ; \
|
|
||||||
else \
|
|
||||||
sdirs="xxx" ; \
|
|
||||||
fi ; \
|
|
||||||
if [ "$$sdirs" != "xxx" ] ; then \
|
|
||||||
for subd in $$sdirs; do $(MAKE) -w -C $$subd $(RULE); done ;\
|
|
||||||
fi
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|||||||
@@ -66,10 +66,6 @@ VARIANTS=${TARGET_ARCH} ${TARGET_VARIANTS:%=${TARGET_ARCH}-%}
|
|||||||
RECURSE_TARGETS=all clean protos get clobber depend install \
|
RECURSE_TARGETS=all clean protos get clobber depend install \
|
||||||
$(TARGET_VARIANTS) $(TARGET_VARIANTS:%=%_install)
|
$(TARGET_VARIANTS) $(TARGET_VARIANTS:%=%_install)
|
||||||
|
|
||||||
ifeq ($(RTEMS_USE_OWN_PDIR),yes)
|
|
||||||
MAKEFLAGS += --no-print-directory
|
|
||||||
endif
|
|
||||||
|
|
||||||
${ARCH}:
|
${ARCH}:
|
||||||
test -d ${ARCH} || $(MKDIR) ${ARCH}
|
test -d ${ARCH} || $(MKDIR) ${ARCH}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ export CXX
|
|||||||
RTEMS_CROSS_TARGET=@rtems_cv_prog_cc_cross@
|
RTEMS_CROSS_TARGET=@rtems_cv_prog_cc_cross@
|
||||||
|
|
||||||
RTEMS_HOST = @RTEMS_HOST@
|
RTEMS_HOST = @RTEMS_HOST@
|
||||||
RTEMS_USE_OWN_PDIR = @RTEMS_USE_OWN_PDIR@
|
|
||||||
RTEMS_HAS_MULTIPROCESSING = @RTEMS_HAS_MULTIPROCESSING@
|
RTEMS_HAS_MULTIPROCESSING = @RTEMS_HAS_MULTIPROCESSING@
|
||||||
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
|
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
|
||||||
RTEMS_HAS_NETWORKING = @RTEMS_HAS_NETWORKING@
|
RTEMS_HAS_NETWORKING = @RTEMS_HAS_NETWORKING@
|
||||||
|
|||||||
@@ -81,8 +81,12 @@ while( <> )
|
|||||||
{
|
{
|
||||||
#remove the line
|
#remove the line
|
||||||
}
|
}
|
||||||
elsif ( /^[ ]*AC_SUBST\(RTEMS_USE_OWN_PDIR\)[ ]*$/o )
|
elsif ( /^[\s\t]*AC_SUBST\(RTEMS_USE_OWN_PDIR\)[ ]*$/o )
|
||||||
{
|
{ # obsolete option
|
||||||
|
#remove the line
|
||||||
|
}
|
||||||
|
elsif ( /^[\s\t]*RTEMS_ENABLE_GMAKE_PRINT[ ]*$/o )
|
||||||
|
{ # obsolete macro
|
||||||
#remove the line
|
#remove the line
|
||||||
}
|
}
|
||||||
elsif ( /^[ ]*AC_SUBST\(RTEMS_HAS_NETWORKING\)[ ]*$/o )
|
elsif ( /^[ ]*AC_SUBST\(RTEMS_HAS_NETWORKING\)[ ]*$/o )
|
||||||
|
|||||||
Reference in New Issue
Block a user