source: rtems/Makefile.in @ 1c24fe7

4.104.114.84.95
Last change on this file since 1c24fe7 was 254b4450, checked in by Joel Sherrill <joel.sherrill@…>, on 04/01/97 at 23:07:52

This set of changes is the build of what was required to convert to
GNU autoconf. This is the first large step in allowing an RTEMS
user to perform a one-tree build (per crossgcc FAQ) including RTEMS
in the build process. With this change RTEMS is configured in
built in the same style as the GNU tools, yet retains the basic
structure of its traditional Makefiles (ala Tony Bennett).
Jiri Gaisler (jgais@…) deserves (and received)
a big thank you for doing this.

There are still issues to be resolved but as of this commit, all target
which can be built on a linux host have been using a modified version
of the source Jiri submitted. This source was merged and most targets
built in the tree before this commit.

There are some issues which remain to be resolved but they are primarily
related to host OS dependencies, script issues, the use of gawk
for hack_specs, and the dependence on gcc snapshots. These will
be resolved.

  • Property mode set to 100644
File size: 2.5 KB
Line 
1#
2# top level directory for RTEMS build tree
3#
4# Modified by Jiri to implement autoconf and cygnus one-tree build
5#
6
7@SET_MAKE@
8srcdir = @srcdir@
9prefix = @prefix@
10exec_prefix = @exec_prefix@
11bindir = @bindir@
12libdir = @libdir@
13includedir = @includedir@
14target = @target@
15manext = 1
16mandir = @mandir@/man$(manext)
17program_prefix = @program_prefix@
18
19
20VPATH=@srcdir@
21
22CFLAGS = @CFLAGS@
23CPPFLAGS = @CPPFLAGS@
24DEFS = @DEFS@
25LDFLAGS =
26LIBS = @LIBS@
27CC_FOR_BUILD = gcc
28
29
30CC_FOR_TARGET = $(program_prefix)gcc
31AS_FOR_TARGET = $(program_prefix)as
32AR_FOR_TARGET = $(program_prefix)ar
33NM_FOR_TARGET = $(program_prefix)nm
34LD_FOR_TARGET = $(program_prefix)ld
35OBJCOPY_FOR_TARGET = $(program_prefix)objcopy
36SIZE_FOR_TARGET = $(program_prefix)size
37
38AWK = @AWK@
39
40RTEMS_ROOT = @RTEMS_ROOT@
41RTEMS_HOST = @RTEMS_HOST@
42PROJECT_ROOT = @PROJECT_ROOT@
43RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
44RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
45
46ifeq ($(RTEMSBSP),)
47  RTEMS_BSP = @RTEMS_BSP@
48else
49  RTEMS_BSP = $(RTEMSBSP)
50endif
51
52include $(RTEMS_ROOT)/make/main.cfg
53
54MTARGETS = all $(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_all) \
55clean_wrapup distclean clean_dirs clean_tools install tests clean
56
57.PHONY: clean_modules mlink
58
59EXIT_CMD = exit 1
60
61# Don't pass flags from previous make - especially NOT CFLAGS
62override MAKEFLAGS=
63
64$(MTARGETS): mlink
65        BASEDIR=`pwd`; \
66        for bsp in $(RTEMS_BSP) xxx; \
67        do if [ $$bsp != xxx ] ; then  \
68            cd $$BASEDIR; \
69            cmd="cd c; $(MAKE) RTEMS_BSP=$$bsp $(FLAGS_TO_PASS) \
70            RTEMS_CUSTOM=$(RTEMS_ROOT)/make/custom/$$bsp.cfg \
71            INSTALL=$(PROJECT_ROOT)/$$bsp/build-tools/install-if-change \
72            \"CC=$(CC_FOR_TARGET)\" \
73            \"XCFLAGS=$(CFLAGS_FOR_TARGET)\" \
74            \"CC_FOR_BUILD=$(CC_FOR_BUILD)\" \
75            \"AS=$(AS_FOR_TARGET)\" \
76            \"LD=$(LD_FOR_TARGET)\" \
77            \"NM=$(NM_FOR_TARGET)\" \
78            \"AR=$(AR_FOR_TARGET)\" \
79            \"SIZE=$(SIZE_FOR_TARGET)\" \
80            \"OBJCOPY=$(OBJCOPY_FOR_TARGET)\" \
81            \"RTEMS_ROOT=$(RTEMS_ROOT)\" \
82            \"RTEMS_HOST=$(RTEMS_HOST)\" \
83            \"PROJECT_HOME=$(PROJECT_ROOT)/$$bsp\" \
84            \"PROJECT_ROOT=$(PROJECT_ROOT)\" \
85            \"RTEMS_HAS_POSIX_API=$(RTEMS_HAS_POSIX_API)\" \
86            \"RTEMS_USE_MACROS=$(RTEMS_USE_MACROS)\" \
87            \"AWK=$(AWK)\" $@" ; \
88            eval $$cmd || $(EXIT_CMD); \
89        fi; done;
90
91clean_modules:
92        rm -f src/Modules/rtems/.moduleavailcache
93        rm -f src/Modules/rtems/.moduleavailcachedir
94
95mlink:
96        test -d make || ln -s $(RTEMS_ROOT)/make make
97
98
99
Note: See TracBrowser for help on using the repository browser.