source: rtems/c/src/librdbg/src/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.4 KB
Line 
1#
2#  $Id$
3#
4
5@SET_MAKE@
6srcdir = @srcdir@
7top_srcdir = @top_srcdir@
8top_builddir = ../../../..
9subdir = c/src/lib/librdbg
10
11INSTALL = @INSTALL@
12
13RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
14PROJECT_ROOT = @PROJECT_ROOT@
15
16VPATH = @srcdir@:@srcdir@/$(RTEMS_CPU)
17
18LIBNAME=librdbg.a
19LIB=${ARCH}/${LIBNAME}
20
21# C and C++ source names, if any, go here -- minus the .c or .cc
22C_PIECES= rdbg servcon servbkpt servrpc excep \
23          servtgt servtsp servutil _servtgt rdbg_f \
24          ptrace
25C_FILES=$(C_PIECES:%=%.c)
26C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
27
28# Asm source names, if any, go here -- minus the .s
29ASM_PIECES= rdbg_cpu_asm
30ASM_FILES=$(ASM_PIECES:%=%.s)
31ASM_O_FILES=$(ASM_PIECES:%=${ARCH}/%.o)
32
33# Generated C source names, if any, go here -- minus the .c
34C_GEN_PIECES= remdeb_xdr remdeb_svc
35C_GEN_FILES=$(C_GEN_PIECES:%=%.c)
36C_GEN_O_FILES=$(C_GEN_PIECES:%=${ARCH}/%.o)
37
38# H source names, if any, go here -- minus the .h
39H_PIECES=remdeb
40H_FILES=$(H_PIECES:%=%.h)
41
42# X source names, if any, go here -- minus the .x
43X_FILE1=remdeb.x
44X_FILE2=remdeb_f.x
45X_FILES=$(X_FILE1) $(X_FILE2)
46
47SRCS=$(C_FILES) $(ASM_FILES) $(C_GEN_FILES) $(H_FILES)
48OBJS=$(C_GEN_O_FILES) $(C_O_FILES) $(ASM_O_FILES)
49
50RPCGEN=rpcgen
51AWK=awk
52
53include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
54include $(RTEMS_ROOT)/make/lib.cfg
55
56#
57# Add local stuff here using +=
58#
59
60DEFINES  +=
61CPPFLAGS +=
62CFLAGS   +=
63
64#
65# Add your list of files to delete here.  The config files
66#  already know how to delete some stuff, so you may want
67#  to just run 'make clean' first to see what gets missed.
68#  'make clobber' already includes 'make clean'
69#
70
71CLEAN_ADDITIONS += $(LIB) $(H_FILES) $(X_FILES) $(C_GEN_FILES)
72CLOBBER_ADDITIONS +=
73
74all:    ${ARCH} $(LIB)
75        $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
76
77$(LIB): $(SRCS) ${OBJS}
78        $(make-library)
79
80remdeb.h: $(X_FILES)
81        @rm -f $@
82        $(RPCGEN) -h remdeb.x -o $@
83        @rm -f $(PROJECT_INCLUDE)/rdbg/$@
84        $(INSTALL_CHANGE) -m 444 $@ $(PROJECT_INCLUDE)/rdbg
85
86remdeb_xdr.c: $(X_FILES)
87        @rm -f $@
88        $(RPCGEN) -c remdeb.x -o $@
89
90remdeb_svc.c: $(X_FILES)
91        @rm -f $@ tmpSvc.c
92        $(RPCGEN) -s udp remdeb.x -o tmpSvc.c
93        $(AWK) -f @srcdir@/awk.svc THEPROG="remdeb.h" tmpSvc.c >$@
94        @rm -f tmpSvc.c
95
96preinstall:
97        @rm -f $(X_FILES)
98        @cp @srcdir@/$(X_FILE1) .
99        @cp @srcdir@/$(RTEMS_CPU)/$(RTEMS_BSP)/$(X_FILE2) .
100
101Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
102        cd $(top_builddir) \
103         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
Note: See TracBrowser for help on using the repository browser.