From ed7f0c6066005a5176bd6cd960dd7b57ef3fc566 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 18 Jan 2025 16:54:29 +0100 Subject: [PATCH] dependency-list: add python and ffmpeg dependency based on include file --- mk/dependency-list.sh | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/mk/dependency-list.sh b/mk/dependency-list.sh index 6f7bf09b2cf..2d2e11f32b4 100755 --- a/mk/dependency-list.sh +++ b/mk/dependency-list.sh @@ -36,11 +36,36 @@ function get_spk_name () fi } +# evaluate python dependency in an spk Makefile +# param1: spk package folder (like spk/{name}) +function get_python_dependency () +{ + if [ -f ${1}/Makefile -a "$(grep ^include.*\/spksrc\.python\.mk ${1}/Makefile)" ]; then + local dep=$(grep "PYTHON_PACKAGE\s*=" ${1}/Makefile | cut -d= -f2 | xargs) + echo "cross/${dep} " + fi +} + +# evaluate ffmpeg dependency in an spk Makefile +# param1: spk package folder (like spk/{name}) +function get_ffmpeg_dependency () +{ + if [ -f ${1}/Makefile -a "$(grep ^include.*\/spksrc\.ffmpeg\.mk ${1}/Makefile)" ]; then + local dep=$(grep "FFMPEG_PACKAGE\s*=" ${1}/Makefile | cut -d= -f2 | xargs) + echo "cross/${dep} " + fi +} + + # evaluates all dependencies in a single Makefile # param1: folder (like spk/{name}, cross/{name}, native/{name}) function get_file_dependencies () { if [ -f ${1}/Makefile ]; then + if [ "$(dirname ${1})" = "spk" ]; then + get_python_dependency ${1} + get_ffmpeg_dependency ${1} + fi grep "^DEPENDS\|^NATIVE_DEPENDS\|^BUILD_DEPENDS" ${1}/Makefile | cut -d= -f2 | sort -u | tr '\n' ' ' fi } @@ -87,11 +112,11 @@ function get_spk_dependencies () } # get the dependency list for a package -# param1: package name +# param1: spk package folder (like spk/{name}) function get_dependency_list () { - local spk_name=$(get_spk_name spk/${package}) - local toplevel_dependencies=$(get_file_dependencies spk/${package}) + local spk_name=$(get_spk_name ${1}) + local toplevel_dependencies=$(get_file_dependencies ${1}) local spk_dependencies=$(get_spk_dependencies "${toplevel_dependencies}") echo "${spk_name}: ${spk_dependencies}" }