commit f3921810fe1e28491c62bca1d6d9ca02d99eda3f Author: Eyal Ben David Date: Wed Oct 24 18:08:16 2018 +0300 Refactor plugins in a file hierarchy diff --git a/Makefile b/Makefile index 433bc41..70541cb 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -CFLAGS ?= -O2 -g -Wall -Werror +CFLAGS ?= -O2 -g -Wall -Werror -I. CFLAGS += -std=gnu99 CPPFLAGS += -D_GNU_SOURCE -D__CHECK_ENDIAN__ LIBUUID = $(shell $(LD) -o /dev/null -luuid >/dev/null 2>&1; echo $$?) @@ -32,18 +32,31 @@ override CFLAGS += -DNVME_VERSION='"$(NVME_VERSION)"' NVME_DPKG_VERSION=1~`lsb_release -sc` OBJS := argconfig.o suffix.o parser.o nvme-print.o nvme-ioctl.o \ - nvme-lightnvm.o fabrics.o json.o plugin.o intel-nvme.o \ - lnvm-nvme.o memblaze-nvme.o wdc-nvme.o wdc-utils.o nvme-models.o \ - huawei-nvme.o netapp-nvme.o toshiba-nvme.o micron-nvme.o seagate-nvme.o - -nvme: nvme.c nvme.h $(OBJS) NVME-VERSION-FILE - $(CC) $(CPPFLAGS) $(CFLAGS) nvme.c -o $(NVME) $(OBJS) $(LDFLAGS) + nvme-lightnvm.o fabrics.o json.o nvme-models.o plugin.o + +PLUGIN_OBJS := \ + plugins/intel/intel-nvme.o \ + plugins/lnvm/lnvm-nvme.o \ + plugins/memblaze/memblaze-nvme.o \ + plugins/wdc/wdc-nvme.o \ + plugins/wdc/wdc-utils.o \ + plugins/huawei/huawei-nvme.o \ + plugins/netapp/netapp-nvme.o \ + plugins/toshiba/toshiba-nvme.o \ + plugins/micron/micron-nvme.o \ + plugins/seagate/seagate-nvme.o + +nvme: nvme.c nvme.h $(OBJS) $(PLUGIN_OBJS) NVME-VERSION-FILE + $(CC) $(CPPFLAGS) $(CFLAGS) nvme.c -o $(NVME) $(OBJS) $(PLUGIN_OBJS) $(LDFLAGS) + +verify-no-dep: nvme.c nvme.h $(OBJS) NVME-VERSION-FILE + $(CC) $(CPPFLAGS) $(CFLAGS) nvme.c -o $@ $(OBJS) $(LDFLAGS) nvme.o: nvme.c nvme.h nvme-print.h nvme-ioctl.h argconfig.h suffix.h nvme-lightnvm.h fabrics.h $(CC) $(CPPFLAGS) $(CFLAGS) -c $< %.o: %.c %.h nvme.h linux/nvme_ioctl.h nvme-ioctl.h nvme-print.h argconfig.h - $(CC) $(CPPFLAGS) $(CFLAGS) -c $< + $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< doc: $(NVME) $(MAKE) -C Documentation @@ -54,9 +67,10 @@ test: all: doc clean: - $(RM) $(NVME) *.o *~ a.out NVME-VERSION-FILE *.tar* nvme.spec version control nvme-*.deb + $(RM) $(NVME) $(OBJS) $(PLUGIN_OBJS) *~ a.out NVME-VERSION-FILE *.tar* nvme.spec version control nvme-*.deb $(MAKE) -C Documentation clean $(RM) tests/*.pyc + $(RM) verify-no-dep clobber: clean $(MAKE) -C Documentation clobber diff --git a/huawei-nvme.c b/plugins/huawei/huawei-nvme.c similarity index 100% rename from huawei-nvme.c rename to plugins/huawei/huawei-nvme.c diff --git a/huawei-nvme.h b/plugins/huawei/huawei-nvme.h similarity index 88% rename from huawei-nvme.h rename to plugins/huawei/huawei-nvme.h index 91e8dfb..7aac90c 100644 --- a/huawei-nvme.h +++ b/plugins/huawei/huawei-nvme.h @@ -1,5 +1,5 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE huawei-nvme +#define CMD_INC_FILE plugins/huawei/huawei-nvme #if !defined(HUAWEI_NVME) || defined(CMD_HEADER_MULTI_READ) #define HUAWEI_NVME diff --git a/intel-nvme.c b/plugins/intel/intel-nvme.c similarity index 100% rename from intel-nvme.c rename to plugins/intel/intel-nvme.c diff --git a/intel-nvme.h b/plugins/intel/intel-nvme.h similarity index 94% rename from intel-nvme.h rename to plugins/intel/intel-nvme.h index 5e6af0b..6d70efa 100644 --- a/intel-nvme.h +++ b/plugins/intel/intel-nvme.h @@ -1,5 +1,5 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE intel-nvme +#define CMD_INC_FILE plugins/intel/intel-nvme #if !defined(INTEL_NVME) || defined(CMD_HEADER_MULTI_READ) #define INTEL_NVME diff --git a/lnvm-nvme.c b/plugins/lnvm/lnvm-nvme.c similarity index 100% rename from lnvm-nvme.c rename to plugins/lnvm/lnvm-nvme.c diff --git a/lnvm-nvme.h b/plugins/lnvm/lnvm-nvme.h similarity index 95% rename from lnvm-nvme.h rename to plugins/lnvm/lnvm-nvme.h index 293ec8f..3d5cbc5 100644 --- a/lnvm-nvme.h +++ b/plugins/lnvm/lnvm-nvme.h @@ -1,6 +1,6 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE lnvm-nvme +#define CMD_INC_FILE plugins/lnvm/lnvm-nvme #if !defined(LNVM_NVME) || defined(CMD_HEADER_MULTI_READ) #define LNVM_NVME diff --git a/memblaze-nvme.c b/plugins/memblaze/memblaze-nvme.c similarity index 100% rename from memblaze-nvme.c rename to plugins/memblaze/memblaze-nvme.c diff --git a/memblaze-nvme.h b/plugins/memblaze/memblaze-nvme.h similarity index 91% rename from memblaze-nvme.h rename to plugins/memblaze/memblaze-nvme.h index 82a0449..528285e 100644 --- a/memblaze-nvme.h +++ b/plugins/memblaze/memblaze-nvme.h @@ -1,5 +1,5 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE memblaze-nvme +#define CMD_INC_FILE plugins/memblaze/memblaze-nvme #if !defined(MEMBLAZE_NVME) || defined(CMD_HEADER_MULTI_READ) #define MEMBLAZE_NVME diff --git a/micron-nvme.c b/plugins/micron/micron-nvme.c similarity index 100% rename from micron-nvme.c rename to plugins/micron/micron-nvme.c diff --git a/micron-nvme.h b/plugins/micron/micron-nvme.h similarity index 86% rename from micron-nvme.h rename to plugins/micron/micron-nvme.h index 4054933..43e720c 100644 --- a/micron-nvme.h +++ b/plugins/micron/micron-nvme.h @@ -1,5 +1,5 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE micron-nvme +#define CMD_INC_FILE plugins/micron/micron-nvme #if !defined(MICRON_NVME) || defined(CMD_HEADER_MULTI_READ) #define MICRON_NVME diff --git a/netapp-nvme.c b/plugins/netapp/netapp-nvme.c similarity index 100% rename from netapp-nvme.c rename to plugins/netapp/netapp-nvme.c diff --git a/netapp-nvme.h b/plugins/netapp/netapp-nvme.h similarity index 85% rename from netapp-nvme.h rename to plugins/netapp/netapp-nvme.h index 6e3324c..3dd019e 100644 --- a/netapp-nvme.h +++ b/plugins/netapp/netapp-nvme.h @@ -1,5 +1,5 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE netapp-nvme +#define CMD_INC_FILE plugins/netapp/netapp-nvme #if !defined(NETAPP_NVME) || defined(CMD_HEADER_MULTI_READ) #define NETAPP_NVME diff --git a/seagate-diag.h b/plugins/seagate/seagate-diag.h old mode 100755 new mode 100644 similarity index 100% rename from seagate-diag.h rename to plugins/seagate/seagate-diag.h diff --git a/seagate-nvme.c b/plugins/seagate/seagate-nvme.c old mode 100755 new mode 100644 similarity index 100% rename from seagate-nvme.c rename to plugins/seagate/seagate-nvme.c diff --git a/seagate-nvme.h b/plugins/seagate/seagate-nvme.h old mode 100755 new mode 100644 similarity index 63% rename from seagate-nvme.h rename to plugins/seagate/seagate-nvme.h index bcf19d3..2a00e77 --- a/seagate-nvme.h +++ b/plugins/seagate/seagate-nvme.h @@ -4,7 +4,7 @@ // Copyright (c) 2017-2018 Seagate Technology LLC and/or its Affiliates, All Rights Reserved // // ****************************************************************************************** -// +// // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 @@ -17,9 +17,9 @@ // // \file seagate-nvme.h // \brief This file defines the functions and macros to make building a nvme-cli seagate plug-in. - + #undef CMD_INC_FILE -#define CMD_INC_FILE seagate-nvme +#define CMD_INC_FILE plugins/seagate/seagate-nvme #if !defined(SEAGATE_NVME) || defined(CMD_HEADER_MULTI_READ) #define SEAGATE_NVME @@ -28,15 +28,15 @@ PLUGIN(NAME("seagate", "Seagate vendor specific extensions"), COMMAND_LIST( - ENTRY("vs-temperature-stats", "Retrieve Seagate temperature statistics ", temp_stats) - ENTRY("vs-log-page-sup", "Retrieve Seagate Supported Log-pages Information ", log_pages_supp) - ENTRY("vs-smart-add-log", "Retrieve Seagate extended-SMART Information ", vs_smart_log) - ENTRY("vs-pcie-stats", "Retrieve Seagate PCIe error statistics ", vs_pcie_error_log) - ENTRY("clear-pcie-correctable-errors", "Clear Seagate PCIe error statistics ", vs_clr_pcie_correctable_errs) - ENTRY("get-host-tele", "Retrieve Seagate Host-Initiated Telemetry ", get_host_tele) - ENTRY("get-ctrl-tele", "Retrieve Seagate Controller-Initiated Telemetry ", get_ctrl_tele) - ENTRY("vs-internal-log", "Retrieve Seagate Controller-Initiated Telemetry in binary format", vs_internal_log) - ENTRY("plugin-version", "Shows Seagate plugin's version information ", seagate_plugin_version) + ENTRY("vs-temperature-stats", "Retrieve Seagate temperature statistics ", temp_stats) + ENTRY("vs-log-page-sup", "Retrieve Seagate Supported Log-pages Information ", log_pages_supp) + ENTRY("vs-smart-add-log", "Retrieve Seagate extended-SMART Information ", vs_smart_log) + ENTRY("vs-pcie-stats", "Retrieve Seagate PCIe error statistics ", vs_pcie_error_log) + ENTRY("clear-pcie-correctable-errors", "Clear Seagate PCIe error statistics ", vs_clr_pcie_correctable_errs) + ENTRY("get-host-tele", "Retrieve Seagate Host-Initiated Telemetry ", get_host_tele) + ENTRY("get-ctrl-tele", "Retrieve Seagate Controller-Initiated Telemetry ", get_ctrl_tele) + ENTRY("vs-internal-log", "Retrieve Seagate Controller-Initiated Telemetry in binary format", vs_internal_log) + ENTRY("plugin-version", "Shows Seagate plugin's version information ", seagate_plugin_version) ) ); diff --git a/toshiba-nvme.c b/plugins/toshiba/toshiba-nvme.c similarity index 100% rename from toshiba-nvme.c rename to plugins/toshiba/toshiba-nvme.c diff --git a/toshiba-nvme.h b/plugins/toshiba/toshiba-nvme.h similarity index 90% rename from toshiba-nvme.h rename to plugins/toshiba/toshiba-nvme.h index cecbbf3..c405e78 100644 --- a/toshiba-nvme.h +++ b/plugins/toshiba/toshiba-nvme.h @@ -1,5 +1,5 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE toshiba-nvme +#define CMD_INC_FILE plugins/toshiba/toshiba-nvme #if !defined(TOSHIBA_NVME) || defined(CMD_HEADER_MULTI_READ) #define TOSHIBA_NVME diff --git a/wdc-nvme.c b/plugins/wdc/wdc-nvme.c similarity index 100% rename from wdc-nvme.c rename to plugins/wdc/wdc-nvme.c diff --git a/wdc-nvme.h b/plugins/wdc/wdc-nvme.h similarity index 95% rename from wdc-nvme.h rename to plugins/wdc/wdc-nvme.h index 3732005..c2d892b 100644 --- a/wdc-nvme.h +++ b/plugins/wdc/wdc-nvme.h @@ -1,5 +1,5 @@ #undef CMD_INC_FILE -#define CMD_INC_FILE wdc-nvme +#define CMD_INC_FILE plugins/wdc/wdc-nvme #if !defined(WDC_NVME) || defined(CMD_HEADER_MULTI_READ) #define WDC_NVME diff --git a/wdc-utils.c b/plugins/wdc/wdc-utils.c similarity index 100% rename from wdc-utils.c rename to plugins/wdc/wdc-utils.c diff --git a/wdc-utils.h b/plugins/wdc/wdc-utils.h similarity index 100% rename from wdc-utils.h rename to plugins/wdc/wdc-utils.h