forked from Imagelibrary/rtems
93 lines
2.6 KiB
Makefile
93 lines
2.6 KiB
Makefile
#
|
|
# $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
|