build: add support for adding a per-device compile step in the new image building...
[15.05/openwrt.git] / include / image.mk
index a6237ff..4161d60 100644 (file)
@@ -359,6 +359,7 @@ endef
 
 define Device/Check
   _TARGET = $$(if $$(filter $(PROFILE),$$(PROFILES)),install,install-disabled)
+  _COMPILE_TARGET = $$(if $(CONFIG_IB)$$(filter $(PROFILE),$$(PROFILES)),compile,compile-disabled)
 endef
 
 define Device/Build/initramfs
@@ -379,6 +380,14 @@ define Device/Build/check_size
        }
 endef
 
+define Device/Build/compile
+  $$(_COMPILE_TARGET): $(KDIR)/$(1)
+  $(eval $(call Device/Export,$(KDIR)/$(1)))
+  $(KDIR)/$(1):
+       $$(call concat_cmd,$(COMPILE/$(1)))
+
+endef
+
 define Device/Build/kernel
   _KERNEL_IMAGES += $(KDIR)/$$(KERNEL_NAME)
   $(KDIR)/$$(KERNEL_NAME): image_prepare
@@ -411,6 +420,9 @@ define Device/Build
   $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
   $(call Device/Build/kernel,$(1))
 
+  $$(eval $$(foreach compile,$$(COMPILE), \
+    $$(call Device/Build/compile,$$(compile),$(1))))
+
   $$(eval $$(foreach image,$$(IMAGES), \
     $$(foreach fs,$$(filter $(TARGET_FILESYSTEMS),$$(FILESYSTEMS)), \
       $$(call Device/Build/image,$$(fs),$$(image),$(1)))))