]> rtime.felk.cvut.cz Git - omk.git/commitdiff
RTEMS rules: add support for multiple OUTPUT_FORMATS
authorPavel Pisa <ppisa@pikron.com>
Wed, 16 Nov 2022 19:18:40 +0000 (20:18 +0100)
committerPavel Pisa <ppisa@pikron.com>
Wed, 16 Nov 2022 19:18:40 +0000 (20:18 +0100)
This allows to specify followup rules to build
U-boot images by specific config.target.
Usesfull for example for MicroZed Xilinx Zynq
based boards.

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
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))