cleanup
[openwrt.git] / openwrt / target / jffs2 / jffs2root.mk
1 #############################################################
2 #
3 # mtd provides us with mkfs.jffs2, to target JFFS2 filesystems
4 #
5 #############################################################
6
7 MTD_DIR:=$(BUILD_DIR)/mtd-20050122.orig
8 MTD_SOURCE=mtd_20050122.orig.tar.gz
9 MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd
10 MKFS_JFFS2=$(shell which mkfs.jffs2 2>/dev/null || echo $(MTD_DIR)/util/mkfs.jffs2)
11
12 $(DL_DIR)/$(MTD_SOURCE):
13         $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE)
14
15 $(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
16         zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) -xvf -
17         touch $(MTD_DIR)/.unpacked
18
19 $(MTD_DIR)/util/mkfs.jffs2: $(MTD_DIR)/.unpacked
20         $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_DIR)/util
21
22 mtd: $(MKFS_JFFS2)
23
24
25 #############################################################
26 #
27 # Build the jffs2 root filesystem image
28 #
29 #############################################################
30
31 jffs2root: mtd
32         -@find $(TARGET_DIR) -type f -perm +111 | xargs $(SSTRIP) 2>/dev/null || true;
33         @rm -rf $(TARGET_DIR)/usr/man
34         @rm -rf $(TARGET_DIR)/usr/info
35         $(MKFS_JFFS2) --pad --little-endian --squash -e $(JFFS2_BLOCK_SIZE) \
36                 -d $(TARGET_DIR) -o $(IMAGE).jffs2
37
38 jffs2root-source: $(DL_DIR)/$(MTD_SOURCE)
39
40 jffs2root-clean:
41         -$(MAKE) -C $(MTD_DIR) clean
42
43 jffs2root-dirclean:
44         rm -rf $(MTD_DIR)
45
46 ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2)),y)
47 TARGETS+=openwrt-image
48 ROOTFS=jffs2
49 JFFS2FLAGS=-a $(JFFS2_BLOCK_SIZE)
50
51 openwrt-image:  openwrt
52         @make jffs2root openwrt-code.bin TAG=W54G \
53         EXTRAVERSION=$(EXTRAVERSION)-JFFS2-4M JFFS2_BLOCK_SIZE=0x10000
54         @make jffs2root openwrt-code.bin TAG=W54S \
55         EXTRAVERSION=$(EXTRAVERSION)-JFFS2-8M JFFS2_BLOCK_SIZE=0x20000
56 endif