source: rtems/c/src/lib/include/Makefile.in @ d8ff793

4.104.114.84.9
Last change on this file since d8ff793 was d8ff793, checked in by Joel Sherrill <joel.sherrill@…>, on Mar 19, 1999 at 10:27:02 PM

Towards automake XI patch from Ralf Corsepius <corsepiu@…>:

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.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1#
2#  $Id$
3#
4
5@SET_MAKE@
6srcdir = @srcdir@
7top_srcdir = @top_srcdir@
8top_builddir = ../../../..
9subdir = c/src/lib/include
10
11INSTALL = @INSTALL@
12
13RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
14PROJECT_ROOT = @PROJECT_ROOT@
15
16VPATH = @srcdir@
17
18H_PIECES=chain console clockdrv iosupp ringbuf \
19   spurious timerdrv vmeintr
20H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
21
22SYS_H_PIECES=ioctl termios
23SYS_H_FILES=$(SYS_H_PIECES:%=$(srcdir)/sys/%.h)
24
25MOTOROLA_H_PIECES=mc68230 mc68681
26MOTOROLA_H_FILES=$(MOTOROLA_H_PIECES:%=$(srcdir)/motorola/%.h)
27
28ZILOG_H_PIECES=z8036 z8530 z8536
29ZILOG_H_FILES=$(ZILOG_H_PIECES:%=$(srcdir)/zilog/%.h)
30
31RTEMSCPLUSPLUS_H_PIECES= rtemsEvent rtemsInterrupt rtemsMessageQueue \
32  rtemsSemaphore rtemsStatusCode rtemsTask rtemsTaskMode rtemsTimer
33RTEMSCPLUSPLUS_H_FILES=$(RTEMSCPLUSPLUS_H_PIECES:%=$(srcdir)/rtems++/%.h)
34
35RPC_H_PIECES=  auth clnt rpc rpc_msg svc svc_auth types xdr
36RPC_H_FILES=$(RPC_H_PIECES:%=$(srcdir)/rpc/%.h)
37
38# We only build the rdbg library if HAS_NETWORKING and HAS_RDBG was defined
39RDBG_H_PIECES_yes_yes_V = servrpc rdbg $(RTEMS_CPU)/rdbg_f $(RTEMS_CPU)/reg
40RDBG_H_FILES=$(RDBG_H_PIECES_$(HAS_NETWORKING)_$(HAS_RDBG)_V:%=$(srcdir)/rdbg/%.h)
41
42SRCS=$(H_FILES) $(SYS_H_FILES) \
43     $(MOTOROLA_H_FILES) $(RTEMSCPLUSPLUS_H_FILES) \
44     $(RPC_H_FILES) $(RDBG_H_FILES)
45
46include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
47include $(RTEMS_ROOT)/make/leaf.cfg
48CLEAN_ADDITIONS +=
49CLOBBER_ADDITIONS +=
50
51all:    $(SRCS)
52        $(INSTALL_CHANGE) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
53        $(INSTALL_CHANGE) -m 444 $(SYS_H_FILES) $(PROJECT_INCLUDE)/sys
54        $(INSTALL_CHANGE) -m 444 $(MOTOROLA_H_FILES) \
55            $(PROJECT_INCLUDE)/motorola
56        $(INSTALL_CHANGE) -m 444 $(ZILOG_H_FILES) $(PROJECT_INCLUDE)/zilog
57ifeq ($(HAS_CPLUSPLUS),yes)
58        $(INSTALL_CHANGE) -m 444 $(RTEMSCPLUSPLUS_H_FILES) $(PROJECT_INCLUDE)/rtems++
59endif
60ifeq ($(HAS_NETWORKING),yes)
61        $(INSTALL_CHANGE) -m 444 $(RPC_H_FILES) $(PROJECT_INCLUDE)/rpc
62ifeq ($(HAS_RDBG),yes)
63        $(INSTALL_CHANGE) -m 444 $(RDBG_H_FILES) $(PROJECT_INCLUDE)/rdbg
64endif
65endif
66
67Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
68        cd $(top_builddir) \
69         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
Note: See TracBrowser for help on using the repository browser.