TARGET_OS := $(BUILD_OS)
endif
+export TARGET_OS
+export BUILD_OS
+
LOCAL_BUILD_DIR = $(USER_OBJS_DIR)
# Assign default values to CFLAGS variable. If the variable is defined
ifdef KERN_RULE_TEMPLATES
-$(KERN_LIB_DIR)/kernel.mk: $(LINUX_DIR)/.config $(OUTPUT_DIR)/kernelcfg2mk
+$(KERN_LIB_DIR)/kernel.mk: $(LINUX_DIR)/.config $(MAKERULES_DIR)/kernelcfg2mk
@$(QUIET_CMD_ECHO) " KCFG2MK $$@"
- $(Q) $(OUTPUT_DIR)/kernelcfg2mk $(LINUX_DIR) $(KERN_LIB_DIR)
+ $(Q) $(MAKERULES_DIR)/kernelcfg2mk $(LINUX_DIR) $(KERN_LIB_DIR)
ifeq ($(CONFIG_RTLINUX),y)
include $(RTL_DIR)/rtl.mk
$(eval $(call omk_pass_template,clean,$(USER_OBJS_DIR),,always))
$(eval $(call omk_pass_template,install,$(USER_OBJS_DIR),,always))
-$(eval $(call omk_pass_template,include-pass,$(USER_OBJS_DIR),,always))
+$(eval $(call omk_pass_template,include-pass,$(USER_OBJS_DIR),USER_RULE_TEMPLATES=y,always))
check-dir:
@$(call mkdir_def,$(USER_BUILD_DIR))
install-local: # TODO
-include-pass-local:
- $(call include-pass-template,$(USER_INCLUDE_DIR),include)
- $(call include-pass-template,$(KERN_INCLUDE_DIR),kernel)
+$(eval $(call include-pass-template,$(USER_INCLUDE_DIR),include))
+$(eval $(call include-pass-template,$(KERN_INCLUDE_DIR),kernel))
ifeq ($(CONFIG_RTLINUX),y)
- $(call include-pass-template,$(KERN_INCLUDE_DIR),rtlinux)
+$(eval $(call include-pass-template,$(KERN_INCLUDE_DIR),rtlinux))
endif
+
ifdef USER_RULE_TEMPLATES
# User-space static libraries and applications object files
clean-local: clean-custom
@echo Cleaning in $(KERN_OBJS_DIR) and $(USER_OBJS_DIR)
- @rm -f $(KERN_OBJS_DIR)/*.o $(USER_OBJS_DIR)/*.o $(USER_OBJS_DIR)/*.lo \
+ @rm -f $(KERN_OBJS_DIR)/*.o $(USER_OBJS_DIR)/*.[och] $(USER_OBJS_DIR)/*.lo\
$(KERN_OBJS_DIR)/*.d $(USER_OBJS_DIR)/*.d \
$(KERN_OBJS_DIR)/*.map $(USER_OBJS_DIR)/*.map \
$(KERN_OBJS_DIR)/*.mod.c \
touch -t 200001010101 $(KERN_LIB_DIR)/kernel.mk ; \
fi
-default: extra-rules-subdirs include-pass library-pass binary-pass
+include-pass-submakes: extra-rules-subdirs
+
+# We must go to EXTRA_RULES_SUBDIRS beofre going to any other
+# directory, since the executables compiled in EXTRA_RULES_SUBDIRS
+# might be needed there.
+include-pass-this-dir $(foreach subdir,$(SUBDIRS),include-pass-$(subdir)-subdir): extra-rules-subdirs
+
+default: include-pass library-pass binary-pass
ifndef OMIT_KERNEL_PASSES
# Also make kernel passes if not disabled
default: kernel-lib-pass kernel-pass