diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules
index 939e79f8009e153c9b8d738b53cf6d1819db1da3..8d8351678cff97d80f4253bb33756570040dbb75 100644
--- a/Makefile.moddir_rules
+++ b/Makefile.moddir_rules
@@ -133,12 +133,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)/$*.so\">" > $@
-	$(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)/$*.so\">" > $@
-	$(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.make b/res/ari.make
index f9a87d3fbcccaf76335a035b9bfe9d74c0362eb4..133f2aefb0916f3682f423fb754253a2371ae5e6 100644
--- a/res/ari.make
+++ b/res/ari.make
@@ -18,46 +18,57 @@
 #
 
 res_ari_asterisk.so: ari/resource_asterisk.o
+.res_ari_asterisk.moduleinfo: ari/resource_asterisk.c
 
 ari/resource_asterisk.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_asterisk)
 
 res_ari_endpoints.so: ari/resource_endpoints.o
+.res_ari_endpoints.moduleinfo: ari/resource_endpoints.c
 
 ari/resource_endpoints.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_endpoints)
 
 res_ari_channels.so: ari/resource_channels.o
+.res_ari_channels.moduleinfo: ari/resource_channels.c
 
 ari/resource_channels.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_channels)
 
 res_ari_bridges.so: ari/resource_bridges.o
+.res_ari_bridges.moduleinfo: ari/resource_bridges.c
 
 ari/resource_bridges.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_bridges)
 
 res_ari_recordings.so: ari/resource_recordings.o
+.res_ari_recordings.moduleinfo: ari/resource_recordings.c
 
 ari/resource_recordings.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_recordings)
 
 res_ari_sounds.so: ari/resource_sounds.o
+.res_ari_sounds.moduleinfo: ari/resource_sounds.c
 
 ari/resource_sounds.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_sounds)
 
 res_ari_playbacks.so: ari/resource_playbacks.o
+.res_ari_playbacks.moduleinfo: ari/resource_playbacks.c
 
 ari/resource_playbacks.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_playbacks)
 
 res_ari_device_states.so: ari/resource_device_states.o
+.res_ari_device_states.moduleinfo: ari/resource_device_states.c
 
 ari/resource_device_states.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_device_states)
 
 res_ari_mailboxes.so: ari/resource_mailboxes.o
+.res_ari_mailboxes.moduleinfo: ari/resource_mailboxes.c
 
 ari/resource_mailboxes.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_mailboxes)
 
 res_ari_events.so: ari/resource_events.o
+.res_ari_events.moduleinfo: ari/resource_events.c
 
 ari/resource_events.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_events)
 
 res_ari_applications.so: ari/resource_applications.o
+.res_ari_applications.moduleinfo: ari/resource_applications.c
 
 ari/resource_applications.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_applications)
 
diff --git a/res/ari/ari_model_validators.c b/res/ari/ari_model_validators.c
index 97435d0252d93df9ed20cde4a4b4d831fcf166f6..fe61ad4a2064d8d4b947fe9b121b3741002a266f 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 59431583171d64fa06359cf55989c7db43ead986..f722802d818155af11bdd970bd01af3d01b4cbb1 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 621910e1c9737a0a950c1ae0d3a38a2e54ca8fe4..7239e1170e835015432b33228ffde5731b8a9ce2 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_FILE_VERSION(__FILE__, "$Revision$")
diff --git a/res/ari/resource_mailboxes.c b/res/ari/resource_mailboxes.c
index 0d9bac704017f85ba8f3f1b0062e9cac41b4be90..ec4c8e8d9d6d22735b419e03222cd0d192333637 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 3ef6710acefe62f404cb00469292014cce595096..9f5975449abdd5c601d06c4d857893e5ce119ce8 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_FILE_VERSION(__FILE__, "$Revision$")
diff --git a/res/ari/resource_recordings.c b/res/ari/resource_recordings.c
index bd273aa628aa6bc6028747ea4faaad220ca4a349..28fa735a830b66ed2309de828687cf37acf1f0e4 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_FILE_VERSION(__FILE__, "$Revision$")
diff --git a/res/res_ari_applications.c b/res/res_ari_applications.c
index 0b09213d953d357d642131eb00b9bc898d748cc2..e81d164989a27256c5016505e0ee08318c140994 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 c90437905c4d1fcc8709e29d1329d0f28359fdf5..61182976820797ac3d376d219630603d98e35aa5 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 e0b9f789f7af09e049397e9a30a26bce6201905c..860ff1dc0348ee6592d6602ab4035f35490a5cde 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 0d1334eb04891489335882655688ee71dfc193d1..d1ae80196bbcbe60756949e6ce5a0075f6241d51 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 24ea5543167f911498b175a0e962e29135bcb99d..f15e3da7891b557ec5e180a89be88127b995eaf7 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 8d8ed716c19b98ed8708a7570f87fbf6340a1dad..4d54ff3bd4959fb675ff88dfdd180bae5adcd236 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 c601f571fa2799bb461ea71a8bee75b788dc489a..40a9dfe8ca007426b923d0d167d3e4f190bd4b92 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 c1c7e48183d26673777af81b42f54589b2200df9..2b3404f2bee44e75f6cadf2a7eec0ce92f4c493b 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 8155b2a5acf8c149d729e61a46f81b0e16844382..de38ad86da4f06ee5352b6ea18e7921e577f2a6d 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 0657fa31156b2cdc97927ee3ea353cb1be6aacf1..dede53c48490cd2c1d020f55c5725c4723c0b13e 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 107f47cdf0589ff593c191bca82157b012028a67..c53330d54f3a84990bc2f959f4cd461da120a484 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.make.mustache b/rest-api-templates/ari.make.mustache
index 50293cf11a3b21deb60f29091a648f328df92fb8..0e1b7a0f77b851d603a5ffcdd4a61aaa9d1dcf6f 100644
--- a/rest-api-templates/ari.make.mustache
+++ b/rest-api-templates/ari.make.mustache
@@ -20,6 +20,7 @@
 
 {{#apis}}
 res_ari_{{c_name}}.so: ari/resource_{{c_name}}.o
+.res_ari_{{c_name}}.moduleinfo: ari/resource_{{c_name}}.c
 
 ari/resource_{{c_name}}.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_{{c_name}})
 
diff --git a/rest-api-templates/ari_model_validators.c.mustache b/rest-api-templates/ari_model_validators.c.mustache
index 9d316715630131cada0fd0109c4d49ab3d585256..be20515a495ab71b1b2e4dc44427ec9fad6ddfcd 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 896ee0d1dd64fadb26449729d0d7e21f9b6293db..4cc9e0db04a770cd3c79a005f829f001e89dee4d 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>
  ***/