XML files used during ChorusOS system generation
are copied to the conf directory, so that they can be
modified using the configurator command or the ews graphical tool. A component that adds new XML
files must have rules to execute these files in its Makefile.bin file. For instance, the Makefile.bin of the OS
component contains:
OS_XML = os.xml sys_rule.xml sys_action.xml cinit.xml cinit_action.xml hrCtrl.xm l hrCtrl_action.xml OS_SYSADM = sysadm.ini xml:: DEVTOOLS.all $(OS_DIR)/exports.lst @sh $(DEVTOOLS_DIR)/cpxml $(BUILD_DIR)/conf/mkconfig $(OS_DIR)/conf/ mkconfig $(OS_XML) @sh $(DEVTOOLS_DIR)/cpxml $(BUILD_DIR)/conf $(OS_DIR)/conf $(OS_SYSADM) @sh $(DEVTOOLS_DIR)/cpxml $(OS_DIR) $(OS) Makefile.bin
In this example, the XML files have to be copied from the OS
merged tree, so the XML target depends on $(OS_DIR)/exports.lst (which is produced by mkmerge
during the OS
merge). The cpxml
command acts as a wrapper around cp.