Towards automake XI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:

This patch is the most scary of all proposals I've been mailing to you
    this week until now.

    It consists of 3 parts:
        1. a patch
        2. a perl script (acpolish)
        3. a shell script wrapper to invoke the perl-script.

    The perl-script reads in each Makefile.in and modifies them
    ("polishes/beautifies" them :-).

    These modifications are not easy to describe:

    Basically, it hard-codes some automake Makefile-variables and rules into
    RTEMS autoconf-Makefile.ins (Note: autoconf vs. automake!!) and converts
    some settings/variables to configure scripts' requirements (Yes,
    plural).

    E.g. it adds the automake standard variables $top_builddir and $subdir,
    adds dependency rules for automatic re-generation of Makefiles from
    Makefile.in, adds support variables for relative paths to multiple
    configure scripts etc.


    The patch is a one-line patch to enable the support of the new features
    added by acpolish.

    The shell script is a wrapper which pokes around inside of the source
    tree for Makefile.ins and invokes acpolish on all autoconf-Makefile.ins.

    acpolish is designed to be able to run several times on the same
    Makefile.in and may once become a more general tool to convert RTEMS
    Makefile.in to automake. Therefore, I'd like to keep it inside of source
    tree. (e.g. as contrib/acpolish or c/update-tools/acpolish). However, it
    doesn't make sense to export it outside of RTEMS.


To apply this:

    cd <source-tree>
    patch -p1 -E < <path-to-patch>/rtems-rc-19990318-1.diff
    tar xzvf <path-to>/rtems-rc-polish.tar.gz
    ./rtems-polish.sh
    ./autogen

    Note: The path contrib/acpolish is hard-coded into rtems-polish.sh, if
    you decide to put it in an alternative place, please modify
    rtems-polish.sh to reflect this change.

    Later:
    cvs rm make/rtems.cfg (It isn't used anymore)
    cvs add contrib
    cvs add contrib/acpolish
    cvs commit

    I've tested this intensively, but naturally I can't exclude bugs.

    Ralf.

    PS.: Most probably, this is the last "Towards automake" patch. The next
    one probably will be a real automake patch.
This commit is contained in:
Joel Sherrill
1999-03-19 22:27:02 +00:00
parent 5906ac5e9f
commit d8ff79366b
687 changed files with 8434 additions and 2159 deletions

View File

@@ -4,14 +4,23 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../..
subdir = c/src/lib/libbsp/unix
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
# Descend into the $(RTEMS_BSP_FAMILY) directory
SUB_DIRS=$(RTEMS_BSP_FAMILY)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../..
subdir = c/src/lib/libbsp/unix/posix
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
@@ -24,3 +29,7 @@ all: $(SRCS)
# wrapup is the one that actually builds and installs the library
# from the individual .rel files built in other directories
SUB_DIRS=include startup clock console timer $(MP_SUPPORT) wrapup tools
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/clock
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
PGM=${ARCH}/clock.rel
# C source names, if any, go here -- minus the .c
@@ -55,3 +60,7 @@ all: ${ARCH} $(SRCS) $(PGM)
# the .rel file built here will be put into libbsp.a by
# ../wrapup/Makefile
install: all
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/console
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
PGM=${ARCH}/console.rel
# C source names, if any, go here -- minus the .c
@@ -54,3 +59,7 @@ all: ${ARCH} $(SRCS) $(PGM)
# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
install: all
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/include
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
#
@@ -33,3 +38,7 @@ CLOBBER_ADDITIONS +=
all: $(SRCS)
$(INSTALL_CHANGE) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
$(INSTALL_CHANGE) -m 444 $(EQ_FILES) $(PROJECT_INCLUDE)
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/shmsupp
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
PGM=${ARCH}/shmsupp.rel
# C source names, if any, go here -- minus the .c
@@ -55,3 +60,6 @@ all: ${ARCH} $(SRCS) $(PGM)
# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
install: all
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@:@srcdir@/../../../shared
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/startup
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@:@srcdir@/../../../shared
PGM=${ARCH}/startup.rel
NO_CTOR_LIB=${ARCH}/libno-ctor.a
@@ -75,3 +80,7 @@ ${NO_CTOR_LIB}: $(ARCH)/no-ctor.o
all: ${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM) ${NO_CTOR_LIB}
$(INSTALL_VARIANT) $(INSTALLED_O_FILES) ${PROJECT_RELEASE}/lib
$(INSTALL_VARIANT) $(NO_CTOR_LIB) ${PROJECT_RELEASE}/lib
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/timer
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
PGM=${ARCH}/timer.rel
# C source names, if any, go here -- minus the .c
@@ -55,3 +60,7 @@ all: ${ARCH} $(SRCS) $(PGM)
# the .rel file built here will be put into libbsp.a by
# ../wrapup/Makefile
install: all
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,15 +4,19 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/tools
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(RTEMS_ROOT)/make/rtems.cfg
DESTDIR=$(PROJECT_RELEASE)/tests
@@ -37,3 +41,7 @@ $(INSTALLED_PGMS): $(PGMS)
$(INSTALL) $(INSTBINFLAGS) $^ $(DESTDIR)
install: $(DESTDIR) $(INSTALLED_PGMS)
%: $(srcdir)/%.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -4,12 +4,17 @@
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
top_srcdir = @top_srcdir@
top_builddir = ../../../../../../..
subdir = c/src/lib/libbsp/unix/posix/wrapup
INSTALL = @INSTALL@
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
BSP_PIECES=startup clock console timer
# pieces to pick up out of libcpu/unix
CPU_PIECES=
@@ -59,8 +64,11 @@ $(LIB): ${OBJS}
all: ${ARCH} $(SRCS) $(LIB)
$(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
$(PROJECT_ROOT)/${RTEMS_BSP}/lib/bsp_specs: ../bsp_specs
$(INSTALL_DATA) $< $@
preinstall: $(PROJECT_ROOT)/${RTEMS_BSP}/lib/bsp_specs
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status