source: rtems/c/src/lib/libbsp/Makefile.in @ 561e4ff6

4.104.114.84.95
Last change on this file since 561e4ff6 was 9608320, checked in by Joel Sherrill <joel.sherrill@…>, on 11/22/99 at 13:41:11

Patch rtems-rc-19991117-4.diff from Ralf Corsepius <corsepiu@…>:

.. a major configuration cleanup
... major enhancement of automake support.

... and it contains a *major* breakthough:

Automake support for libchip and libmisc *LEAF* directories.

To implement this I have used several nasty tricks

  • The basical trick is to wrap an old Makefile.in's contents into a Makefile.am and still continue to use (i.e include) the old *.cfg files.
  • Replaced each INSTALL_IF_CHANGE and INSTALL_VARIANT with make dependencies
  • Add a gnu-make ifdef AUTOMAKE to main.cfg to avoid conflicts between automake and RTEMS make rules
  • Replaced each install:: and preinstall:: rule with make dependencies
  • Replaced SUB_DIRS with SUBDIRS in all Makefile.ins (Automake convention)
  • Removed each manually added autoconf substitution which automake performs automatically.

This is not yet full automake support, because using the temporary
installation directory, preinstallation in general and building variants
are in contradiction to automake's basic working principles ...

... the new Makefile.ams work still somewhat clumsy
... nevertheless they work (quite well).

WARNING:

At first glance this patch is small, but

  • it affects the whole configuration system.
  • it opens the road to introducing automake to all Makefile.ins currently not being under automake control.

JOEL> Does this remove or add any files?

Both, all Makefile.ins below libchip and libmisc get replaced with
Makefile.ams.

  • Property mode set to 100644
File size: 1.4 KB
Line 
1#
2#  $Id$
3#
4
5@SET_MAKE@
6srcdir = @srcdir@
7top_srcdir = @top_srcdir@
8top_builddir = .
9
10RTEMS_ROOT = @RTEMS_ROOT@
11PROJECT_ROOT = @PROJECT_ROOT@
12
13VPATH = @srcdir@
14
15include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
16include $(RTEMS_ROOT)/make/directory.cfg
17
18INSTALL_CHANGE = @INSTALL_CHANGE@
19mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
20
21INSTALLDIRS = $(PROJECT_ROOT)/@RTEMS_BSP@/lib
22
23$(INSTALLDIRS):
24        @$(mkinstalldirs) $(INSTALLDIRS)
25
26# shmdr is a portable shared memory MPCI layer
27# We only build it if HAS_MP was defined
28@HAS_MP_TRUE@MP_DRIVERS = shmdr
29
30SUBDIRS = $(MP_DRIVERS)
31
32# If we are building a "real" BSP, then we need to descend into the
33# appropriate CPU specific directory.  The bare BSP is a special
34# case which can be built for any CPU and it resides at the same
35# level as the CPUs.  If we are building the bare BSP, then descend
36# into that directory.
37
38SUBDIRS += @RTEMS_LIBBSP_CPU_SUBDIR@
39
40preinstall:
41        @$(mkinstalldirs) $(PROJECT_ROOT)/@RTEMS_BSP@/lib
42        @if test "@RTEMS_BSP@" = "bare"; then \
43          $(INSTALL_CHANGE) -m 644 \
44            $(srcdir)/bare/bsp_specs \
45            $(PROJECT_ROOT)/@RTEMS_BSP@/lib; \
46        else \
47          $(INSTALL_CHANGE) -m 644 \
48            $(srcdir)/$(RTEMS_CPU)/${RTEMS_BSP_FAMILY}/bsp_specs \
49            $(PROJECT_ROOT)/@RTEMS_BSP@/lib; \
50        fi
51
52Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
53        cd $(top_builddir) \
54         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
Note: See TracBrowser for help on using the repository browser.