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

4.104.114.84.95
Last change on this file since 50cf94da was 5c3511e, checked in by Joel Sherrill <joel.sherrill@…>, on 01/30/98 at 21:49:51

Big patch form Ralf Corsepius described in this email:

Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working
with different shells and relative/absolute paths.

What I did is relatively simple in principle:
Instead of setting RTEMS_ROOT in configure.in and then let configure
substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile
set RTEMS_ROOT from each Makefile's @top_srcdir@ value.

The difference is subtile, but with enormous side effects:

  • If RTEMS_ROOT is set in configure, then the same single value will be propagated to all Makefiles. This breaks using relative paths, as the relative path to the root of the source tree is used inside of all subdirectory Makefiles.
  • Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@. top_srcdir is computed individually by configure for each single Makefile.in, hereby receiving the correct value, no matter if relative or absolute paths are used.

To get this working, I needed to remove setting RTEMS_ROOT from
target.cfg.in, because this overrides the value of RTEMS_ROOT from each
individual Makefile.

Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all
"include $(RTEMS_CUSTOM)" directives with"include
$(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this,
but I think, to have one variable less is clearer and easier to
understand than having several variables refering to the next one.

I enclose a small patch to this mail, which

  • fixes the config.h problem (to finally clearify misunderstands)
  • removes assignment/subsitution of RTEMS_ROOT from configure.in
  • contains a workaround for the application Makefile's RTEMS_ROOT problem (reported by Eric)
  • removes some unused lines from the toplevel Makefile.in
  • removes assignment of RTEMS_ROOT from make/target.cfg.in
  • Property mode set to 100644
File size: 1.8 KB
Line 
1#
2#  $Id$
3#
4
5@SET_MAKE@
6srcdir = @srcdir@
7VPATH = @srcdir@
8RTEMS_ROOT = @top_srcdir@
9PROJECT_ROOT = @PROJECT_ROOT@
10
11H_PIECES=console clockdrv iosupp ringbuf \
12   spurious timerdrv vmeintr
13H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
14
15SYS_H_PIECES=termios
16SYS_H_FILES=$(SYS_H_PIECES:%=$(srcdir)/sys/%.h)
17
18KA9Q_H_PIECES= arp asy ax25 ax25mail bootp cmdparse commands config \
19  daemon dialer domain enet ftp ftpcli global hardware icmp iface \
20  internet ip kiss lapb lzw mailbox mbuf netuser nospc nr4 nr4mail \
21  nrs ping pktdrvr ppp proc rip rtems_ka9q sb session slhc slip smtp \
22  sockaddr SyslogDaemon syslog socket tcp telnet tftp timer tipmail \
23  trace udp usock
24KA9Q_H_FILES=$(KA9Q_H_PIECES:%=$(srcdir)/ka9q/%.h)
25
26MOTOROLA_H_PIECES=mc68230 mc68681
27MOTOROLA_H_FILES=$(MOTOROLA_H_PIECES:%=$(srcdir)/motorola/%.h)
28
29ZILOG_H_PIECES=z8036 z8530 z8536
30ZILOG_H_FILES=$(ZILOG_H_PIECES:%=$(srcdir)/zilog/%.h)
31
32RTEMSCPLUSPLUS_H_PIECES= rtemsEvent rtemsInterrupt rtemsMessageQueue \
33  rtemsSemaphore rtemsStatusCode rtemsTask rtemsTaskMode rtemsTimer
34RTEMSCPLUSPLUS_H_FILES=$(RTEMSCPLUSPLUS_H_PIECES:%=$(srcdir)/rtems++/%.h)
35
36SRCS=$(H_FILES) $(SYS_H_FILES) \
37     $(KA9Q_H_FILES) $(MOTOROLA_H_FILES) $(RTEMSCPLUSPLUS_H_FILES)
38
39include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
40include $(RTEMS_ROOT)/make/leaf.cfg
41CLEAN_ADDITIONS +=
42CLOBBER_ADDITIONS +=
43
44all:    $(SRCS)
45        $(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
46        $(INSTALL) -m 444 $(SYS_H_FILES) $(PROJECT_INCLUDE)/sys
47        $(INSTALL) -m 444 $(MOTOROLA_H_FILES) \
48            $(PROJECT_INCLUDE)/motorola
49        $(INSTALL) -m 444 $(ZILOG_H_FILES) $(PROJECT_INCLUDE)/zilog
50ifeq ($(HAS_KA9Q),yes)
51        $(INSTALL) -m 444 $(KA9Q_H_FILES) $(PROJECT_INCLUDE)/ka9q
52endif
53ifeq ($(HAS_CPLUSPLUS),yes)
54        $(INSTALL) -m 444 $(RTEMSCPLUSPLUS_H_FILES) $(PROJECT_INCLUDE)/rtems++
55endif
Note: See TracBrowser for help on using the repository browser.