Patch rtems-rc-19991203-4.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>"""

which is an adaptation of a patch from Ian Lance Taylor plus a few
other changes that should significantly speed up building librtemsall.a.
This commit is contained in:
Joel Sherrill
1999-12-13 16:16:44 +00:00
parent ad0c286463
commit 4bdebdfe38
2 changed files with 42 additions and 41 deletions

View File

@@ -44,6 +44,8 @@ fi
if test "$HAS_RDBG" = "yes"; then
cfg_subdirs="$cfg_subdirs librdbg"
fi
AM_CONDITIONAL(HAS_NETWORKING, test "$HAS_NETWORKING" = "yes" )
AM_CONDITIONAL(HAS_RDBG, test "$HAS_RDBG" = "yes" )
if test "$RTEMS_HAS_CPLUSPLUS" = "yes"; then
cfg_subdirs="$cfg_subdirs librtems++";

View File

@@ -1,8 +1,8 @@
#
# $Id$
#
# build and install "glommed" librtemsall.a
#
##
## $Id$
##
## build and install "glommed" librtemsall.a
##
AUTOMAKE_OPTIONS = foreign 1.4
@@ -12,13 +12,22 @@ include $(top_srcdir)/../../automake/lib.am
LIBNAME = librtemsall
LIB = $(PROJECT_RELEASE)/lib/$(LIBNAME)${LIB_VARIANT}.a
if HAS_NETWORKING
LIBNETWORKING = \
$(PROJECT_RELEASE)/lib/libnetworking$(LIB_VARIANT).a \
$(PROJECT_RELEASE)/lib/librpc$(LIB_VARIANT).a
endif
if HAS_RDBG
LIBRDBG = $(PROJECT_RELEASE)/lib/librdbg$(LIB_VARIANT).a
endif
SRCS = $(wildcard $(PROJECT_RELEASE)/lib/libbsp$(LIB_VARIANT).a) \
$(PROJECT_RELEASE)/lib/librtems$(LIB_VARIANT).a \
$(wildcard $(PROJECT_RELEASE)/lib/libposix$(LIB_VARIANT).a) \
$(wildcard $(PROJECT_RELEASE)/lib/libitron$(LIB_VARIANT).a) \
$(wildcard $(PROJECT_RELEASE)/lib/libnetworking$(LIB_VARIANT).a) \
$(wildcard $(PROJECT_RELEASE)/lib/librpc$(LIB_VARIANT).a) \
$(wildcard $(PROJECT_RELEASE)/lib/librdbg$(LIB_VARIANT).a) \
$(LIBNETWORKING) \
$(LIBRDBG) \
$(wildcard $(PROJECT_RELEASE)/lib/libcpu$(LIB_VARIANT).a) \
$(wildcard $(PROJECT_RELEASE)/lib/librtcio$(LIB_VARIANT).a) \
$(wildcard $(PROJECT_RELEASE)/lib/libserialio$(LIB_VARIANT).a) \
@@ -27,8 +36,6 @@ SRCS = $(wildcard $(PROJECT_RELEASE)/lib/libbsp$(LIB_VARIANT).a) \
$(PROJECT_RELEASE)/lib/libmisc$(LIB_VARIANT).a \
$(wildcard $(PROJECT_RELEASE)/lib/rtems-ctor$(LIB_VARIANT).o)
CLEANFILES += $(ARCH)/check
TMPINSTALL_FILES += \
$(PROJECT_RELEASE)/lib/$(LIBNAME)${LIB_VARIANT}.a
@@ -36,42 +43,34 @@ all: $(ARCH) $(TMPINSTALL_FILES)
install: all
$(ARCH)/check: $(SRCS)
@$(RM) $@; touch $@;
@for f in $(SRCS); do \
$(LIB): $(SRCS)
rm -f $@
rm -rf $(ARCH)/*
for f in $(SRCS); do \
case $$f in \
*.o) echo " `basename $$f`" >> $@ \
*.o | *.rel) \
if test -f $(ARCH)/`basename $$f`; then \
if cmp $$f $(ARCH)/`basename $$f`; then \
true; \
else \
echo 1>&2 "ERROR -- `basename $$f` in multiple files"; \
exit 1; \
fi; \
else \
cp $$f $(ARCH)/; \
chmod a-w $(ARCH)/`basename $$f`; \
fi; \
;; \
*.rel) echo " `basename $$f`" >> $@ \
;; \
*.a) \
( list=`$(AR) t $$f`;\
for i in $$list; do \
if fgrep " $$i" $@; then \
echo "ERROR -- $$i in multiple files"; exit 1; \
fi;\
echo " $$i" >> $@;\
done; ) \
;; \
esac; \
done;
$(LIB): $(ARCH)/check
@for f in $(SRCS); do \
case $$f in \
*.o) $(AR) ru $@ $$f \
;;\
*.rel) $(AR) ru $@ $$f \
;;\
*.a) \
(cd $(ARCH); \
list=`$(AR) t ../$$f`; \
$(AR) x ../$$f $$list; $(AR) ru ../$@ $$list; \
$(RM) $$list ;)\
$(AR) x ../$$f; \
test $$? -eq 0 || exit 1; \
chmod a-w *; ) \
;; \
esac; \
done;
@$(RANLIB) $@
@echo "*** Glommed $@"
done
$(AR) rc $@ $(ARCH)/*
rm -f $(ARCH)/*
$(RANLIB) $@
include $(top_srcdir)/../../automake/local.am