![Markus Mayer](/assets/img/avatar_default.png)
We can't use dosfstools' install target, because it'll install *all* binaries, even the disabled ones. Also, we can't just delete dosfstools binaries from the target directory after installing them, because other packages (specifically Busybox) may provide tools of the same name, and we may end up deleting those instead. To avoid any issues, we create our own install routines, which only copy the enabled binaries into the target location. Signed-off-by: Markus Mayer <mmayer@broadcom.com> [Thomas: use full destination path for INSTALL commands.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
60 lines
1.8 KiB
Makefile
60 lines
1.8 KiB
Makefile
################################################################################
|
|
#
|
|
# dosfstools
|
|
#
|
|
################################################################################
|
|
|
|
DOSFSTOOLS_VERSION = 4.1
|
|
DOSFSTOOLS_SOURCE = dosfstools-$(DOSFSTOOLS_VERSION).tar.xz
|
|
DOSFSTOOLS_SITE = https://github.com/dosfstools/dosfstools/releases/download/v$(DOSFSTOOLS_VERSION)
|
|
DOSFSTOOLS_LICENSE = GPL-3.0+
|
|
DOSFSTOOLS_LICENSE_FILES = COPYING
|
|
DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks --exec-prefix=/
|
|
HOST_DOSFSTOOLS_CONF_OPTS = --enable-compat-symlinks
|
|
|
|
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
|
|
DOSFSTOOLS_CONF_OPTS += --with-udev
|
|
DOSFSTOOLS_DEPENDENCIES += udev
|
|
else
|
|
DOSFSTOOLS_CONF_OPTS += --without-udev
|
|
endif
|
|
|
|
ifneq ($(BR2_ENABLE_LOCALE),y)
|
|
DOSFSTOOLS_CONF_OPTS += LIBS="-liconv"
|
|
DOSFSTOOLS_DEPENDENCIES += libiconv
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FATLABEL),y)
|
|
define DOSFSTOOLS_INSTALL_FATLABEL
|
|
$(INSTALL) -D -m 0755 $(@D)/src/fatlabel $(TARGET_DIR)/sbin/fatlabel
|
|
ln -sf fatlabel $(TARGET_DIR)/sbin/dosfslabel
|
|
endef
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT),y)
|
|
define DOSFSTOOLS_INSTALL_FSCK_FAT
|
|
$(INSTALL) -D -m 0755 $(@D)/src/fsck.fat $(TARGET_DIR)/sbin/fsck.fat
|
|
ln -sf fsck.fat $(TARGET_DIR)/sbin/fsck.vfat
|
|
ln -sf fsck.fat $(TARGET_DIR)/sbin/fsck.msdos
|
|
ln -sf fsck.fat $(TARGET_DIR)/sbin/dosfsck
|
|
endef
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT),y)
|
|
define DOSFSTOOLS_INSTALL_MKFS_FAT
|
|
$(INSTALL) -D -m 0755 $(@D)/src/mkfs.fat $(TARGET_DIR)/sbin/mkfs.fat
|
|
ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkdosfs
|
|
ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkfs.msdos
|
|
ln -sf mkfs.fat $(TARGET_DIR)/sbin/mkfs.vfat
|
|
endef
|
|
endif
|
|
|
|
define DOSFSTOOLS_INSTALL_TARGET_CMDS
|
|
$(call DOSFSTOOLS_INSTALL_FATLABEL)
|
|
$(call DOSFSTOOLS_INSTALL_FSCK_FAT)
|
|
$(call DOSFSTOOLS_INSTALL_MKFS_FAT)
|
|
endef
|
|
|
|
$(eval $(autotools-package))
|
|
$(eval $(host-autotools-package))
|