blob: 7b281a3bbfc98735ca3a7b878ab4898af4e58bfd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
#
# $Id$
#
# Not strictly necessary to pull in this stuff. But it helps with
# working with the templates and poking around.
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
CLEAN_ADDITIONS +=
CLOBBER_ADDITIONS +=
# NOTE: No need to prepend $(srcdir) to file names,
# VPATH handles the paths for us.
# NOTE: Only the files really need get installed.
GENERIC_FILES := host.cfg target.cfg
MAKEFILES := README \
directory.cfg leaf.cfg \
lib.cfg main.cfg
# NOTE: Use the wildcard rule to install all custom files
# CUSTOM_FILES := $(wildcard $(srcdir)/custom/*.cfg)
# NOTE: This should be sufficient, but may fail for some BSPS:
# Get all custom files for the BSP family, they may depend on each other
#CUSTOM_FILES := custom/default.cfg $(patsubst %,custom/%.cfg, posix)
# This version of the rule is pretty ugly but I think it works ALL the time.
# + Figure out what this BSP.cfg includes
# + Make those files have the correct relative path.
# + Now fix $(RTEMS_HOST) to the real host name
CUSTOM_FILES := custom/default.cfg custom/$(RTEMS_BSP).cfg \
$(shell grep "^include.*make/custom" $(srcdir)/custom/$(RTEMS_BSP).cfg | \
sed -e 's/^.*make\///' | sed -e s/\\$$\(RTEMS_HOST\)/${RTEMS_HOST}/)
# NOTE: Use the wildcard rule to install all compiler files
# COMPILER_FILES := $(wildcard $(srcdir)/compilers/*.cfg)
COMPILER_FILES := $(CONFIG.$(TARGET_ARCH).CC) $(CONFIG.$(HOST_ARCH).CC)
# NOTE: Don't use a wildcard rule here, otherwise Templates/Makefile.inc
# will be installed, too
TEMPLATE_FILES := \
Templates/Makefile.dir \
Templates/Makefile.leaf \
Templates/Makefile.lib
get: retrieve
all:
$(prefix)/rtems:
-$(MKDIR) $(prefix)
-$(MKDIR) $(prefix)/rtems
install: install_files $(prefix)/rtems
install_files:: $(GENERIC_FILES) $(MAKEFILES)
@test -d $(prefix)/rtems/make || \
$(MKDIR) $(prefix)/rtems/make
for f in $^; do \
$(INSTALL) -m 644 "$$f" $(prefix)/rtems/make ;\
done
install_files:: $(COMPILER_FILES)
@test -d $(prefix)/rtems/make/compilers || \
$(MKDIR) $(prefix)/rtems/make/compilers
for f in $^; do \
$(INSTALL) -m 644 "$$f" $(prefix)/rtems/make/compilers; \
done
install_files:: $(CUSTOM_FILES)
@test -d $(prefix)/rtems/make/custom || \
$(MKDIR) $(prefix)/rtems/make/custom
for f in $^; do \
$(INSTALL) -m 644 "$$f" $(prefix)/rtems/make/custom; \
done
install_files:: $(TEMPLATE_FILES)
@test -d $(prefix)/rtems/make/Templates || \
$(MKDIR) $(prefix)/rtems/make/Templates
for f in $^; do \
$(INSTALL) -m 644 "$$f" $(prefix)/rtems/make/Templates; \
done
|