summaryrefslogtreecommitdiffstats
path: root/openwrt/target/linux/imagebuilder/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/target/linux/imagebuilder/Makefile')
-rw-r--r--openwrt/target/linux/imagebuilder/Makefile42
1 files changed, 42 insertions, 0 deletions
diff --git a/openwrt/target/linux/imagebuilder/Makefile b/openwrt/target/linux/imagebuilder/Makefile
new file mode 100644
index 000000000..8da50bdd7
--- /dev/null
+++ b/openwrt/target/linux/imagebuilder/Makefile
@@ -0,0 +1,42 @@
+default: clean all
+
+TOPDIR:=${shell pwd}
+export TOPDIR
+IB:=1
+export IB
+include ./rules.mk
+
+LINUX_BUILD_DIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
+IPKG_KERNEL:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(LINUX_BUILD_DIR)/root IPKG_CONF_DIR=$(LINUX_BUILD_DIR) $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
+
+define image_template
+
+all: all-$(1)-$(2)
+
+all-$(1)-$(2):
+ @for listfile in ./lists/*.$(1)-$(2); do \
+ $(MAKE) -s `echo $$$$listfile | sed 's,.*lists/\(.*\).$(1)-$(2),BOARD=$(1) KERNEL=$(2) LIST=\1,'` build; \
+ done
+endef
+
+include ./kernel.mk
+
+clean:
+ @rm -rf $(LINUX_BUILD_DIR)/root*
+ @rm -rf $(BIN_DIR)
+all:
+
+build:
+ echo
+ echo '### BUILDING IMAGE FROM lists/$(LIST).$(BOARD)-$(KERNEL)'
+ echo
+ rm -rf $(LINUX_BUILD_DIR)/root*
+ mkdir -p $(BIN_DIR)/$(LIST)
+ mkdir -p $(LINUX_BUILD_DIR)/tmp
+ mkdir -p $(LINUX_BUILD_DIR)/root
+ echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf
+ $(IPKG_KERNEL) install $(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)/kernel[-_]*.ipk
+ for package in `cat lists/$(LIST).$(BOARD)-$(KERNEL)`; do \
+ $(IPKG_KERNEL) install `ls packages/$${package}_*`; \
+ done
+ $(MAKE) -S -C image KERNEL="$(KERNEL)" BOARD="$(BOARD)" BIN_DIR="$(BIN_DIR)/$(LIST)" install