extensions CHANGE compile internal plugins separately

Avoid including *.c files into other c file and let them compile
individualy. The change needs also to correct includes in the plugins
source codes.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c081e35..3f8d53c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -135,6 +135,9 @@
     src/printer_tree.c
     src/plugins_types.c
     src/plugins_exts.c
+    src/plugins_exts_metadata.c
+    src/plugins_exts_nacm.c
+    src/plugins_exts_yangdata.c
     src/xml.c
     src/xpath.c
     src/validation.c)
diff --git a/src/plugins_exts.c b/src/plugins_exts.c
index c21ebf2..e3d3a09 100644
--- a/src/plugins_exts.c
+++ b/src/plugins_exts.c
@@ -19,9 +19,9 @@
 #include <stdint.h>
 #include <string.h>
 
-#include "plugins_exts_metadata.c"
-#include "plugins_exts_nacm.c"
-#include "plugins_exts_yangdata.c"
+extern struct lyext_plugin metadata_plugin; /* plugins_exts_metadata.c */
+extern struct lyext_plugin nacm_plugin;     /* plugins_exts_nacm.c */
+extern struct lyext_plugin yangdata_plugin; /* plugins_exts_yangdata.c */
 
 /* internal libyang headers - do not make them accessible to the extension plugins in plugins_exts_*.c */
 #include "common.h"
diff --git a/src/plugins_exts_metadata.c b/src/plugins_exts_metadata.c
index 4b8527e..6edd60c 100644
--- a/src/plugins_exts_metadata.c
+++ b/src/plugins_exts_metadata.c
@@ -14,8 +14,12 @@
 
 #include "plugins_exts_metadata.h"
 
-#include "tree_edit.h"
-#include "tree_schema.h"
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "libyang.h"
+#include "plugins_exts.h"
 
 /**
  * @brief Storage for ID used to check plugin API version compatibility.
diff --git a/src/plugins_exts_nacm.c b/src/plugins_exts_nacm.c
index 9cd1f3d..afec924 100644
--- a/src/plugins_exts_nacm.c
+++ b/src/plugins_exts_nacm.c
@@ -12,14 +12,13 @@
  *     https://opensource.org/licenses/BSD-3-Clause
  */
 
+#include <stdint.h>
 #include <stdlib.h>
+#include <string.h>
 
+#include "libyang.h"
 #include "plugins_exts.h"
 
-#include "dict.h"
-#include "tree_edit.h"
-#include "tree_schema.h"
-
 /**
  * @brief Storage for ID used to check plugin API version compatibility.
  * Ignored here in the internal plugin.
diff --git a/src/plugins_exts_yangdata.c b/src/plugins_exts_yangdata.c
index 180de16..3742a2b 100644
--- a/src/plugins_exts_yangdata.c
+++ b/src/plugins_exts_yangdata.c
@@ -12,13 +12,13 @@
  *     https://opensource.org/licenses/BSD-3-Clause
  */
 
+#include <stdint.h>
 #include <stdlib.h>
+#include <string.h>
 
+#include "libyang.h"
 #include "plugins_exts.h"
 
-#include "tree_edit.h"
-#include "tree_schema.h"
-
 /**
  * @brief Storage for ID used to check plugin API version compatibility.
  * Ignored here in the internal plugin.