|
From: | Bruno Haible |
Subject: | Re: "make -jN" requires mechanical changes to a Makefile [SOLVED] |
Date: | Sun, 13 Sep 2020 21:11:23 +0200 |
User-agent: | KMail/5.1.3 (Linux/4.4.0-189-generic; KDE/5.18.0; x86_64; ; ) |
> =========================================== > all : copy1 copy2 copy3 copy4 > > copy1: Makefile > { test -f copy1 && test ! copy1 -ot Makefile; } || { rm -f copy4; > $(MAKE) copies; } > copy2: copy1 > { test -f copy2 && test ! copy2 -ot copy1; } || { rm -f copy4; $(MAKE) > copies; } > copy3: copy2 > { test -f copy3 && test ! copy3 -ot copy2; } || { rm -f copy4; $(MAKE) > copies; } > copy4: copy3 > { test -f copy4 && test ! copy4 -ot copy3; } || { rm -f copy4; $(MAKE) > copies; } > > copies: > install -c -m 644 Makefile copy1 > install -c -m 644 Makefile copy2 > install -c -m 644 Makefile copy3 > install -c -m 644 Makefile copy4 > .PHONY: copies > =========================================== > > This solution fulfils all the requirements. It can be simplified a bit. And remove verbosity: =========================================== all : copy1 copy2 copy3 copy4 copy1: Makefile @{ test -f copy1 && test ! copy1 -ot Makefile; } || $(MAKE) copies copy2: copy1 @{ test -f copy2 && test ! copy2 -ot copy1; } || $(MAKE) copies copy3: copy2 @{ test -f copy3 && test ! copy3 -ot copy2; } || $(MAKE) copies copy4: copy3 @{ test -f copy4 && test ! copy4 -ot copy3; } || $(MAKE) copies copies: install -c -m 644 Makefile copy1 install -c -m 644 Makefile copy2 install -c -m 644 Makefile copy3 install -c -m 644 Makefile copy4 .PHONY: copies ===========================================
[Prev in Thread] | Current Thread | [Next in Thread] |