summaryrefslogtreecommitdiffstats
path: root/m4/rtems-bsp-postlink.m4
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2009-04-22 22:06:58 +0000
committerTill Straumann <strauman@slac.stanford.edu>2009-04-22 22:06:58 +0000
commita8bf95d0249565f4210ccab5c13232d501ce0c2d (patch)
treee01f2eca98add8dba13eec23a95fa22120638890 /m4/rtems-bsp-postlink.m4
parentThis commit was manufactured by cvs2svn to create branch 'base'. (diff)
downloadlibbsdport-a8bf95d0249565f4210ccab5c13232d501ce0c2d.tar.bz2
- importing updated version from SLAC as of 20090422
Diffstat (limited to 'm4/rtems-bsp-postlink.m4')
-rw-r--r--m4/rtems-bsp-postlink.m432
1 files changed, 32 insertions, 0 deletions
diff --git a/m4/rtems-bsp-postlink.m4 b/m4/rtems-bsp-postlink.m4
new file mode 100644
index 0000000..c2007d4
--- /dev/null
+++ b/m4/rtems-bsp-postlink.m4
@@ -0,0 +1,32 @@
+# Define 'postlink' commands based on BSP family
+#
+# NOTE: This is NOT extracted from the RTEMS makefiles but
+# essentially a copy of what rtems-4.9.0 does.
+# It would be too hard to figure this one out ;-(
+#
+AC_DEFUN([TILLAC_RTEMS_BSP_POSTLINK_CMDS],
+ [AC_ARG_VAR([RTEMS_BSP_POSTLINK_CMDS],[Command sequence to convert ELF file into downloadable executable])
+ AC_MSG_NOTICE([Setting RTEMS_BSP_POSTLINK_CMDS based on RTEMS_BSP_FAMILY])
+ case "$RTEMS_BSP_FAMILY" in
+ svgm|beatnik|mvme5500|mvme3100|uC5282|mvme167|mvme162)
+# convert ELF -> pure binary
+ RTEMS_BSP_POSTLINK_CMDS='$(OBJCOPY) -Obinary -R .comment -S $(basename $[@])$(APPEXEEXT) $[@]'
+ ;;
+ motorola_powerpc)
+# convert ELF -> special PREP bootloader
+ RTEMS_BSP_POSTLINK_CMDS=\
+'$(OBJCOPY) -O binary -R .comment -S $(basename $[@])$(APPEXEEXT) rtems ;'\
+'gzip -vf9 rtems ; '\
+'$(LD) -o $(basename $[@])$(DOWNEXT) $(RTEMS_BSP_INSTTOP)/lib/bootloader.o '\
+'--just-symbols=$(basename $[@])$(APPEXEEXT) '\
+'-b binary rtems.gz -T $(RTEMS_BSP_INSTTOP)/lib/ppcboot.lds '\
+'-Map $(basename $[@]).map && chmod 755 $(basename $[@])$(DOWNEXT) ; '\
+'rm -f rtems.gz'
+ ;;
+# default: empty command
+ *)
+ ;;
+ esac
+ AC_MSG_NOTICE([RTEMS_BSP_POSTLINK_CMDS: "$RTEMS_BSP_POSTLINK_CMDS"])
+ AM_CONDITIONAL([HAVE_BSP_POSTLINK_CMDS], [test ! "$RTEMS_BSP_POSTLINK_CMDS"xx = "xx" ])]dnl
+)