pass ARCH down to uClibc
[buildroot.git] / target / cramfs / cramfs.mk
blob0a0cd5a98116401b929370a6045cb57bb1c8d7ec
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)
9 # "))
10 # UNC does not seem to have cramfs
11 CRAMFS_SITE=http://internap.dl.sourceforge.net/sourceforge/cramfs
12 else
13 CRAMFS_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/cramfs
14 endif
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)
25 touch -c $@
27 cramfs: $(CRAMFS_DIR)/mkcramfs
29 cramfs-source: $(DL_DIR)/$(CRAMFS_SOURCE)
31 cramfs-clean:
32 -$(MAKE) -C $(CRAMFS_DIR) clean
34 cramfs-dirclean:
35 rm -rf $(CRAMFS_DIR)
37 #############################################################
39 # Build the cramfs root filesystem image
41 #############################################################
42 ifeq ($(BR2_ENDIAN),"BIG")
43 CRAMFS_ENDIANNESS=-b
44 else
45 CRAMFS_ENDIANNESS=-l
46 endif
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
55 endif
56 ifneq ($(BR2_HAVE_INFOPAGES),y)
57 @rm -rf $(TARGET_DIR)/usr/share/info
58 endif
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))
69 endif
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
79 cramfsroot-clean:
80 -$(MAKE) -C $(CRAMFS_DIR) clean
82 cramfsroot-dirclean:
83 rm -rf $(CRAMFS_DIR)
85 #############################################################
87 # Toplevel Makefile options
89 #############################################################
90 ifeq ($(BR2_TARGET_ROOTFS_CRAMFS),y)
91 TARGETS+=cramfsroot
92 endif