From 7bdc9e8e96afff12d90ec2d232c24ed12710cd2f Mon Sep 17 00:00:00 2001
From: winlin <winlin@vip.126.com>
Date: Wed, 21 Apr 2021 11:18:35 +0800
Subject: [PATCH] Moduels: Refine the description

---
 trunk/auto/modules.sh             |  3 ++-
 trunk/auto/reset_module.sh        |  7 +++++++
 trunk/configure                   | 29 +++++++++--------------------
 trunk/modules/hls-ingester/config |  1 -
 trunk/modules/mp4-parser/config   |  1 -
 trunk/modules/readme.txt          | 19 ++++++-------------
 6 files changed, 24 insertions(+), 36 deletions(-)
 create mode 100644 trunk/auto/reset_module.sh

diff --git a/trunk/auto/modules.sh b/trunk/auto/modules.sh
index 66607f5c3..cffc0d9ba 100755
--- a/trunk/auto/modules.sh
+++ b/trunk/auto/modules.sh
@@ -1,4 +1,5 @@
-# generate the module info to Makefile
+#
+# Generate the module(in src, not modules) info to Makefile
 #
 # params:
 #     $SRS_OBJS the objs directory to store the Makefile. ie. ./objs
diff --git a/trunk/auto/reset_module.sh b/trunk/auto/reset_module.sh
new file mode 100644
index 000000000..bc443040b
--- /dev/null
+++ b/trunk/auto/reset_module.sh
@@ -0,0 +1,7 @@
+
+# Reset all variables for config of modules.
+SRS_MODULE_NAME=()
+SRS_MODULE_MAIN=()
+SRS_MODULE_APP=()
+SRS_MODULE_DEFINES=""
+
diff --git a/trunk/configure b/trunk/configure
index 07b794054..4349c2f73 100755
--- a/trunk/configure
+++ b/trunk/configure
@@ -57,14 +57,11 @@ __mfiles=`find modules -name "config"` && for __mfile in $__mfiles; do
 done
 
 # variables for makefile for all modules.
-__mphonys="" && __mdefaults="" && __mcleanups="" && __makefiles=""
+__mphonys="" && __mdefaults="" && __mcleanups=""
 # add each modules for application
 for SRS_MODULE in ${SRS_MODULES[*]}; do
     echo "install module at: $SRS_MODULE"
