X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=target%2Fimagebuilder%2Ffiles%2FMakefile;h=222dac43cc84d95326095c6289f0973cb9005216;hp=1fa074b35ea268535c635fed2153a77db3a5584f;hb=eb1ca3677941beb3861fd6bb5144893d63241244;hpb=a683459b3346a25ea52831d465cdd2017cf56214 diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 1fa074b35e..222dac43cc 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -10,7 +10,7 @@ TOPDIR:=${CURDIR} LC_ALL:=C LANG:=C export TOPDIR LC_ALL LANG -export KBUILD_VERBOSE=99 +export OPENWRT_VERBOSE=s all: help include $(TOPDIR)/include/host.mk @@ -38,7 +38,7 @@ Building images: By default 'make image' will create an image with the default target profile and package set. You can use the following parameters to change that: - + make image PROFILE="" # override the default target profile make image PACKAGES=" [ [ ...]]" # include extra packages make image FILES="" # include extra files from @@ -100,14 +100,20 @@ _call_image: echo rm -rf $(TARGET_DIR) mkdir -p $(TARGET_DIR) $(BIN_DIR) $(TMP_DIR) - $(MAKE) package_index + if [ ! -f "$(PACKAGE_DIR)/Packages" ] || [ ! -f "$(PACKAGE_DIR)/Packages.gz" ] || [ "`find $(PACKAGE_DIR) -cnewer $(PACKAGE_DIR)/Packages.gz`" ]; then \ + echo "Package list missing or not up-to-date, generating it.";\ + $(MAKE) package_index; \ + else \ + mkdir -p $(TARGET_DIR)/tmp; \ + $(OPKG) update; \ + fi $(MAKE) package_install ifneq ($(USER_FILES),) $(MAKE) copy_files endif $(MAKE) package_postinst $(MAKE) build_image - + package_index: FORCE @echo @echo Building package index... @@ -120,12 +126,15 @@ package_index: FORCE package_install: FORCE @echo @echo Installing packages... + $(OPKG) install $(firstword $(wildcard $(PACKAGE_DIR)/libc_*.ipk $(PACKAGE_DIR)/base/libc_*.ipk)) + $(OPKG) install $(firstword $(wildcard $(PACKAGE_DIR)/kernel_*.ipk $(PACKAGE_DIR)/base/kernel_*.ipk)) $(OPKG) install $(BUILD_PACKAGES) + rm -f $(TARGET_DIR)/usr/lib/opkg/lists/* copy_files: FORCE @echo @echo Copying extra files - $(CP) $(USER_FILES)/* $(TARGET_DIR)/ + @$(call file_copy,$(USER_FILES)/*,$(TARGET_DIR)/) package_postinst: FORCE @echo @@ -140,12 +149,14 @@ package_postinst: FORCE IPKG_INSTROOT=$(TARGET_DIR) $(which bash) ./etc/rc.common $$script enable; \ done || true; \ ) + $(if $(CONFIG_CLEAN_IPKG),rm -rf $(TARGET_DIR)/usr/lib/opkg) build_image: FORCE @echo @echo Building images... - $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 - + $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 \ + $(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)") + clean: rm -rf $(TOPDIR)/tmp $(TOPDIR)/dl $(TARGET_DIR) $(BIN_DIR)