1488570ebSJim Harris# SPDX-License-Identifier: BSD-3-Clause 2a6dbe372Spaul luse# Copyright (C) 2015 Intel Corporation. 307fe6a43SSeth Howell# All rights reserved. 407fe6a43SSeth Howell# 507fe6a43SSeth Howell 607fe6a43SSeth HowellSPDK_ROOT_DIR := $(abspath $(CURDIR)/..) 707fe6a43SSeth Howellinclude $(SPDK_ROOT_DIR)/mk/spdk.common.mk 879f9a7f5SJim Harrisinclude $(SPDK_ROOT_DIR)/mk/spdk.modules.mk 907fe6a43SSeth Howell 108db51b4eSKonrad SztyberDIRS-y = bdev blob blobfs accel event sock scheduler keyring 11de467ec9SSeth Howellifeq ($(SPDK_ROOT_DIR)/lib/env_dpdk,$(CONFIG_ENV)) 12de467ec9SSeth HowellDIRS-y += env_dpdk 13de467ec9SSeth Howellendif 1407fe6a43SSeth Howell 15*e21c39aaSAnton NayshtutDIRS-$(CONFIG_FSDEV) += fsdev 16*e21c39aaSAnton Nayshtut 1723ef6388SChangpeng Liuifeq ($(CONFIG_VFIO_USER), y) 1823ef6388SChangpeng LiuDIRS-y += vfu_device 1923ef6388SChangpeng Liuendif 2023ef6388SChangpeng Liu 217e1881ceSSeth HowellDEPDIRS-blob := 22aa7a13afSpaul luseDEPDIRS-accel := 23de467ec9SSeth HowellDEPDIRS-env_dpdk := 247e1881ceSSeth HowellDEPDIRS-sock := 25a86e40f3STomasz ZawadzkiDEPDIRS-scheduler := 267e1881ceSSeth HowellDEPDIRS-bdev := blob 272cb14abcSyidong0635DEPDIRS-blobfs := blob 287e1881ceSSeth HowellDEPDIRS-event := bdev blob 2923ef6388SChangpeng LiuDEPDIRS-vfu_device := 308db51b4eSKonrad SztyberDEPDIRS-keyring := 317e1881ceSSeth Howell 3207fe6a43SSeth Howell.PHONY: all clean $(DIRS-y) 3307fe6a43SSeth Howell 3479f9a7f5SJim HarrisBDEV_MODULES_PKGCONFIG = $(call pkgconfig_filename,spdk_bdev_modules) 3579f9a7f5SJim HarrisACCEL_MODULES_PKGCONFIG = $(call pkgconfig_filename,spdk_accel_modules) 3679f9a7f5SJim HarrisSOCK_MODULES_PKGCONFIG = $(call pkgconfig_filename,spdk_sock_modules) 37a86e40f3STomasz ZawadzkiSCHEDULER_MODULES_PKGCONFIG = $(call pkgconfig_filename,spdk_scheduler_modules) 388db51b4eSKonrad SztyberKEYRING_MODULES_PKGCONFIG = $(call pkgconfig_filename,spdk_keyring_modules) 3979f9a7f5SJim HarrisSYSLIBS_PKGCONFIG = $(call pkgconfig_filename,spdk_syslibs) 4079f9a7f5SJim Harris 4179f9a7f5SJim HarrisPRIVATE_SYSLIBS = $(SYS_LIBS) 4279f9a7f5SJim Harrisifeq ($(SPDK_ROOT_DIR)/lib/env_dpdk,$(CONFIG_ENV)) 4379f9a7f5SJim HarrisPRIVATE_SYSLIBS += $(DPDK_PRIVATE_LINKER_ARGS) 4479f9a7f5SJim Harrisendif 4579f9a7f5SJim Harris 4679f9a7f5SJim HarrisMODULES_PKGCONFIG = $(BDEV_MODULES_PKGCONFIG) $(ACCEL_MODULES_PKGCONFIG) 4779f9a7f5SJim HarrisMODULES_PKGCONFIG += $(SOCK_MODULES_PKGCONFIG) $(SYSLIBS_PKGCONFIG) 488db51b4eSKonrad SztyberMODULES_PKGCONFIG += $(SCHEDULER_MODULES_PKGCONFIG) $(KEYRING_MODULES_PKGCONFIG) 4979f9a7f5SJim Harris 50b7e27e04SJim HarrisCONFIG_MK = $(SPDK_ROOT_DIR)/mk/config.mk 51b7e27e04SJim Harris 52b7e27e04SJim Harris$(BDEV_MODULES_PKGCONFIG): $(CONFIG_MK) 5379f9a7f5SJim Harris $(Q)$(SPDK_ROOT_DIR)/scripts/pc_modules.sh bdev "$(BLOCKDEV_MODULES_LIST:%=spdk_%)" > $@ 5479f9a7f5SJim Harris 55b7e27e04SJim Harris$(ACCEL_MODULES_PKGCONFIG): $(CONFIG_MK) 5679f9a7f5SJim Harris $(Q)$(SPDK_ROOT_DIR)/scripts/pc_modules.sh accel "$(ACCEL_MODULES_LIST:%=spdk_%)" > $@ 5779f9a7f5SJim Harris 58b7e27e04SJim Harris$(SOCK_MODULES_PKGCONFIG): $(CONFIG_MK) 5979f9a7f5SJim Harris $(Q)$(SPDK_ROOT_DIR)/scripts/pc_modules.sh sock "$(SOCK_MODULES_LIST:%=spdk_%)" > $@ 6079f9a7f5SJim Harris 61b7e27e04SJim Harris$(SCHEDULER_MODULES_PKGCONFIG): $(CONFIG_MK) 62a86e40f3STomasz Zawadzki $(Q)$(SPDK_ROOT_DIR)/scripts/pc_modules.sh scheduler "$(SCHEDULER_MODULES_LIST:%=spdk_%)" > $@ 63a86e40f3STomasz Zawadzki 648db51b4eSKonrad Sztyber$(KEYRING_MODULES_PKGCONFIG): $(CONFIG_MK) 658db51b4eSKonrad Sztyber $(Q)$(SPDK_ROOT_DIR)/scripts/pc_modules.sh keyring "$(KEYRING_MODULES_LIST:%=spdk_%)" > $@ 668db51b4eSKonrad Sztyber 6779f9a7f5SJim Harris$(SYSLIBS_PKGCONFIG): 6879f9a7f5SJim Harris $(Q)$(SPDK_ROOT_DIR)/scripts/pc_libs.sh "" "$(PRIVATE_SYSLIBS)" System spdk_syslibs > $@ 6979f9a7f5SJim Harris 7079f9a7f5SJim Harrisall: $(DIRS-y) $(MODULES_PKGCONFIG) 7179f9a7f5SJim Harris 726e2c2306SJacek Kalwasinstall: all 736e2c2306SJacek Kalwas @$(foreach mod, $(MODULES_PKGCONFIG), $(call pkgconfig_install,$(mod))) 746e2c2306SJacek Kalwas 756e2c2306SJacek Kalwasuninstall: $(DIRS-y) 766e2c2306SJacek Kalwas @$(foreach mod, $(MODULES_PKGCONFIG), $(call pkgconfig_uninstall,$(mod))) 776e2c2306SJacek Kalwas 7807fe6a43SSeth Howellclean: $(DIRS-y) 7907fe6a43SSeth Howell 8007fe6a43SSeth Howellinclude $(SPDK_ROOT_DIR)/mk/spdk.subdirs.mk 81