tools/testing/selftests/vfio/lib/libvfio.mk

Source file repositories/reference/linux-study-clean/tools/testing/selftests/vfio/lib/libvfio.mk

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/vfio/lib/libvfio.mk
Extension
.mk
Size
766 bytes
Lines
33
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: build/configuration rule
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

include $(top_srcdir)/scripts/subarch.include
ARCH ?= $(SUBARCH)

LIBVFIO_SRCDIR := $(selfdir)/vfio/lib

LIBVFIO_C := iommu.c
LIBVFIO_C += iova_allocator.c
LIBVFIO_C += libvfio.c
LIBVFIO_C += sysfs.c
LIBVFIO_C += vfio_pci_device.c
LIBVFIO_C += vfio_pci_driver.c

ifeq ($(ARCH:x86_64=x86),x86)
LIBVFIO_C += drivers/ioat/ioat.c
LIBVFIO_C += drivers/dsa/dsa.c
endif

LIBVFIO_OUTPUT := $(OUTPUT)/libvfio

LIBVFIO_O := $(patsubst %.c, $(LIBVFIO_OUTPUT)/%.o, $(LIBVFIO_C))

LIBVFIO_O_DIRS := $(shell dirname $(LIBVFIO_O) | uniq)

$(LIBVFIO_O_DIRS):
	mkdir -p $@

CFLAGS += -I$(LIBVFIO_SRCDIR)/include

$(LIBVFIO_O): $(LIBVFIO_OUTPUT)/%.o : $(LIBVFIO_SRCDIR)/%.c | $(LIBVFIO_O_DIRS)
	$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@

EXTRA_CLEAN += $(LIBVFIO_OUTPUT)

Annotation

Implementation Notes