xref: /spdk/module/Makefile (revision e21c39aa707f29bcf6e1cb1989083b9cca3d9849)
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