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