diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules
index 673580db1498664606a0c8ced1a037439d5f3909..3d3e6ad67067e5c3420c19b9307a7f34f6ec3783 100644
--- a/Makefile.moddir_rules
+++ b/Makefile.moddir_rules
@@ -66,6 +66,7 @@ define MOD_ADD_SOURCE
 $$(if $$(filter $(1),$$(EMBEDDED_MODS)),modules.link,$(1).so): $$(subst $(3),$(5),$(2))
 $$(subst $(3),$(5),$(2)): _ASTCFLAGS+=$$(call MOD_ASTCFLAGS,$(1))
 .$(1).moduleinfo: MODULEINFO_EXTRA_OUTPUT=" $$(addprefix $$(SUBDIR)/,$$(subst $(3),$(5),$(2)) $$(subst $(3),$(4),$(2)))"
+.$(1).moduleinfo: $(2)
 
 clean:: clean-$(1)$(3)
 
@@ -148,12 +149,12 @@ dist-clean::
 
 .%.moduleinfo: %.c
 	@echo "<member name=\"$*\" displayname=\"$(shell $(GREP) -e AST_MODULE_INFO $< | head -n 1 | cut -d '"' -f 2)\" remove_on_change=\"$(SUBDIR)/$*.o $(SUBDIR)/$*.i $(SUBDIR)/$*.so$(MODULEINFO_EXTRA_OUTPUT)\">" > $@
-	$(AWK) -f $(ASTTOPDIR)/build_tools/get_moduleinfo $< >> $@
+	$(AWK) -f $(ASTTOPDIR)/build_tools/get_moduleinfo $^ >> $@
 	echo "</member>" >> $@
 
 .%.moduleinfo: %.cc
 	@echo "<member name=\"$*\" displayname=\"$(shell $(GREP) -e AST_MODULE_INFO $< | head -n 1 | cut -d '"' -f 2)\" remove_on_change=\"$(SUBDIR)/$*.oo $(SUBDIR)/$*.ii $(SUBDIR)/$*.so$(MODULEINFO_EXTRA_OUTPUT)\">" > $@
-	$(AWK) -f $(ASTTOPDIR)/build_tools/get_moduleinfo $< >> $@
+	$(AWK) -f $(ASTTOPDIR)/build_tools/get_moduleinfo $^ >> $@
 	echo "</member>" >> $@
 
 .moduleinfo:: $(addsuffix .moduleinfo,$(addprefix .,$(sort $(ALL_C_MODS) $(ALL_CC_MODS))))
diff --git a/build_tools/get_moduleinfo b/build_tools/get_moduleinfo
index 92bc7e920389d582f27e4a9c1cd3e76127fb5967..4dbb2942fb021be4a541bc54149470a9fdc38295 100644
--- a/build_tools/get_moduleinfo
+++ b/build_tools/get_moduleinfo
@@ -1,3 +1,4 @@
 /\/\*\*\* MODULEINFO/ {printit=1; next}
-/\*\*\*\// {if (printit) exit}
+/<support_level>/ {if (gotsupportlevel) { next }; gotsupportlevel=1}
+/\*\*\*\// {printit=0}
 /.*/ {if (printit) print}
diff --git a/res/ari/ari_model_validators.c b/res/ari/ari_model_validators.c
index db12f0000c5c7e5cd237b473659a2729dc223d01..37d31a1ab006608a62d29712502256f7380a0cf7 100644
--- a/res/ari/ari_model_validators.c
+++ b/res/ari/ari_model_validators.c
@@ -24,7 +24,7 @@
  * !!!!!                               DO NOT EDIT                        !!!!!
  * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  * This file is generated by a mustache template. Please see the original
- * template in rest-api-templates/ari_model_validators.h.mustache
+ * template in rest-api-templates/ari_model_validators.c.mustache
  */
 
 #include "asterisk.h"
diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c
index e35fc8b05cc7020ce044ba7b2502e6797c7480b9..297560175f460fe5dd50d68ece579074496bb54c 100644
--- a/res/ari/resource_channels.c
+++ b/res/ari/resource_channels.c
@@ -24,7 +24,10 @@
  */
 
 /*** MODULEINFO
-	<depend type="module">res_stasis_app_playback</depend>
+	<depend type="module">res_stasis_answer</depend>
+	<depend type="module">res_stasis_playback</depend>
+	<depend type="module">res_stasis_recording</depend>
+	<depend type="module">res_stasis_snoop</depend>
 	<support_level>core</support_level>
  ***/
 
diff --git a/res/ari/resource_device_states.c b/res/ari/resource_device_states.c
index 53a3683a92bc5a34838cc243661a83c70cbad5f9..6f68d52e4decb06c4b8373e761080abceefa5938 100644
--- a/res/ari/resource_device_states.c
+++ b/res/ari/resource_device_states.c
@@ -23,6 +23,11 @@
  * \author Kevin Harwell <kharwell@digium.com>
  */
 
+/*** MODULEINFO
+	<depend type="module">res_stasis_device_states</depend>
+	<support_level>core</support_level>
+ ***/
+
 #include "asterisk.h"
 
 ASTERISK_REGISTER_FILE()
diff --git a/res/ari/resource_mailboxes.c b/res/ari/resource_mailboxes.c
index de41338ef6985351c2a735cdd2dbbe6724803b45..f899ee476dd20a023ae8743ac5595e02910ec15f 100644
--- a/res/ari/resource_mailboxes.c
+++ b/res/ari/resource_mailboxes.c
@@ -23,6 +23,11 @@
  * \author Jonathan Rose <jrose@digium.com>
  */
 
+/*** MODULEINFO
+	<depend type="module">res_stasis_mailbox</depend>
+	<support_level>core</support_level>
+ ***/
+
 #include "asterisk.h"
 #include "asterisk/stasis_app_mailbox.h"
 
diff --git a/res/ari/resource_playbacks.c b/res/ari/resource_playbacks.c
index f610c6d1beb32d3eeeb8828d2a839f17d2ed11a4..f2751f70d15d780fd0c2e0140767b4da18fe52a5 100644
--- a/res/ari/resource_playbacks.c
+++ b/res/ari/resource_playbacks.c
@@ -23,6 +23,11 @@
  * \author David M. Lee, II <dlee@digium.com>
  */
 
+/*** MODULEINFO
+	<depend type="module">res_stasis_playback</depend>
+	<support_level>core</support_level>
+ ***/
+
 #include "asterisk.h"
 
 ASTERISK_REGISTER_FILE()
diff --git a/res/ari/resource_recordings.c b/res/ari/resource_recordings.c
index e7e74ff9fdba9c0887600a322397e40edf0e97af..a49c3b12e87a520040b2e17afb036c11119c6786 100644
--- a/res/ari/resource_recordings.c
+++ b/res/ari/resource_recordings.c
@@ -23,6 +23,11 @@
  * \author David M. Lee, II <dlee@digium.com>
  */
 
+/*** MODULEINFO
+	<depend type="module">res_stasis_recording</depend>
+	<support_level>core</support_level>
+ ***/
+
 #include "asterisk.h"
 
 ASTERISK_REGISTER_FILE()
