summaryrefslogtreecommitdiffstats
path: root/target/linux/imagebuilder/Makefile
blob: 2c1ab1712e94a1f954da7e0cc98629ca1bb0342c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# 
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
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: FORCE
	@rm -rf $(LINUX_BUILD_DIR)/root*
	@rm -rf $(BIN_DIR)
all:

build: FORCE
	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 `grep -v '^#' lists/$(LIST).$(BOARD)-$(KERNEL)`; do \
		$(IPKG_KERNEL) install `ls packages/$${package}_*`; \
	done
	if [ -d ./files ]; then \
		$(CP) --remove-destination ./files/* $(LINUX_BUILD_DIR)/root; \
	fi
	if [ -d ./files.$(LIST) ]; then \
		$(CP) --remove-destination ./files.$(LIST)/* $(LINUX_BUILD_DIR)/root; \
	fi
	find $(LINUX_BUILD_DIR)/root -name '.svn' || 'CVS' | xargs rm -rf
	$(MAKE) -S -C image KERNEL="$(KERNEL)" BOARD="$(BOARD)" BIN_DIR="$(BIN_DIR)/$(LIST)" install