-    . $SRS_MODULE/config
-    if [[ $SRS_MODULE_MAKEFILE != "" ]]; then
-        __makefiles="$__makefiles $SRS_MODULE_MAKEFILE"
-    fi
+    . auto/reset_module.sh && . $SRS_MODULE/config
     if [[ 0 -ne ${#SRS_MODULE_MAIN[@]} ]]; then
         __mphonys="$__mphonys $SRS_MODULE_NAME"
         __mdefaults="$__mdefaults $SRS_MODULE_NAME"
@@ -299,7 +296,7 @@ fi
 DEFINES=""
 # add each modules for app
 for SRS_MODULE in ${SRS_MODULES[*]}; do
-    . $SRS_MODULE/config
+    . auto/reset_module.sh && . $SRS_MODULE/config
     MODULE_FILES+=("${SRS_MODULE_APP[*]}")
     DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}"
 done
@@ -340,7 +337,7 @@ MODULE_FILES=()
 DEFINES=""
 # add each modules for main
 for SRS_MODULE in ${SRS_MODULES[*]}; do
-    . $SRS_MODULE/config
+    . auto/reset_module.sh && . $SRS_MODULE/config
     MODULE_FILES+=("${SRS_MODULE_MAIN[*]}")
     DEFINES="${DEFINES} ${SRS_MODULE_DEFINES}"
 done
@@ -354,7 +351,7 @@ MAIN_OBJS="${MODULE_OBJS[@]}"
 # all main entrances
 MAIN_ENTRANCES=("srs_main_server")
 for SRS_MODULE in ${SRS_MODULES[*]}; do
-    . $SRS_MODULE/config
+    . auto/reset_module.sh && . $SRS_MODULE/config
     MAIN_ENTRANCES+=("${SRS_MODULE_MAIN[*]}")
 done
 #
@@ -389,7 +386,7 @@ LINK_OPTIONS="${SrsLinkOptions}${SrsGprofLink}${SrsGperfLink}"
 # srs: srs(simple rtmp server) over st(state-threads)
 BUILD_KEY="srs" APP_MAIN="srs_main_server" APP_NAME="srs" . auto/apps.sh
 #
-# For modules, without the app module.
+# For modules, with the app module.
 MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${PROTOCOL_OBJS[@]} ${APP_OBJS[@]} ${MAIN_OBJS[@]}"
 ModuleLibFiles=(${LibSTfile} ${LibSSLfile} ${LibGperfFile})
 if [[ $SRS_RTC == YES ]]; then
@@ -400,7 +397,7 @@ if [[ $SRS_FFMPEG_FIT == YES ]]; then
 fi
 #
 for SRS_MODULE in ${SRS_MODULES[*]}; do
-    . $SRS_MODULE/config
+    . auto/reset_module.sh && . $SRS_MODULE/config
     # no SRS_MODULE_MAIN
     if [[ 0 -eq ${#SRS_MODULE_MAIN[@]} ]]; then continue; fi
     BUILD_KEY="$SRS_MODULE_NAME" APP_MAIN="${SRS_MODULE_MAIN[0]}" APP_NAME="$SRS_MODULE_NAME" . auto/apps.sh
@@ -473,7 +470,7 @@ END
 
 # the real entry for all platform:
 cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
-_default: server srs_ingest_hls utest __modules $__mdefaults
+_default: server srs_ingest_hls utest $__mdefaults
 	@bash objs/_srs_build_summary.sh
 
 help:
@@ -558,14 +555,6 @@ ffmpeg:
 
 END
 
-# for Makefile of all modules.
-# depends on server, for some modules maybe use srs files.
-echo "__modules: server" >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
-for MMF in ${__makefiles[*]}; do
-    echo "	\$(MAKE) -f $MMF" >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
-done
-echo "" >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
-
 cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
 server: _prepare_dir
 	@echo "Build the srs(simple rtmp server) over ST(state-threads)"
@@ -574,7 +563,7 @@ server: _prepare_dir
 END
 # generate all modules entry
 for SRS_MODULE in ${SRS_MODULES[*]}; do
-    . $SRS_MODULE/config
+    . auto/reset_module.sh && . $SRS_MODULE/config
     cat << END >> ${SRS_WORKDIR}/${SRS_MAKEFILE}
 $SRS_MODULE_NAME: _prepare_dir server
 	@echo "Build the $SRS_MODULE_NAME over SRS"
diff --git a/trunk/modules/hls-ingester/config b/trunk/modules/hls-ingester/config
index eda6a1363..57c803ba8 100644
--- a/trunk/modules/hls-ingester/config
+++ b/trunk/modules/hls-ingester/config
@@ -4,4 +4,3 @@ SRS_MODULE_NAME=("srs_hls_ingester")
 SRS_MODULE_MAIN=("srs_main_ingest_hls")
 SRS_MODULE_APP=()
 SRS_MODULE_DEFINES=""
-SRS_MODULE_MAKEFILE=""
diff --git a/trunk/modules/mp4-parser/config b/trunk/modules/mp4-parser/config
index 7f9adfd66..5b2719545 100644
--- a/trunk/modules/mp4-parser/config
+++ b/trunk/modules/mp4-parser/config
@@ -4,4 +4,3 @@ SRS_MODULE_NAME=("srs_mp4_parser")
 SRS_MODULE_MAIN=("srs_main_mp4_parser")
 SRS_MODULE_APP=()
 SRS_MODULE_DEFINES=""
-SRS_MODULE_MAKEFILE=""
diff --git a/trunk/modules/readme.txt b/trunk/modules/readme.txt
index 32d7891f0..b0f161ab6 100644
--- a/trunk/modules/readme.txt
+++ b/trunk/modules/readme.txt
@@ -1,5 +1,6 @@
-SRS Module Rules(SRS模块规则)
-1. Each module in its seperate home directory(一个模块一个目录).
+
+SRS Application Module Rules(SRS应用模块规则)
+1. Each module in its isolate home directory(一个模块一个目录).
 2. There is a config file in home(目录下放一个config文件).
 3. All variables in configure are available(所有的configure中的变量模块中可以使用).
 
@@ -8,20 +9,12 @@ The Variables in config(模块中需要定义变量,例如):
 2. SRS_MODULE_MAIN:The source file in src/main directory, optional. (模块的main函数所在的cpp文件,在src/main目录。模块在main的文件。可以为空。)
 3. SRS_MODULE_APP:The source file in src/app directory, optional. (模块在src/app目录的源文件列表。模块在app的文件。可以为空。)
 4. SRS_MODULE_DEFINES: The extra defined macros, optional. (模块编译时的额外宏定义。在app和main模块加入。可以为空。)
-5. SRS_MODULE_MAKEFILE: The specified Makefile, optional. (模块的Makefile。在make时会执行这个Makefile。可以为空。)
-
-Reset all Variables at the beginning(在配置开头必须清空这些变量):
-SRS_MODULE_NAME=()
-SRS_MODULE_MAIN=()
-SRS_MODULE_APP=()
-SRS_MODULE_DEFINES=""
-SRS_MODULE_MAKEFILE=""
 
-For example(下面是一个实例):
+For example(下面是一个RTMFP服务器实例):
 SRS_MODULE_NAME=("srs_rtmfpd")
 SRS_MODULE_MAIN=("srs_main_rtmfpd")
 SRS_MODULE_APP=("srs_app_rtfmpd")
 SRS_MODULE_DEFINES="-DRTMFPD"
-SRS_MODULE_MAKEFILE="modules/rtmfpd/Makefile"
 
-winlin, 2015.3
+Winlin, 2015.3
+