aboutsummaryrefslogtreecommitdiff
path: root/utils/btrfs-progs
diff options
context:
space:
mode:
authorKarel Kočí <karel.koci@nic.cz>2019-08-05 13:31:52 +0200
committerJosef Schlehofer <pepe.schlehofer@gmail.com>2019-08-06 09:56:59 +0200
commitd9020050b3a93517b8a4a10b5c51d64b9547f90e (patch)
treecca1a8a9d6c2ae24e7831c6e4074c03e571e71bc /utils/btrfs-progs
parentd7bdd9045b1fbd969de04c455eaa36bb8f72a564 (diff)
btrfs-progs: use box version of btrfs tool (busybox like)
This instead of building every tool separately builds one btrfs binary and additional tools are links to this binary. This is same approach as busybox is using. This splits list of tools to two. boxprogs are tools that are boxed to code btrfs binary and progs are tools that are not. This also overload default all make target of Build/Compile and instead builds (unified) btrfs.progs and separate progs. Signed-off-by: Karel Kočí <karel.koci@nic.cz>
Diffstat (limited to 'utils/btrfs-progs')
-rw-r--r--utils/btrfs-progs/Makefile13
1 files changed, 9 insertions, 4 deletions
diff --git a/utils/btrfs-progs/Makefile b/utils/btrfs-progs/Makefile
index 25d077115..167c51c85 100644
--- a/utils/btrfs-progs/Makefile
+++ b/utils/btrfs-progs/Makefile
@@ -44,8 +44,8 @@ define Package/btrfs-progs/config
source "$(SOURCE)/Config.in"
endef
-progs = btrfs btrfs-find-root btrfs-image btrfs-map-logical \
- btrfs-select-super btrfstune mkfs.btrfs
+boxprogs = btrfsck mkfs.btrfs btrfs-image btrfstune btrfs-find-root
+progs = btrfs-map-logical btrfs-select-super
TARGET_CFLAGS += -ffunction-sections -fdata-sections
TARGET_LDFLAGS += -Wl,--gc-sections -Wl,--as-needed
@@ -61,6 +61,10 @@ ifneq ($(CONFIG_BTRFS_PROGS_ZSTD),y)
CONFIGURE_ARGS += --disable-zstd
endif
+MAKE_INSTALL_FLAGS += BUILD_PROGRAMS=0
+
+Build/Compile=$(call Build/Compile/Default,btrfs.box $(progs))
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
@@ -72,8 +76,9 @@ define Package/btrfs-progs/install
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfs.so* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbtrfsutil.so* $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(addprefix $(PKG_INSTALL_DIR)/usr/bin/, $(progs)) $(1)/usr/bin/
- $(LN) btrfs $(1)/usr/bin/btrfsck
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/btrfs.box $(1)/usr/bin/btrfs
+ $(foreach prog,$(boxprogs),$(LN) btrfs $(1)/usr/bin/$(prog);)
+ $(foreach prog,$(progs),$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(prog) $(1)/usr/bin/;)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/btrfs-scan.init $(1)/etc/init.d/btrfs-scan
endef