summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2005-06-17 16:12:33 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2005-06-17 16:12:33 +0000
commit3f0bb34c6eb5039ed0d9a27d0a8c350019058fbe (patch)
tree5d16f7db03b3f0a19539caeca220590acf7b84c8 /make
parent2005-06-17 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-3f0bb34c6eb5039ed0d9a27d0a8c350019058fbe.tar.bz2
2005-06-17 Markku Puro <markku.puro@kopteri.net>
* Makefile.am: Adding GameBoy Advance BSP. * custom/gba.cfg: New file.
Diffstat (limited to 'make')
-rw-r--r--make/ChangeLog5
-rw-r--r--make/Makefile.am2
-rw-r--r--make/custom/gba.cfg60
3 files changed, 66 insertions, 1 deletions
diff --git a/make/ChangeLog b/make/ChangeLog
index 9cecd93a74..30ccfd1bd5 100644
--- a/make/ChangeLog
+++ b/make/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-17 Markku Puro <markku.puro@kopteri.net>
+
+ * Makefile.am: Adding GameBoy Advance BSP.
+ * custom/gba.cfg: New file.
+
2005-06-17 Joel Sherrill <joel@OARcorp.com>
* custom/mcf5235.cfg: New file.
diff --git a/make/Makefile.am b/make/Makefile.am
index be7998c331..5c0aceaf05 100644
--- a/make/Makefile.am
+++ b/make/Makefile.am
@@ -25,7 +25,7 @@ EXTRA_DIST += custom/Cygwin-posix.cfg custom/FreeBSD-posix.cfg \
custom/bare.cfg custom/cvme961.cfg custom/dmv152.cfg \
custom/ep1a custom/erc32.cfg custom/erc32nfp.cfg custom/gen68302.cfg \
custom/gen68340.cfg custom/gen68360.cfg custom/gen68360_040.cfg \
- custom/uC5282.cfg \
+ custom/uC5282.cfg custom/gba \
custom/gensh1.cfg custom/helas403.cfg custom/i386ex.cfg custom/idp.cfg \
custom/jmr3904.cfg custom/leon1.cfg custom/leon2.cfg custom/mcp750.cfg \
custom/mvme136.cfg custom/mvme147.cfg custom/mvme147s.cfg \
diff --git a/make/custom/gba.cfg b/make/custom/gba.cfg
new file mode 100644
index 0000000000..521b1f99a9
--- /dev/null
+++ b/make/custom/gba.cfg
@@ -0,0 +1,60 @@
+#
+# Config file for Gameboy Advance ARM --
+#
+# $Id$
+#
+
+include $(RTEMS_ROOT)/make/custom/default.cfg
+
+RTEMS_CPU=arm
+RTEMS_CPU_MODEL=arm7tdmi
+
+# This is the actual bsp directory used during the build process.
+RTEMS_BSP_FAMILY=gba
+
+# This contains the compiler options necessary to select the CPU model
+# and (hopefully) optimize for it.
+#
+#CPU_CFLAGS = -mcpu=$(RTEMS_CPU_MODEL) -mthumb -mthumb-interwork -msoft-float -mstructure-size-boundary=8
+CPU_CFLAGS = -mcpu=$(RTEMS_CPU_MODEL) -msoft-float -mstructure-size-boundary=8
+
+# optimize flag: typically -0, could use -O4 or -fast
+# -O4 is ok for RTEMS
+# NOTE2: some level of -O may be actually required by inline assembler
+CFLAGS_OPTIMIZE_V=-O3
+CXXFLAGS_OPTIMIZE_V=-O3
+
+# debug flags: typically none, but at least -O1 is required due to
+# this BSP using inlined code
+CFLAGS_DEBUG_V=-O1 -ggdb
+CXXFLAGS_DEBUG_V=-O1 -ggdb
+
+# profile flag:
+CFLAGS_PROFILE_V=-pg
+CXXFLAGS_PROFILE_V=-pg
+
+define make-exe
+ $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -static \
+ -Wl,-Map,$(basename $@).map -o $(basename $@).obj \
+ $(LINK_OBJS) $(LINK_LIBS)
+ $(OBJCOPY) -O binary $(basename $@).obj $@
+ $(OBJCOPY) -O binary --remove-section=.comment \
+ --remove-section=.note --strip-unneeded \
+ $(basename $@).obj $(basename $@).gba
+ $(NM) -g -n $(basename $@).obj > $(basename $@).num
+ $(SIZE) $(basename $@).obj
+endef
+
+define make-cxx-exe
+ $(LINK.cc) $(AM_CFLAGS) $(AM_CXXFLAGS) $(AM_LDFLAGS) -static \
+ -Wl,-Map,$(basename $@).map -o $(basename $@).obj \
+ $(LINK_OBJS) $(LINK_LIBS)
+ $(OBJCOPY) -O binary $(basename $@).obj $@
+ $(OBJCOPY) -O binary --remove-section=.comment \
+ --remove-section=.note --strip-unneeded \
+ $(basename $@).obj $(basename $@).gba
+ $(NM) -g -n $(basename $@).obj > $(basename $@).num
+ $(SIZE) $(basename $@).obj
+endef
+
+# Miscellaneous additions go here