add openwrt image builder to sdk
[openwrt/svn-archive/archive.git] / openwrt / package / sdk / files / Makefile.ib
1 # OpenWrt SDK Makefile
2 TOPDIR:=${shell pwd}
3 BIN_DIR:=$(TOPDIR)/bin
4 BUILD_DIR:=$(TOPDIR)/build
5 TARGET_PATH := $(TOPDIR)/utils
6 MKFS_JFFS2:=$(TOPDIR)/utils/mkfs.jffs2
7 IMAGE:=$(BUILD_DIR)/root_fs
8 TARGET_DIR:=$(TOPDIR)/root
9 SED:=PATH="$(TARGET_PATH)" sed -i -e
10 PACKAGE_DIR=$(TOPDIR)/packages
11 IPKG:=IPKG_INSTROOT=$(TARGET_DIR) IPKG_CONF_DIR=$(BUILD_DIR)/etc $(TARGET_DIR)/bin/ipkg -force-defaults -force-depends
12
13 all: build
14
15 include ./include/jffs2.mk
16 include ./include/squashfs-lzma.mk
17
18 IMAGE_TARGETS := $(JFFS2_TARGETS) $(SQUASHFS_TARGETS)
19 TARGET_FS:=squashfs jffs2
20
21 define IMAGE_template
22 $(BIN_DIR)/openwrt-wrt54g-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-4MB,$(1)).trx
23 PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g
24 $(SED) "1s,^W54S,W54G," $$@
25
26 $(BIN_DIR)/openwrt-wrt54gs-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-8MB,$(1)).trx
27 PATH=$(TARGET_PATH) addpattern -2 -i $$< -o $$@ -g
28
29 IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54g-$(1).bin
30 IMAGE_TARGETS += $(BIN_DIR)/openwrt-wrt54gs-$(1).bin
31
32
33 $(BIN_DIR)/openwrt-motorola-$(1).bin: $(BIN_DIR)/openwrt-generic-$(patsubst jffs2,jffs2-8MB,$(1)).trx
34 PATH=$(TARGET_PATH) motorola-bin $$< $$@
35
36 IMAGE_TARGETS += $(BIN_DIR)/openwrt-motorola-$(1).bin
37 endef
38
39 $(foreach fs,$(TARGET_FS),$(eval $(call IMAGE_template,$(fs))))
40
41 $(IMAGE_TARGETS): $(TARGET_DIR) $(BIN_DIR) packages_install
42
43 $(BIN_DIR):
44 mkdir -p $@
45
46 $(TARGET_DIR):
47 mkdir -p $@
48 cp -a $(TOPDIR)/target_skeleton/* $(TARGET_DIR)/
49
50 $(BUILD_DIR)/etc/ipkg.conf:
51 mkdir -p $(BUILD_DIR)/etc
52 echo -e 'dest root /\noption offline_root $(TARGET_DIR)' > $@
53
54 packages_install: $(TARGET_DIR) $(BUILD_DIR)/etc/ipkg.conf
55 for package in $(PACKAGE_DIR)/*.ipk; do \
56 $(IPKG) install $$package; \
57 done
58
59 build: clean $(IMAGE_TARGETS)
60 clean:
61 rm -rf $(TARGET_DIR) $(BIN_DIR) $(IMAGE)-* $(BUILD_DIR)/etc