Blob Blame History Raw
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