1 #############################################################
3 # mkcramfs to build to target cramfs filesystems
5 #############################################################
6 CRAMFS_DIR
=$(BUILD_DIR
)/cramfs-1.1
7 CRAMFS_SOURCE
=cramfs-1.1.
tar.gz
8 ifeq ($(strip $(subst ",,$(BR2_SOURCEFORGE_MIRROR))),unc)
10 # UNC does not seem to have cramfs
11 CRAMFS_SITE
=http
://internap.dl.sourceforge.net
/sourceforge
/cramfs
13 CRAMFS_SITE
=http
://$(BR2_SOURCEFORGE_MIRROR
).dl.sourceforge.net
/sourceforge
/cramfs
16 $(DL_DIR
)/$(CRAMFS_SOURCE
):
17 $(WGET
) -P
$(DL_DIR
) $(CRAMFS_SITE
)/$(CRAMFS_SOURCE
)
19 $(CRAMFS_DIR
): $(DL_DIR
)/$(CRAMFS_SOURCE
)
20 $(ZCAT
) $(DL_DIR
)/$(CRAMFS_SOURCE
) |
tar -C
$(BUILD_DIR
) -xvf
-
21 toolchain
/patch-kernel.sh
$(CRAMFS_DIR
) target
/cramfs
/ cramfs\
*.patch
23 $(CRAMFS_DIR
)/mkcramfs
: $(CRAMFS_DIR
)
24 $(MAKE
) CFLAGS
="-Wall -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" -C
$(CRAMFS_DIR
)
27 cramfs
: $(CRAMFS_DIR
)/mkcramfs
29 cramfs-source
: $(DL_DIR
)/$(CRAMFS_SOURCE
)
32 -$(MAKE
) -C
$(CRAMFS_DIR
) clean
37 #############################################################
39 # Build the cramfs root filesystem image
41 #############################################################
42 ifeq ($(BR2_ENDIAN
),"BIG")
48 CRAMFS_TARGET
=$(IMAGE
).cramfs
50 cramfsroot
: host-fakeroot makedevs cramfs
51 #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIPCMD) --strip-unneeded 2>/dev/null || true
52 -@find
$(TARGET_DIR
) -type f
-perm
+111 | xargs
$(STRIPCMD
) 2>/dev
/null || true
53 ifneq ($(BR2_HAVE_MANPAGES
),y
)
54 @
rm -rf
$(TARGET_DIR
)/usr
/share
/man
56 ifneq ($(BR2_HAVE_INFOPAGES
),y
)
57 @
rm -rf
$(TARGET_DIR
)/usr
/share
/info
59 $(if
$(TARGET_LDCONFIG
),test ! -x
$(TARGET_LDCONFIG
) && true ||
$(TARGET_LDCONFIG
) -r
$(TARGET_DIR
) 2>/dev
/null
)
60 # Use fakeroot to pretend all target binaries are owned by root
61 rm -f
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
62 touch
$(PROJECT_BUILD_DIR
)/.fakeroot
.00000
63 cat
$(PROJECT_BUILD_DIR
)/.fakeroot
* > $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
64 echo
"chown -R 0:0 $(TARGET_DIR)" >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
65 ifneq ($(TARGET_DEVICE_TABLE
),)
66 # Use fakeroot to pretend to create all needed device nodes
67 echo
"$(STAGING_DIR)/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
68 >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
70 # Use fakeroot so mkcramfs believes the previous fakery
71 echo
"$(CRAMFS_DIR)/mkcramfs -q $(CRAMFS_ENDIANNESS) " \
72 "$(TARGET_DIR) $(CRAMFS_TARGET)" >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
73 chmod a
+x
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
74 $(STAGING_DIR
)/usr
/bin
/fakeroot
-- $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
75 -@
rm -f
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(CRAMFS_TARGET
))
77 cramfsroot-source
: cramfs-source
80 -$(MAKE
) -C
$(CRAMFS_DIR
) clean
85 #############################################################
87 # Toplevel Makefile options
89 #############################################################
90 ifeq ($(BR2_TARGET_ROOTFS_CRAMFS
),y
)