diff --git a/Makefile b/Makefile
index cf65e0494a463950aa37cc51df71f4a0b5cb01e5..0305d249b6e36658271efaf1978f6c2434b8c55d 100644
--- a/Makefile
+++ b/Makefile
@@ -900,6 +900,6 @@ mxml/libmxml.a:
 
 makeopts.xml: $(foreach dir,$(MOD_SUBDIRS),$(dir)/*.c) build_tools/cflags.xml sounds/sounds.xml
 	@echo "Generating list of available modules ..."
-	@build_tools/prep_moduledeps > $@
+	@build_tools/prep_moduledeps 2>/dev/null > $@
 
 .PHONY: menuselect sounds clean clean-depend dist-clean distclean all _all depend cleantest uninstall _uninstall uninstall-all dont-optimize valgrind $(SUBDIRS_INSTALL) $(SUBDIRS_CLEAN) $(SUBDIRS_CLEAN_DEPEND) $(SUBDIRS_DEPEND) $(SUBDIRS_UNINSTALL) $(SUBDIRS)
diff --git a/build_tools/prep_moduledeps b/build_tools/prep_moduledeps
index 8454ef9333d0c87068b14fcbc6f5f2e515c906dd..3111f57421395430cf1a7e48e62af7802fc45caa 100755
--- a/build_tools/prep_moduledeps
+++ b/build_tools/prep_moduledeps
@@ -33,12 +33,13 @@ process_dir() {
 	displayname=${4}
 
 	echo -e "\t<category name=\"MENUSELECT_${catsuffix}\" displayname=\"${displayname}\">"
-	for file in ${dir}/${prefix}*.c
+	for file in `ls ${dir}/${prefix}*.c ${dir}/${prefix}*.cc | sort`
 	do
 		fname=`basename ${file} .c`
+		fname=`basename ${fname} .cc`
 		get_description ${file}
 		desc=${TDESC}
-		echo -e "\t\t<member name=\"${fname}\" displayname=\"${desc}\" remove_on_change=\"${dir}/${fname}.o ${dir}/${fname}.so\">"
+		echo -e "\t\t<member name=\"${fname}\" displayname=\"${desc}\" remove_on_change=\"${dir}/${fname}.o ${dir}/${fname}.oo ${dir}/${fname}.so\">"
 		awk -f build_tools/get_moduleinfo ${file}
 		echo -e "\t\t</member>"
 	done