Browse Source

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>
lilik-openwrt-22.03
Karel Kočí 5 years ago
committed by Josef Schlehofer
parent
commit
d9020050b3
No known key found for this signature in database GPG Key ID: B950216FE4329F4C
1 changed files with 9 additions and 4 deletions
  1. +9
    -4
      utils/btrfs-progs/Makefile

+ 9
- 4
utils/btrfs-progs/Makefile View File

@ -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


Loading…
Cancel
Save