From 42b1a1c14a9c57d0c63a62ea03b7e2043b313785 Mon Sep 17 00:00:00 2001 From: Petr Hrdina Date: Sun, 22 Jun 2025 12:34:42 +0200 Subject: [PATCH 1/2] Add make recipe commands for multiple targets --- mk/repo.mk | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/mk/repo.mk b/mk/repo.mk index 3f6ad7872..38092b690 100644 --- a/mk/repo.mk +++ b/mk/repo.mk @@ -51,6 +51,16 @@ else ./clean.sh $* endif +comma := , + +# Invoke clean.sh for multiple targets +cl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),c.$(target)) +endif + # Invoke fetch.sh for a single target f.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) @@ -62,6 +72,14 @@ else ./fetch.sh $* endif +# Invoke fetch.sh for multiple targets +fl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),f.$(target)) +endif + # Invoke repo.sh for a single target r.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) @@ -73,6 +91,14 @@ else ./repo.sh $* endif +# Invoke repo.sh for multiple targets +rl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),r.$(target)) +endif + # Invoke unfetch.sh for a single target u.%: $(FSTOOLS_TAG) FORCE ifeq ($(PODMAN_BUILD),1) @@ -84,20 +110,64 @@ else ./unfetch.sh $* endif +# Invoke unfetch.sh for multiple targets +ul.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),u.$(target)) +endif + # Invoke clean.sh, and repo.sh for a single target cr.%: $(FSTOOLS_TAG) FORCE $(MAKE) c.$* $(MAKE) r.$* +# Invoke clean.sh and repo.sh for multiple targets +crl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),c.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),r.$(target)) +endif + # Invoke unfetch.sh, clean.sh, and repo.sh for a single target ucr.%: $(FSTOOLS_TAG) FORCE $(MAKE) u.$* $(MAKE) cr.$* +# Invoke unfetch.sh, clean.sh and repo.sh for multiple targets +ucrl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),u.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),cr.$(target)) +endif + uc.%: $(FSTOOLS_TAG) FORCE $(MAKE) u.$* $(MAKE) c.$* +# Invoke unfetch.sh and clean.sh for multiple targets +ucl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),u.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),c.$(target)) +endif + ucf.%: $(FSTOOLS_TAG) FORCE $(MAKE) uc.$* $(MAKE) f.$* + +# Invoke unfetch, clean.sh and fetch.sh for multiple targets +ucfl.%: $(FSTOOLS_TAG) FORCE +ifeq ($(PODMAN_BUILD),1) + $(PODMAN_RUN) $(MAKE) $@ +else + $(MAKE) $(foreach target,$(subst $(comma), ,$*),uc.$(target)) + $(MAKE) $(foreach target,$(subst $(comma), ,$*),f.$(target)) +endif From 811e267642c9677610e30545b05f4dc4334bac28 Mon Sep 17 00:00:00 2001 From: Petr Hrdina Date: Sun, 22 Jun 2025 12:35:04 +0200 Subject: [PATCH 2/2] Speedup category.sh for podman build --- scripts/category.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/category.sh b/scripts/category.sh index 933fab793..28e815d77 100755 --- a/scripts/category.sh +++ b/scripts/category.sh @@ -10,13 +10,22 @@ then exit 1 fi -set -x - action="${1#-}" +recipe_list="" +first=1 + for recipe in `find cookbook/recipes/"$2" -name "recipe.*"` do recipe_folder=`dirname "$recipe"` recipe_name=`basename "$recipe_folder"` - make "$action"."$recipe_name" -done \ No newline at end of file + if [ "$first" -eq 1 ]; then + recipe_list="$recipe_name" + first=0 + else + recipe_list="$recipe_list,$recipe_name" + fi +done + +set -x +make "$action"l."$recipe_list"