ignore profiles with custom kernel configs in the image builder itself
[openwrt-10.03/.git] / target / imagebuilder / files / Makefile
index 720bcfa768777148278ef52ed1954c0286b3f635..8b386a33c6c6e49f89bb4f7a5569e66f1db4d445 100644 (file)
@@ -34,10 +34,11 @@ IPKG:= \
 define Profile/Default
   ID:=
   NAME:=
+  KCONFIG:=
   PACKAGES:=
 endef
 
-define Profile
+define AddProfile
   $(eval $(call Profile/Default))
   $(eval $(call Profile/$(1)))
   ifneq ($(ID),)
@@ -46,8 +47,10 @@ define Profile
     endif
        $(ID)_NAME:=$(NAME)
        $(ID)_PACKAGES:=$(PACKAGES)
-    PROFILE_LIST += \
-               echo '$(ID):'; echo '   $(NAME)';
+    ifneq ($(KCONFIG),)
+      PROFILE_LIST += \
+               echo '$(ID):'; [ -z '$(NAME)' ] || echo '       $(NAME)'; echo '        Packages: $(PACKAGES)';
+    endif
   endif
 endef
 
@@ -87,8 +90,10 @@ $(TOPDIR)/tmp/ipkg.conf: FORCE
 
 BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $(PACKAGES) $($(PROFILE)_PACKAGES) kernel)
 BUILD_PACKAGES:=$(patsubst base-files,base-files-$(BOARD)-$(KERNEL),$(BUILD_PACKAGES))
+# "-pkgname" in the package list means remove "pkgname" from the package list
+BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
 
-image: $(TOPDIR)/tmp/ipkg.conf
+image:
        if [ -z "$($(PROFILE)_NAME)" ]; then \
                echo Profile $(PROFILE) not found.; \
                echo 'Use "make info" to get a list of available target profiles'; \
@@ -107,7 +112,7 @@ endif
        $(MAKE) package_postinst
        $(MAKE) build_image
        
-package_index: FORCE
+package_index: $(TOPDIR)/tmp/ipkg.conf FORCE
        @echo
        @echo Building package index...
        (cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . > Packages) >/dev/null 2>/dev/null
@@ -140,7 +145,7 @@ build_image: FORCE
        $(NO_TRACE_MAKE) -C target/linux/$(BOARD)-$(KERNEL)/image install IB=1
        
 clean:
-       rm -rf tmp $(TARGET_DIR)
+       rm -rf tmp $(TARGET_DIR) $(BIN_DIR)
 
 .PHONY: FORCE
 .SILENT: help info image