Commit b6718de1 authored by Daniel Mack's avatar Daniel Mack Committed by Peter Korsgaard
Browse files

e2fsprogs: factor out libuuid support



Add a new target for libuuid so it can be built without e2fsprogs.

Signed-off-by: default avatarDaniel Mack <daniel@caiaq.de>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 0ed2f023
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_LIBUUID
	bool "libuuid"
	help
	  The uuid library from the e2fsprogs suite

config BR2_PACKAGE_E2FSPROGS
	bool "e2fsprogs"
	depends on BR2_LARGEFILE
	select BR2_PACKAGE_LIBUUID
	help
	  The EXT2 file system utilities and libraries

+25 −2
Original line number Diff line number Diff line
@@ -10,6 +10,9 @@ E2FSPROGS_DIR=$(BUILD_DIR)/e2fsprogs-$(E2FSPROGS_VERSION)
E2FSPROGS_CAT:=$(ZCAT)
E2FSPROGS_BINARY:=misc/mke2fs
E2FSPROGS_TARGET_BINARY:=sbin/mke2fs
LIBUUID_DIR=$(E2FSPROGS_DIR)/lib/uuid/
LIBUUID_TARGET_DIR:=usr/lib/
LIBUUID_TARGET_BINARY:=libuuid.so

E2FSPROGS_MISC_STRIP:= \
	badblocks blkid chattr dumpe2fs filefrag fsck logsave \
@@ -69,11 +72,17 @@ $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY): $(E2FSPROGS_DIR)/.configured
	#$(STRIPCMD) $(E2FSPROGS_DIR)/lib/lib*.so.*.*
	touch -c $@

$(E2FSPROGS_DIR)/lib/$(LIBUUID_TARGET_BINARY): $(E2FSPROGS_DIR)/.configured
	$(MAKE1) -C $(E2FSPROGS_DIR)/lib/uuid
	touch -c $@

$(STAGING_DIR)/$(E2FSPROGS_TARGET_BINARY): $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY)
	$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
		-C $(E2FSPROGS_DIR) install

$(STAGING_DIR)/lib/$(LIBUUID_TARGET_BINARY): $(E2FSPROGS_DIR)/lib/$(LIBUUID_TARGET_BINARY)
	$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
		-C $(E2FSPROGS_DIR)/lib/uuid install
		-C $(LIBUUID_DIR) install

E2FSPROGS_RM$(BR2_PACKAGE_E2FSPROGS_BADBLOCKS) += ${TARGET_DIR}/sbin/badblocks
E2FSPROGS_RM$(BR2_PACKAGE_E2FSPROGS_BLKID) += ${TARGET_DIR}/sbin/blkid
@@ -125,7 +134,15 @@ endif
	rm -rf $(TARGET_DIR)/usr/share/doc
	touch -c $@

e2fsprogs: uclibc $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY)
$(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY): $(STAGING_DIR)/lib/$(LIBUUID_TARGET_BINARY)
	$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
		-C $(LIBUUID_DIR) install
	cp -a $(STAGING_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY)* \
		$(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/
	touch -c $@

libuuid: uclibc $(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY)
e2fsprogs: uclibc libuuid $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY)

e2fsprogs-clean:
	$(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(E2FSPROGS_DIR) uninstall
@@ -134,6 +151,8 @@ e2fsprogs-clean:
e2fsprogs-dirclean:
	rm -rf $(E2FSPROGS_DIR)

libuuid-dirclean:: e2fsprogs-dirclean

#############################################################
#
# Toplevel Makefile options
@@ -142,3 +161,7 @@ e2fsprogs-dirclean:
ifeq ($(BR2_PACKAGE_E2FSPROGS),y)
TARGETS+=e2fsprogs
endif

ifeq ($(BR2_PACKAGE_LIBUUID),y)
TARGETS+=libuuid
endif