projects-dir-minimal.mk: Improve on link-makefile.done

- Make PROJECTS_MAKEFILE_NAME point to first in $(MAKEFILE_LIST)

  - Allow to include projects-dir-minimal.mk in hand-written Makefile
    without fear that its going to be overwritten with a link

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-11-23 20:00:50 +01:00
commit c6444a4a72

View file

@ -13,7 +13,7 @@
# take you there semi-automatically. # take you there semi-automatically.
# #
PROJECTS_MAKEFILE_NAME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) PROJECTS_MAKEFILE_NAME := $(firstword $(MAKEFILE_LIST))
-include local.mk -include local.mk
@ -69,11 +69,13 @@ ifneq ($(findstring proactiveAuth,$(GIT_GLOBAL_OPTS)),)
endif endif
make $(MAKECMDGOALS) make $(MAKECMDGOALS)
RANDOM_STRING := some-random-string-to-id-this-makefile
all: link-makefile.done all: link-makefile.done
link-makefile.done: | $(JWBDIR) link-makefile.done: | $(JWBDIR)
[ -L $(PROJECTS_MAKEFILE_NAME) ] || \ if [ ! -L $(PROJECTS_MAKEFILE_NAME) ] && grep -q $(RANDOM_STRING) $(PROJECTS_MAKEFILE_NAME); then \
ln -sf `git -C $(JWBDIR) ls-files | sed '/\.mk$$/ !d; s|^|$(JWBDIR)/|' | xargs grep -l some-random-string-to-id-this-makefile` \ ln -sf `git -C $(JWBDIR) ls-files | sed '/\.mk$$/ !d; s|^|$(JWBDIR)/|' | xargs grep -l $(RANDOM_STRING)` \
$(PROJECTS_MAKEFILE_NAME) $(PROJECTS_MAKEFILE_NAME) ;\
fi
touch $@ touch $@
clean: clean.link-makefile clean: clean.link-makefile
clean.link-makefile: clean.link-makefile: