1include $(top_srcdir)/scripts/subarch.include 2ARCH ?= $(SUBARCH) 3 4LIBVFIO_SRCDIR := $(selfdir)/vfio/lib 5 6LIBVFIO_C := iommu.c 7LIBVFIO_C += iova_allocator.c 8LIBVFIO_C += libvfio.c 9LIBVFIO_C += sysfs.c 10LIBVFIO_C += vfio_pci_device.c 11LIBVFIO_C += vfio_pci_driver.c 12 13ifeq ($(ARCH:x86_64=x86),x86) 14LIBVFIO_C += drivers/ioat/ioat.c 15LIBVFIO_C += drivers/dsa/dsa.c 16endif 17 18LIBVFIO_OUTPUT := $(OUTPUT)/libvfio 19 20LIBVFIO_O := $(patsubst %.c, $(LIBVFIO_OUTPUT)/%.o, $(LIBVFIO_C)) 21 22LIBVFIO_O_DIRS := $(shell dirname $(LIBVFIO_O) | uniq) 23 24$(LIBVFIO_O_DIRS): 25 mkdir -p $@ 26 27CFLAGS += -I$(LIBVFIO_SRCDIR)/include 28 29$(LIBVFIO_O): $(LIBVFIO_OUTPUT)/%.o : $(LIBVFIO_SRCDIR)/%.c | $(LIBVFIO_O_DIRS) 30 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ 31 32EXTRA_CLEAN += $(LIBVFIO_OUTPUT) 33