diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-01-11 14:32:49 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-08-10 09:05:45 +0200 |
commit | 80ba573f27728630c0c7b53e463fec44063a66c2 (patch) | |
tree | 41ab5d92520972b8be8779ca1461995705daa538 | |
parent | 0daa8ab825fe76a6fbb7460580326d53eff07ccd (diff) |
Support custom Makefiles
-rw-r--r-- | c/src/make/Makefile.am | 6 | ||||
-rw-r--r-- | c/src/make/bsp.mk.in | 62 | ||||
-rw-r--r-- | c/src/make/configure.ac | 1 |
3 files changed, 69 insertions, 0 deletions
diff --git a/c/src/make/Makefile.am b/c/src/make/Makefile.am index d0383df8ed..c162d6b981 100644 --- a/c/src/make/Makefile.am +++ b/c/src/make/Makefile.am @@ -20,6 +20,12 @@ rtems_bsp_DATA = Makefile.inc rtems_bsp_makedir = $(rtems_bspdir)/make rtems_bsp_make_DATA = bsp.cfg target.cfg +rtems_make_customdir = $(prefix)/make/custom +rtems_make_custom_DATA = @RTEMS_BSP@.mk + +@RTEMS_BSP@.mk: bsp.mk + cp bsp.mk @RTEMS_BSP@.mk + bsp.cfg: bsp.cfg.in Makefile sed \ -e "s|[@]HAS_MP[@]|$(HAS_MP)|" \ diff --git a/c/src/make/bsp.mk.in b/c/src/make/bsp.mk.in new file mode 100644 index 0000000000..a71dcf985e --- /dev/null +++ b/c/src/make/bsp.mk.in @@ -0,0 +1,62 @@ +RTEMS_API = @RTEMS_API@ +RTEMS_CPU = @RTEMS_CPU@ +RTEMS_SHARE = $(RTEMS_ROOT)/share/rtems$(RTEMS_API) +PROJECT_ROOT = $(RTEMS_ROOT)/$(RTEMS_CPU)-rtems$(RTEMS_API)/$(RTEMS_BSP) +PROJECT_INCLUDE = $(PROJECT_ROOT)/lib/include +PROJECT_LIB = $(PROJECT_ROOT)/lib +BUILDDIR = b-$(RTEMS_BSP) + +prefix = $(RTEMS_ROOT) +exec_prefix = $(RTEMS_ROOT)/$(RTEMS_CPU)-rtems$(RTEMS_API) + +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 -Wconversion -Wformat-security -Wformat=2 -Wshadow -Wcast-qual -Wcast-align -Wredundant-decls -Werror +CWARNFLAGS = $(WARNFLAGS) -Wstrict-prototypes -Wbad-function-cast +OPTFLAGS = $(CFLAGS_OPTIMIZE_V) + +CFLAGS = $(DEPFLAGS) $(SYSFLAGS) $(CWARNFLAGS) $(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: %.cpp + $(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 10c47a06d8..60001ea47f 100644 --- a/c/src/make/configure.ac +++ b/c/src/make/configure.ac @@ -79,5 +79,6 @@ AC_CONFIG_LINKS([leaf.cfg:leaf.cfg]) # Explicitly list all Makefiles here AC_CONFIG_FILES([Makefile +bsp.mk ]) AC_OUTPUT |