summaryrefslogtreecommitdiff
path: root/digital/ucoolib/build/arch.mk
diff options
context:
space:
mode:
Diffstat (limited to 'digital/ucoolib/build/arch.mk')
-rw-r--r--digital/ucoolib/build/arch.mk31
1 files changed, 31 insertions, 0 deletions
diff --git a/digital/ucoolib/build/arch.mk b/digital/ucoolib/build/arch.mk
index 1d035047..75b9eaa6 100644
--- a/digital/ucoolib/build/arch.mk
+++ b/digital/ucoolib/build/arch.mk
@@ -79,6 +79,37 @@ $1_EXTRA_CLEAN += $$($1_PROGS:%=%.$1.lst)
endef
+# Define binary rules.
+define arch_bin_rules
+
+hex: hex.$1
+srec: srec.$1
+bin: bin.$1
+all.$1: hex.$1
+
+.PHONY: hex.$1 srec.$1 bin.$1
+
+hex.$1: $$($1_PROGS:%=%.$1.hex)
+srec.$1: $$($1_PROGS:%=%.$1.srec)
+bin.$1: $$($1_PROGS:%=%.$1.bin)
+
+%.$1.hex: %.$1$$($1_ELF_SUFFIX)
+ @echo "HEX [$1] $$@"
+ $$Q$$($1_OBJCOPY) -O ihex $$< $$@
+%.$1.srec: %.$1$$($1_ELF_SUFFIX)
+ @echo "SREC [$1] $$@"
+ $$Q$$($1_OBJCOPY) -O srec $$< $$@
+%.$1.bin: %.$1$$($1_ELF_SUFFIX)
+ @echo "BIN [$1] $$@"
+ $$Q$$($1_OBJCOPY) -O binary $$< $$@
+
+$1_EXTRA_CLEAN += $$($1_PROGS:%=%.$1.hex) \
+ $$($1_PROGS:%=%.$1.srec) \
+ $$($1_PROGS:%=%.$1.bin)
+
+endef
+
+
# Define size report rules.
define arch_size_rules