Merge bitcoin/bitcoin#22234: build: Mark print-% target as phony.

fb7be92b094477131140b58a4e3ae98366b93e76 Mark print-% target as phony. (Dmitry Goncharov)

Pull request description:

  .PHONY does not take patterns (such as print-%) as prerequisites.
  Have print-% depend on force and mark force as phony.

  This change ensures print-% rule works even when there is a file that matches the target.

  ```
  $ # on master
  $ make print-host
  host=x86_64-pc-linux-gnu
  $ touch print-host
  $ make print-host
  make: 'print-host' is up to date.
  $
  $ git co mark_print_as_phony
  Switched to branch 'mark_print_as_phony'
  $ make print-host
  host=x86_64-pc-linux-gnu
  $ touch force
  $ make print-host
  host=x86_64-pc-linux-gnu
  ```

ACKs for top commit:
  hebasto:
    ACK fb7be92b094477131140b58a4e3ae98366b93e76, tested on Linux Mint 20.2 (x86_64).

Tree-SHA512: b89ae66aa8c7aa6a7ab5f0956f9eb3b3ef9d56994b60dc2a97d498d4c1bba537845c190723e8a10310280b1b35df2cd935cc30aeb76735cac2dc621ad7823772
This commit is contained in:
fanquake 2021-07-18 13:35:28 +08:00 committed by UdjinM6
parent 3f86297810
commit 48b1186ce1
3 changed files with 4 additions and 3 deletions

View File

@ -4,7 +4,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
# Pattern rule to print variables, e.g. make print-top_srcdir # Pattern rule to print variables, e.g. make print-top_srcdir
print-%: print-%: FORCE
@echo '$*'='$($*)' @echo '$*'='$($*)'
ACLOCAL_AMFLAGS = -I build-aux/m4 ACLOCAL_AMFLAGS = -I build-aux/m4

View File

@ -1,7 +1,7 @@
.NOTPARALLEL : .NOTPARALLEL :
# Pattern rule to print variables, e.g. make print-top_srcdir # Pattern rule to print variables, e.g. make print-top_srcdir
print-%: print-%: FORCE
@echo '$*'='$($*)' @echo '$*'='$($*)'
# When invoking a sub-make, keep only the command line variable definitions # When invoking a sub-make, keep only the command line variable definitions
@ -270,3 +270,4 @@ download: download-osx download-linux download-win
$(foreach package,$(all_packages),$(eval $(call ext_add_stages,$(package)))) $(foreach package,$(all_packages),$(eval $(call ext_add_stages,$(package))))
.PHONY: install cached clean clean-all download-one download-osx download-linux download-win download check-packages check-sources .PHONY: install cached clean clean-all download-one download-osx download-linux download-win download check-packages check-sources
.PHONY: FORCE

View File

@ -4,7 +4,7 @@
# file COPYING or http://www.opensource.org/licenses/mit-license.php. # file COPYING or http://www.opensource.org/licenses/mit-license.php.
# Pattern rule to print variables, e.g. make print-top_srcdir # Pattern rule to print variables, e.g. make print-top_srcdir
print-%: print-%: FORCE
@echo '$*'='$($*)' @echo '$*'='$($*)'
DIST_SUBDIRS = secp256k1 DIST_SUBDIRS = secp256k1