diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-03-19 22:27:02 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-03-19 22:27:02 +0000 |
commit | d8ff79366bb0f4646436e4c298e4f5505a51c007 (patch) | |
tree | 7b69d0627eca83ab40473a31ad3568ea0bbfb996 /c/src/lib/libbsp/unix | |
parent | Towards automake X patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>: (diff) | |
download | rtems-d8ff79366bb0f4646436e4c298e4f5505a51c007.tar.bz2 |
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.
Diffstat (limited to 'c/src/lib/libbsp/unix')
-rw-r--r-- | c/src/lib/libbsp/unix/Makefile.in | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/Makefile.in | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/clock/Makefile.in | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/console/Makefile.in | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/include/Makefile.in | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in | 14 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/startup/Makefile.in | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/timer/Makefile.in | 15 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/tools/Makefile.in | 16 | ||||
-rw-r--r-- | c/src/lib/libbsp/unix/posix/wrapup/Makefile.in | 16 |
10 files changed, 119 insertions, 32 deletions
diff --git a/c/src/lib/libbsp/unix/Makefile.in b/c/src/lib/libbsp/unix/Makefile.in index f786f6bff0..ff5c80c56c 100644 --- a/c/src/lib/libbsp/unix/Makefile.in +++ b/c/src/lib/libbsp/unix/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/Makefile.in b/c/src/lib/libbsp/unix/posix/Makefile.in index 6381e67afb..decc17df5b 100644 --- a/c/src/lib/libbsp/unix/posix/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/clock/Makefile.in b/c/src/lib/libbsp/unix/posix/clock/Makefile.in index 2a59b8e8de..5a17347932 100644 --- a/c/src/lib/libbsp/unix/posix/clock/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/clock/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/console/Makefile.in b/c/src/lib/libbsp/unix/posix/console/Makefile.in index 36c95fc3f7..74583d0b6f 100644 --- a/c/src/lib/libbsp/unix/posix/console/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/console/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/include/Makefile.in b/c/src/lib/libbsp/unix/posix/include/Makefile.in index 9802423ecb..4ff7cdbc54 100644 --- a/c/src/lib/libbsp/unix/posix/include/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/include/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in b/c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in index af5d63c8f6..201e1e3fd6 100644 --- a/c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/shmsupp/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/startup/Makefile.in b/c/src/lib/libbsp/unix/posix/startup/Makefile.in index f7548aef65..b8c00995b7 100644 --- a/c/src/lib/libbsp/unix/posix/startup/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/startup/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/timer/Makefile.in b/c/src/lib/libbsp/unix/posix/timer/Makefile.in index e344a8adf7..5d53bef290 100644 --- a/c/src/lib/libbsp/unix/posix/timer/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/timer/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/tools/Makefile.in b/c/src/lib/libbsp/unix/posix/tools/Makefile.in index 00a7ab7253..3bb7016c34 100644 --- a/c/src/lib/libbsp/unix/posix/tools/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/tools/Makefile.in @@ -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 diff --git a/c/src/lib/libbsp/unix/posix/wrapup/Makefile.in b/c/src/lib/libbsp/unix/posix/wrapup/Makefile.in index 62a99fa8a9..b5fcdf2ec6 100644 --- a/c/src/lib/libbsp/unix/posix/wrapup/Makefile.in +++ b/c/src/lib/libbsp/unix/posix/wrapup/Makefile.in @@ -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 |