$(foreach src,$(filter %.cpp,$(KERN_SOURCES)),$(eval $(call COMPILE_cc_o_kern_template,$(SOURCES_DIR)/$(src),$(src:%.cpp=%.ko),)))
$(foreach src,$(filter %.S,$(KERN_SOURCES)),$(eval $(call COMPILE_S_o_kern_template,$(SOURCES_DIR)/$(src),$(src:%.S=%.ko),)))
+$(foreach romfs,$(EMBEDROMFS),$(eval $(call ROMFS_template,$(romfs),$(romfs)_img,$(SOURCES_DIR)/$(romfs))))
+
check-dir::
@$(call mkdir_def,$(USER_REGISTRY_DIR))
@$(call mkdir_def,$(KERN_MODULES_DIR))
$(foreach prog,$(bin_PROGRAMS),$(eval $(call ELF_template,$(prog),$(USER_BIN_DIR))))
$(foreach prog,$(test_PROGRAMS),$(eval $(call ELF_template,$(prog),$(USER_TESTS_DIR))))
+ifneq ($(ELF_FILE_LDSCRIPT),)
binary-pass-local: $(bin_PROGRAMS:%=$(USER_BIN_DIR)/%.elf) $(test_PROGRAMS:%=$(USER_TESTS_DIR)/%.elf)
+binary-pass-local: $(kernel_MODULES:%=$(KERN_MODULES_DIR)/%$(KERN_LINK_SUFFIX))
+endif
-binary-pass-local: $(kernel_MODULES:%=$(KERN_MODULES_DIR)/%$(KERN_LINK_SUFFIX)) $(kernel_MODULES:%=$(KERN_MODULES_DIR)/lib%.ka)
+binary-pass-local: $(kernel_MODULES:%=$(KERN_MODULES_DIR)/lib%.ka)
$(foreach prog,$(bin_PROGRAMS),$(eval $(call PROGBUILTIN_template,$(prog),$(USER_REGISTRY_DIR),$(USER_REGISTRY_DIR))))