Home | History | Annotate | Line # | Download | only in unit-tests
depsrc-usebefore.mk revision 1.7
      1 # $NetBSD: depsrc-usebefore.mk,v 1.7 2021/12/28 14:22:51 rillig Exp $
      2 #
      3 # Tests for the special source .USEBEFORE in dependency declarations,
      4 # which allows to prepend common commands to other targets.
      5 #
      6 # See also:
      7 #	.USE
      8 #	depsrc-use.mk
      9 
     10 # Before make.h 1.280 from 2021-12-28, a .USEBEFORE target was accidentally
     11 # regarded as a candidate for the main target.  On the other hand, a .USE
     12 # target was not.
     13 not-a-main-candidate: .USEBEFORE
     14 
     15 all: action directly
     16 
     17 first: .USEBEFORE
     18 	@echo first 1		# Using ${.TARGET} here would expand to "action"
     19 	@echo first 2		# Using ${.TARGET} here would expand to "action"
     20 
     21 second: .USEBEFORE
     22 	@echo second 1
     23 	@echo second 2
     24 
     25 # It is possible but uncommon to have a .USEBEFORE target with no commands.
     26 # This may happen as the result of expanding a .for loop.
     27 empty: .USEBEFORE
     28 
     29 # It is possible but uncommon to directly make a .USEBEFORE target.
     30 directly: .USEBEFORE
     31 	@echo directly
     32 
     33 action: second first empty
     34