forked from Imagelibrary/rtems
This one is an enhancement to acpolish.
It replaces some Makefile variables by others variable in Makefile.ins
(tries to use unique name for some variables). It therefore eases
parsing Makefile.ins for further automatic Makefile.in conversions in
future.
To apply:
cd <rtems-source-tree>
sh <path-to>/rtems-rc-19990407-8.sh
./autogen
104 lines
2.7 KiB
Makefile
104 lines
2.7 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@
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = ..
|
|
subdir = make
|
|
|
|
INSTALL = @INSTALL@
|
|
|
|
RTEMS_ROOT = $(top_srcdir)/@RTEMS_TOPdir@
|
|
PROJECT_ROOT = @PROJECT_ROOT@
|
|
|
|
VPATH = @srcdir@
|
|
|
|
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):
|
|
@top_srcdir@/mkinstalldirs $@
|
|
|
|
install: $(prefix) \
|
|
$(prefix)/make \
|
|
$(prefix)/make/compilers \
|
|
$(prefix)/make/custom \
|
|
$(prefix)/make/Templates \
|
|
install_files
|
|
|
|
$(prefix)/make:
|
|
@top_srcdir@/mkinstalldirs $@
|
|
|
|
install_files:: $(GENERIC_FILES) $(MAKEFILES)
|
|
$(INSTALL_DATA) $^ $(prefix)/make
|
|
|
|
$(prefix)/make/compilers:
|
|
@top_srcdir@/mkinstalldirs $@
|
|
|
|
install_files:: $(COMPILER_FILES)
|
|
$(INSTALL_DATA) $^ $(prefix)/make/compilers
|
|
|
|
$(prefix)/make/custom:
|
|
@top_srcdir@/mkinstalldirs $@
|
|
|
|
install_files:: $(CUSTOM_FILES)
|
|
$(INSTALL_DATA) $^ $(prefix)/make/custom
|
|
|
|
$(prefix)/make/Templates:
|
|
@top_srcdir@/mkinstalldirs $@
|
|
|
|
install_files:: $(TEMPLATE_FILES)
|
|
$(INSTALL_DATA) $^ $(prefix)/make/Templates
|
|
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
cd $(top_builddir) \
|
|
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|