From ab2a3710c50b28d11bd57ae00eab283cbab65d8c Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Sat, 12 Sep 2009 16:30:01 +0200 Subject: Conformance to filesystem hierarchy standard Signed-off-by: Abdoulaye Walsimou Gaye --- mk/gcc.mk | 12 +++++++----- mk/initialpath.mk | 15 +++++++++++++++ mk/rootfs.mk | 43 ++++++++++++++++++++++--------------------- 3 files changed, 44 insertions(+), 26 deletions(-) diff --git a/mk/gcc.mk b/mk/gcc.mk index 6319540..91d59d4 100644 --- a/mk/gcc.mk +++ b/mk/gcc.mk @@ -123,12 +123,14 @@ $(GCC2_BUILD_DIR)/.configured: $(GCC3_BUILD_DIR)/.installed: $(GCC3_BUILD_DIR)/.configured PATH=$(PATH):$(TOOLS)/bin/ $(MAKE) -C $(GCC3_BUILD_DIR) $(J) PATH=$(PATH):$(TOOLS)/bin/ $(MAKE) -C $(GCC3_BUILD_DIR) install -ifeq ($(CONFIG_EMBTK_TARGET_ARCH_64BITS),y) - cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib64/*.so* $(SYSROOT)/lib64 -else - cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib/*.so* $(SYSROOT)/lib - @touch $@ +ifeq ($(CONFIG_EMBTK_32BITS_FS),y) + -cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib/*.so* $(SYSROOT)/lib/ +else ifeq ($(CONFIG_EMBTK_64BITS_FS),y) + cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib64/*.so* $(SYSROOT)/lib/ +else ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y) + cp -d $(TOOLS)/$(STRICT_GNU_TARGET)/lib32/*.so* $(SYSROOT)/lib32/ endif + @touch $@ $(GCC3_BUILD_DIR)/.configured: $(call CONFIGURE_MESSAGE,gcc-$(GCC_VERSION)) diff --git a/mk/initialpath.mk b/mk/initialpath.mk index 4976052..bab8c4a 100644 --- a/mk/initialpath.mk +++ b/mk/initialpath.mk @@ -34,9 +34,24 @@ export SYSROOT TOOLS TOOLS_BUILD PACKAGES_BUILD ROOTFS HOSTTOOLS mkinitialpath: @mkdir -p $(SYSROOT) + @mkdir -p $(SYSROOT)/lib @mkdir -p $(SYSROOT)/usr @mkdir -p $(SYSROOT)/root @mkdir -p $(SYSROOT)/usr/lib +ifeq ($(CONFIG_EMBTK_64BITS_FS),y) + @cd $(SYSROOT); \ + ln -s lib lib64 + @cd $(SYSROOT)/usr; \ + ln -s lib lib64 +endif +ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y) + @cd $(SYSROOT); \ + ln -s lib lib64; \ + mkdir -p lib32 + @cd $(SYSROOT)/usr; \ + ln -s lib lib64; \ + mkdir -p lib32 +endif @mkdir -p $(TOOLS) @mkdir -p $(TOOLS_BUILD) @mkdir -p $(HOSTTOOLS) diff --git a/mk/rootfs.mk b/mk/rootfs.mk index 6e0cda1..bb8c3e1 100644 --- a/mk/rootfs.mk +++ b/mk/rootfs.mk @@ -56,44 +56,45 @@ endif rootfs_build: $(call EMBTK_GENERIC_MESSAGE,"Building selected root filesystems...") - @$(MAKE) rootfs_clean mkinitialpath $(ROOTFS_HOSTTOOLS) \ + @$(MAKE) rootfs_clean mkinitialrootfs $(ROOTFS_HOSTTOOLS) \ $(ROOTFS_COMPONENTS) rootfs_fill build_tarbz2_rootfs $(FILESYSTEMS) $(call EMBTK_GENERIC_MESSAGE,"Build of selected root filesystems \ ended successfully!") rootfs_fill: -ifeq ($(CONFIG_EMBTK_TARGET_ARCH_64BITS),y) - @mkdir -p $(ROOTFS)/lib64 - @mkdir -p $(ROOTFS)/usr/lib64 - @rm -rf $(ROOTFS)/lib $(ROOTFS)/usr/lib - @cp -R $(SYSROOT)/lib64/* $(ROOTFS)/lib64/ - @-cp -R $(SYSROOT)/usr/bin/* $(ROOTFS)/usr/bin/ - @-cp -R $(SYSROOT)/usr/sbin/* $(ROOTFS)/usr/sbin/ - @cp -R $(SYSROOT)/root $(ROOTFS)/ -ifeq ($(CONFIG_EMBTK_TARGET_STRIPPED),y) - $(call EMBTK_GENERIC_MESSAGE,"Stripping binaries as specified...") - @-$(TARGETSTRIP) $(ROOTFS)/lib64/*.so - @-$(TARGETSTRIP) $(ROOTFS)/bin/* - @-$(TARGETSTRIP) $(ROOTFS)/usr/bin/* - @$(TARGETSTRIP) $(ROOTFS)/usr/sbin/* -endif - -else @mkdir -p $(ROOTFS)/lib - @cp -R $(SYSROOT)/lib/* $(ROOTFS)/lib/ +ifeq ($(CONFIG_EMBTK_64BITS_FS),y) + @cd $(ROOTFS); \ + ln -s lib lib64 +endif +ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y) + @cd $(ROOTFS); \ + ln -s lib lib64; \ + mkdir -p lib32 +endif + @-cp -R $(SYSROOT)/lib/* $(ROOTFS)/lib/ +ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y) + @cp -R $(SYSROOT)/lib32/* $(ROOTFS)/lib32/ +endif @-cp -R $(SYSROOT)/usr/bin/* $(ROOTFS)/usr/bin/ @-cp -R $(SYSROOT)/usr/sbin/* $(ROOTFS)/usr/sbin/ @cp -R $(SYSROOT)/root $(ROOTFS)/ ifeq ($(CONFIG_EMBTK_TARGET_STRIPPED),y) $(call EMBTK_GENERIC_MESSAGE,"Stripping binaries as specified...") @-$(TARGETSTRIP) $(ROOTFS)/lib/*.so +ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y) + @-$(TARGETSTRIP) $(ROOTFS)/lib32/*.so +endif @-$(TARGETSTRIP) $(ROOTFS)/bin/* + @-$(TARGETSTRIP) $(ROOTFS)/sbin/* @-$(TARGETSTRIP) $(ROOTFS)/usr/bin/* @-$(TARGETSTRIP) $(ROOTFS)/usr/sbin/* endif -endif - +mkinitialrootfs: + @mkdir -p $(ROOTFS) + @cp -Rp $(EMBTK_ROOT)/src/target_skeleton/* $(ROOTFS)/ + @mkdir -p $(PACKAGES_BUILD) rootfs_clean: $(ROOTFS_HOSTTOOLS_CLEAN) $(ROOTFS_COMPONENTS_CLEAN) @rm -rf $(EMBTK_ROOT)/rootfs-$(GNU_TARGET)-$(EMBTK_MCU_FLAG)* -- cgit v1.2.3