[rtems commit] Support custom Makefiles.

Sebastian Huber sebh at rtems.org
Mon Jul 9 08:39:07 UTC 2012


Module:    rtems
Branch:    master
Commit:    34a706d9d6b4245ed21de86318ef7e7ea9049e66
Changeset: http://git.rtems.org/rtems/commit/?id=34a706d9d6b4245ed21de86318ef7e7ea9049e66

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Jan 11 14:32:49 2012 +0100

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 deletions(-)

diff --git a/c/src/make/Makefile.am b/c/src/make/Makefile.am
index c9e6f79..0303118 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 0000000..12a4e19
--- /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 dac0513..8905474 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




More information about the vc mailing list