]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/rtems.omk
RTEMS rules: add support for multiple OUTPUT_FORMATS
[omk.git] / snippets / rtems.omk
index 7854470be849ed5692fbf9165759f3c806a3c561..c5ea7d6d06e619f6607cda7780cf2e45946fdf60 100644 (file)
@@ -220,7 +220,18 @@ $(2)/$(1): $$($(1)_OBJS)
 # FIXME: Why the map file was commented out?
 endef
 
+# Rules for other output formats (can be specified by OUTPUT_FORMATS)
+%.bin: %
+       @$(QUIET_CMD_ECHO) "  OBJCOPY $@"
+       $(Q) $(OBJCOPY)  --output-target=binary -S $< $@
 
+%.hex: %
+       @$(QUIET_CMD_ECHO) "  OBJCOPY $@"
+       $(Q) $(OBJCOPY)  --output-target=ihex -S $< $@
+
+%.srec: %
+       @$(QUIET_CMD_ECHO) "  OBJCOPY $@"
+       $(Q) $(OBJCOPY)  --output-target=srec -S $< $@
 
 # Syntax: $(call LIBRARY_template,<library-name>)
 define LIBRARY_template
@@ -282,7 +293,8 @@ endef
 
 library-pass-local: $(lib_LIBRARIES:%=$(USER_LIB_DIR)/lib%.a) $(shared_LIBRARIES:%=$(USER_LIB_DIR)/lib%.so)
 
-binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%)
+binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%) $(utils_PROGRAMS:%=$(USER_UTILS_DIR)/%) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%) \
+                   $(foreach of,$(OUTPUT_FORMATS),$(bin_PROGRAMS:%=$(USER_BIN_DIR)/%.$(of)) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%.$(of)))
 
 GEN_HEADERS+=$(filter %.h,$(USER_IDLS:%.idl=%.h))