source: rtems/c/src/exec/score/cpu/a29k/wrap/Makefile.in @ d8ff793

4.104.114.84.95
Last change on this file since d8ff793 was d8ff793, checked in by Joel Sherrill <joel.sherrill@…>, on 03/19/99 at 22:27:02

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# *** NOTE *** This Makefile violates RTEMS Makefile standards.
5# This Makefile picks up sources from outside this directory
6# and installs relocatible objects outside of this directory.
7# This behavior is a work-around for RTEMS Makefile's missing
8# ability to compile inside of directories containing subdirectories.
9# This directory will disapear once automake will be introduced.
10#
11
12@SET_MAKE@
13srcdir = @srcdir@
14top_srcdir = @top_srcdir@
15top_builddir = ../../../../../../..
16subdir = c/src/exec/score/cpu/a29k/wrap
17
18INSTALL = @INSTALL@
19
20RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
21PROJECT_ROOT = @PROJECT_ROOT@
22
23VPATH = @srcdir@/..
24
25RELS=../$(ARCH)/rtems-cpu.rel
26
27# C source names, if any, go here -- minus the .c
28C_PIECES = cpu rtems
29C_FILES=$(C_PIECES:%=%.c)
30C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
31
32H_PIECES = amd.ah asm.h cpu_asm.h pswmacro.ah register.ah
33H_FILES=$(H_PIECES:%=$(srcdir)/../%)
34
35# Assembly source names, if any, go here -- minus the .S
36S_PIECES = cpu_asm sig
37S_FILES=$(S_PIECES:%=%.S)
38S_O_FILES=$(S_FILES:%.S=${ARCH}/%.o)
39
40SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES) $(EXTERNAL_H_FILES)
41OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
42
43include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
44include $(RTEMS_ROOT)/make/leaf.cfg
45
46#
47# (OPTIONAL) Add local stuff here using +=
48#
49
50DEFINES  +=
51CPPFLAGS += -I$(srcdir)/..
52CFLAGS   += $(CFLAGS_OS_V)
53
54LD_PATHS  +=
55LD_LIBS   +=
56LDFLAGS   +=
57
58#
59# Add your list of files to delete here.  The config files
60#  already know how to delete some stuff, so you may want
61#  to just run 'make clean' first to see what gets missed.
62#  'make clobber' already includes 'make clean'
63#
64
65CLEAN_ADDITIONS += ../$(ARCH)
66CLOBBER_ADDITIONS +=
67
68../$(ARCH)/rtems-cpu.rel: $(OBJS)
69        test -d ../$(ARCH) || mkdir ../$(ARCH)
70        $(make-rel)
71
72all:    ${ARCH} $(SRCS) preinstall $(OBJS) $(RELS)
73
74# Install the program(s), appending _g or _p as appropriate.
75# for include files, just use $(INSTALL_CHANGE)
76install:  all
77
78preinstall: ${ARCH}
79        $(INSTALL_CHANGE) -m 444 ${H_FILES} $(PROJECT_INCLUDE)
80
81Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
82        cd $(top_builddir) \
83         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
Note: See TracBrowser for help on using the repository browser.