bdef0f00f9
Signed-off-by: Christian Stewart <christian@paral.in> [Atul: - Updated the default to empty. - Updated the license to GPLv2. - Used patches instead of SED commands. - CC and LD are replaced by TARGET_CC and TARGET_LD.] Signed-off-by: Atul Singh <atul.singh.mandla@rockwellcollins.com> [yann.morin.1998@free.fr: - drop the headers_install command - instead, instruct the kernel to install them - add patches 0002..0004 - properly build the host tools - don't depend on the aufs extension, for kernel already patched - fix comment] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> [Thomas: - Remove the patch 0004-no-override-readdir64.patch, since it no longer applies to the latest version of aufs-util. Instead, add a post-patch hook that tweaks the Makefile to remove the problematic rdu64.o from the build process. - Use directly the kernel headers from the kernel source tree, rather than having to install them. This only requires a minor trick to define "__user" to empty.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
60 lines
1.8 KiB
Makefile
60 lines
1.8 KiB
Makefile
################################################################################
|
|
#
|
|
# aufs-util
|
|
#
|
|
################################################################################
|
|
|
|
# linux-headers
|
|
AUFS_UTIL_VERSION = $(call qstrip,$(BR2_PACKAGE_AUFS_UTIL_VERSION))
|
|
AUFS_UTIL_SITE = http://git.code.sf.net/p/aufs/aufs-util
|
|
AUFS_UTIL_SITE_METHOD = git
|
|
AUFS_UTIL_LICENSE = GPLv2
|
|
AUFS_UTIL_LICENSE_FILES = COPYING
|
|
|
|
AUFS_UTIL_DEPENDENCIES = linux
|
|
|
|
# Building aufs-util requires access to the kernel headers of aufs,
|
|
# which are only available in the kernel build directory, which is why
|
|
# we add -I$(LINUX_DIR)/include/uapi. These headers have not been
|
|
# prepared for usage by userspace, so to workaround this we have to
|
|
# defined the "__user" macro as empty.
|
|
AUFS_UTIL_HOST_CPPFLAGS = \
|
|
$(HOST_CPPFLAGS) \
|
|
-I$(LINUX_DIR)/include/uapi \
|
|
-D__user=
|
|
|
|
AUFS_UTIL_CPPFLAGS = \
|
|
$(TARGET_CPPFLAGS) \
|
|
-I$(LINUX_DIR)/include/uapi \
|
|
-D__user=
|
|
|
|
# rdu64 is supposed to provide the LFS variant of readdir(),
|
|
# readdir64(). However, because Buildroot is always LFS-enabled,
|
|
# readdir() is always the LFS variant. Drop rdu64 from the build, as
|
|
# it causes build failures due to multiple implementations of
|
|
# readdir64().
|
|
define AUFS_UTIL_REMOVE_RDU64
|
|
$(SED) 's% rdu64.o%%' $(@D)/libau/Makefile
|
|
endef
|
|
|
|
AUFS_UTIL_POST_PATCH_HOOKS += AUFS_UTIL_REMOVE_RDU64
|
|
|
|
# First, we build the host tools, needed to build the target tools.
|
|
define AUFS_UTIL_BUILD_CMDS
|
|
$(MAKE) -C $(@D) \
|
|
$(HOST_CONFIGURE_OPTS) \
|
|
CPPFLAGS="$(AUFS_UTIL_HOST_CPPFLAGS)" \
|
|
HOSTCC="$(HOSTCC)" HOSTLD="$(HOSTLD)" \
|
|
INSTALL="$(INSTALL)" c2sh c2tmac
|
|
$(MAKE1) -C $(@D) \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
CPPFLAGS="$(AUFS_UTIL_CPPFLAGS)" \
|
|
INSTALL="$(INSTALL)" all
|
|
endef
|
|
|
|
define AUFS_UTIL_INSTALL_TARGET_CMDS
|
|
$(MAKE) -C $(@D) INSTALL="$(INSTALL)" DESTDIR="$(TARGET_DIR)" install
|
|
endef
|
|
|
|
$(eval $(generic-package))
|