From 621e1c9b74272ff94efec749c6c4a673a7c315e8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 11 Jan 2012 14:32:49 +0100 Subject: Support custom Makefiles. --- c/src/make/Makefile.am | 2 +- c/src/make/bsp.mk.in | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ c/src/make/configure.ac | 1 + 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 c/src/make/bsp.mk.in (limited to 'c/src/make') diff --git a/c/src/make/Makefile.am b/c/src/make/Makefile.am index c9e6f79538..0303118343 100644 --- a/c/src/make/Makefile.am +++ b/c/src/make/Makefile.am @@ -22,7 +22,7 @@ rtems_bspdir = $(rtemsdir)/@RTEMS_BSP@ rtems_bsp_DATA = Makefile.inc rtems_bsp_makedir = $(rtems_bspdir)/make -rtems_bsp_make_DATA = bsp.cfg target.cfg +rtems_bsp_make_DATA = bsp.cfg target.cfg bsp.mk bsp.cfg: bsp.cfg.in Makefile sed \ diff --git a/c/src/make/bsp.mk.in b/c/src/make/bsp.mk.in new file mode 100644 index 0000000000..12a4e1936f --- /dev/null +++ b/c/src/make/bsp.mk.in @@ -0,0 +1,59 @@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +RTEMS_API = @RTEMS_API@ +RTEMS_BSP = @RTEMS_BSP@ +RTEMS_ROOT = @prefix@ +RTEMS_SHARE = $(RTEMS_ROOT)/share/rtems$(RTEMS_API) +PROJECT_ROOT = @exec_prefix@/@RTEMS_BSP@ +PROJECT_INCLUDE = $(PROJECT_ROOT)/lib/include +PROJECT_LIB = $(PROJECT_ROOT)/lib +BUILDDIR = build-$(RTEMS_BSP) + +include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg + +DEPFLAGS = -MT $@ -MD -MP -MF $(basename $@).d +SYSFLAGS = -B $(PROJECT_LIB) -specs bsp_specs -qrtems +WARNFLAGS = -Wall -Wextra -Wformat=2 -Wcast-qual -Wconversion -Wno-unused +OPTFLAGS = $(CFLAGS_OPTIMIZE_V) + +CFLAGS = $(DEPFLAGS) $(SYSFLAGS) $(WARNFLAGS) $(CPU_CFLAGS) $(OPTFLAGS) +CXXFLAGS = $(DEPFLAGS) $(SYSFLAGS) $(WARNFLAGS) $(CPU_CFLAGS) $(OPTFLAGS) +LINKFLAGS = $(SYSFLAGS) $(CPU_CFLAGS) $(LDFLAGS) $(OPTFLAGS) +ASFLAGS = $(CPU_CFLAGS) + +CCLINK = $(CC) $(LINKFLAGS) -Wl,-Map,$(basename $@).map +CXXLINK = $(CXX) $(LINKFLAGS) -Wl,-Map,$(basename $@).map + +$(BUILDDIR)/%.o: %.c + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.o: %.S + $(CC) $(CPPFLAGS) -DASM $(CFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.o: %.cc + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ + +$(BUILDDIR)/%.o: %.s + $(AS) $(ASFLAGS) $< -o $@ + +AR = @AR@ +AS = @AS@ +CC = @CC@ +CXX = @CXX@ +LD = @LD@ +NM = @NM@ +OBJCOPY = @OBJCOPY@ +RANLIB = @RANLIB@ +SIZE = @SIZE@ +STRIP = @STRIP@ +export AR +export AS +export CC +export CXX +export LD +export NM +export OBJCOPY +export RANLIB +export SIZE +export STRIP diff --git a/c/src/make/configure.ac b/c/src/make/configure.ac index dac051376f..8905474d41 100644 --- a/c/src/make/configure.ac +++ b/c/src/make/configure.ac @@ -80,5 +80,6 @@ AC_CONFIG_LINKS([leaf.cfg:leaf.cfg]) # Explicitly list all Makefiles here AC_CONFIG_FILES([Makefile +bsp.mk ]) AC_OUTPUT -- cgit v1.2.3