]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/base
Makefile.rules from devel-test converted to snippets
[omk.git] / snippets / base
index 470b9a0c715c895e7d6b915dbd3b41cfd008e088..937ee17056acb34cd491e67c5655901c41650cd1 100644 (file)
@@ -212,17 +212,26 @@ SUBDIR_MAKEFILE=$(SOURCES_DIR)/$(3)/Makefile
 SOURCESDIR_MAKEFILE=$(SOURCES_DIR)/Makefile
 endif
 
+BUILD_DIR_NAME = _build
+COMPILED_DIR_NAME = _compiled
+
+BUILD_OMK_DIR := $(OUTPUT_DIR)/$(BUILD_DIR_NAME)/omk
+OMK_WORK_DIR := $(BUILD_OMK_DIR)$(RELATIVE_DIR:%=/%)
+
+check-dir::
+       @$(call mkdir_def,$(BUILD_OMK_DIR))
+
 pass = $(strip $(1))
 
 # Call a pass in a subdirectory
-# Usage: $(call omk_pass_subdir_template,<pass name>,<build dir>,<subdir>)
+# Usage: $(call omk_pass_subdir_template,<pass name>,<subdir>)
 define omk_pass_subdir_template
-.PHONY: $(pass)-$(3)-subdir
-$(pass)-subdirs: $(pass)-$(3)-subdir
-$(pass)-$(3)-subdir:
-       @$(call mkdir_def,$(2)/$(3))
-       +@$(MAKE) SOURCES_DIR=$(SOURCES_DIR)/$(3) $(NO_PRINT_DIRECTORY) \
-               RELATIVE_DIR=$(RELATIVE_PREFIX)$(3) -C $(2)/$(3) \
+.PHONY: $(pass)-$(2)-subdir
+$(pass)-subdirs: $(pass)-$(2)-subdir
+$(pass)-$(2)-subdir:
+       @$(call mkdir_def,$(OMK_WORK_DIR)/$(2))
+       +@$(MAKE) SOURCES_DIR=$(SOURCES_DIR)/$(2) $(NO_PRINT_DIRECTORY) \
+               RELATIVE_DIR=$(RELATIVE_PREFIX)$(2) -C $(2) \
                -f $(SUBDIR_MAKEFILE) $(pass)
 endef
 
@@ -244,17 +253,18 @@ extra-rules-subdirs:
 
 $(foreach subdir,$(EXTRA_RULES_SUBDIRS),$(eval $(call extra_rules_subdir_template,$(subdir))))
 
-# Usage: $(call omk_pass_template,<pass name>,<build dir>,[<local make flags>],[<local enable condition>])
+# Usage: $(call omk_pass_template,<pass name>)
 define omk_pass_template
 .PHONY: $(pass) $(pass)-local $(pass)-msg $(pass)-subdirs
 $(pass): $(pass)-local
 $(pass)-local: $(pass)-subdirs $(pass)-msg
-$(foreach subdir,$(SUBDIRS),$(call omk_pass_subdir_template,$(pass),$(2),$(subdir)))
+$(foreach subdir,$(SUBDIRS),$(call omk_pass_subdir_template,$(pass),$(subdir)))
 
 $(pass)-msg: $(pass)-subdirs
        +@echo "make[omk]: $(pass) in $(RELATIVE_DIR)"
 endef
 
+
 # =======================
 # DEFAULT CONFIG PASS