commit f3921810fe1e28491c62bca1d6d9ca02d99eda3f
Author: Eyal Ben David <eyalbe@il.ibm.com>
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