diff --git a/res/res_ari_applications.c b/res/res_ari_applications.c
index 04992c108cadf5b682602a6825ee12a189d415b6..5d38616f8f91ab662b434a9bd417fab18dcb4249 100644
--- a/res/res_ari_applications.c
+++ b/res/res_ari_applications.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_asterisk.c b/res/res_ari_asterisk.c
index df4d276d58a155669d89a095a879127a20303d1f..92f013301dac5f2098cd5f700c111d7cb6558e73 100644
--- a/res/res_ari_asterisk.c
+++ b/res/res_ari_asterisk.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_bridges.c b/res/res_ari_bridges.c
index 524b03d0903d25a9d2ba9bf0d73e5f394f454891..72a34648b3baba54d7bdda42bcbf769326374391 100644
--- a/res/res_ari_bridges.c
+++ b/res/res_ari_bridges.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_channels.c b/res/res_ari_channels.c
index ef92b6b218aea4143f27b780ba23e5c908f1eb06..a2305a514fcdb26973161e68ee90167e0d7e3105 100644
--- a/res/res_ari_channels.c
+++ b/res/res_ari_channels.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_device_states.c b/res/res_ari_device_states.c
index 6d18b3447c8bd622c89470cdff27745cc5b2d8d3..c4eff8ccd81dfe97c7f856221c548dacb4eb7d73 100644
--- a/res/res_ari_device_states.c
+++ b/res/res_ari_device_states.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_endpoints.c b/res/res_ari_endpoints.c
index e6c9d295e650eccc53a6ed41f18e04287370ea3f..c23fbc658df653a3a5e24b39f6064e1c742851f8 100644
--- a/res/res_ari_endpoints.c
+++ b/res/res_ari_endpoints.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_events.c b/res/res_ari_events.c
index 2c9c1d999386cf20bd2ba111a4ae7ba67db05f9d..aea318d688aa1e4dbf39b2231b72d6a727611a05 100644
--- a/res/res_ari_events.c
+++ b/res/res_ari_events.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_mailboxes.c b/res/res_ari_mailboxes.c
index 5eabbd2b79aee01406d6fa1e2857098b361c2eb3..0fe83c224bad7039aeff1b1ff700886d58bf6693 100644
--- a/res/res_ari_mailboxes.c
+++ b/res/res_ari_mailboxes.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_playbacks.c b/res/res_ari_playbacks.c
index 8128bb919de1581e07ed527de17e6adfaf92fccb..a0fc29a5b1ab1c710dc86cfda02ec948e111a5d7 100644
--- a/res/res_ari_playbacks.c
+++ b/res/res_ari_playbacks.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_recordings.c b/res/res_ari_recordings.c
index edc614f209cf1e2a86fd381bcfdfbb4aa2da1581..61d23aa32bf995612723f4a11a0b64590939bc31 100644
--- a/res/res_ari_recordings.c
+++ b/res/res_ari_recordings.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/res/res_ari_sounds.c b/res/res_ari_sounds.c
index 7c3528ef9fda05c22694addbd3473d78b1860a77..ea7f60a0b6fcde0d46339c1b9b53842bde3c572e 100644
--- a/res/res_ari_sounds.c
+++ b/res/res_ari_sounds.c
@@ -33,6 +33,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/
diff --git a/rest-api-templates/ari_model_validators.c.mustache b/rest-api-templates/ari_model_validators.c.mustache
index 9603fadbf543989f5357945cc3c9f2ed0b2bb52d..0ca3d26ca3fb1eb0fefe41622df6fd048ef8a0ad 100644
--- a/rest-api-templates/ari_model_validators.c.mustache
+++ b/rest-api-templates/ari_model_validators.c.mustache
@@ -22,7 +22,7 @@
  /*
 {{> do-not-edit}}
  * This file is generated by a mustache template. Please see the original
- * template in rest-api-templates/ari_model_validators.h.mustache
+ * template in rest-api-templates/ari_model_validators.c.mustache
  */
 
 #include "asterisk.h"
diff --git a/rest-api-templates/res_ari_resource.c.mustache b/rest-api-templates/res_ari_resource.c.mustache
index 9893c973145757e0cc2a62c0c365a4dbe46a7ea7..d9ca39d6a7e3ebafe8c48c2eda648e9c9458cfeb 100644
--- a/rest-api-templates/res_ari_resource.c.mustache
+++ b/rest-api-templates/res_ari_resource.c.mustache
@@ -38,6 +38,7 @@
 
 /*** MODULEINFO
 	<depend type="module">res_ari</depend>
+	<depend type="module">res_ari_model</depend>
 	<depend type="module">res_stasis</depend>
 	<support_level>core</support_level>
  ***/