py-mod.mk: Support PY_INIT_SUBMODULES #24

Merged
Jan Lindemann merged 1 commit from jan/feature/20260617-py-mod-mk-support-py-init-submodules into master 2026-06-17 19:43:32 +02:00 AGit
2 changed files with 18 additions and 1 deletions

View file

@ -14,6 +14,11 @@ ifneq ($(PY_SYMBOL_FILTER),)
PY_GENERATE_INIT_PY += --symbol-filter "$(PY_SYMBOL_FILTER)"
endif
PY_INIT_SUBMODULES ?=
ifneq ($(PY_INIT_SUBMODULES),)
PY_GENERATE_INIT_PY += --submodules "$(PY_INIT_SUBMODULES)"
endif
#leftparen := (
#PY_EXPORT ?= $(shell sed '/\(class\|def\) ..*\# *export/ !d; s/\(class\|def\) *//; s/[$(leftparen):].*//' $(PY_SRC_PY))

View file

@ -68,6 +68,13 @@ cmd_create_init()
done
done
fi
local submodule
for submodule in $submodules; do
echo "from . import $submodule as $submodule"
__add_seen $submodule
done
if [ "$import_submodules" = 1 ]; then
for f in $files; do
[ -f $f/__init__.py ] || continue
@ -90,7 +97,8 @@ cmd_create_init()
myname=`basename $0`
eval set -- `getopt -l 'symbol-filter:,extract-filter:,module:' -o 'he:m:' "$@"`
submodules=""
eval set -- `getopt -l 'symbol-filter:,extract-filter:,module:,submodules:' -o 'he:m:' "$@"`
while [ "$1" != -- ]; do
case $1 in
-e|--extract-filter)
@ -105,6 +113,10 @@ case $1 in
module=$2
shift
;;
-m|--submodules)
submodules="$submodules $2"
shift
;;
-h|--help)
usage 0
;;