Home | History | Annotate | Line # | Download | only in unit-tests
cond-func-commands.mk revision 1.6
      1  1.6  rillig # $NetBSD: cond-func-commands.mk,v 1.6 2025/01/10 23:00:38 rillig Exp $
      2  1.1  rillig #
      3  1.2  rillig # Tests for the commands() function in .if conditions.
      4  1.1  rillig 
      5  1.3  rillig .MAIN: all
      6  1.3  rillig 
      7  1.5  rillig # At this point, the target 'target' does not exist yet, therefore it cannot
      8  1.5  rillig # have commands.  Sounds obvious, but good to know that it is really so.
      9  1.3  rillig .if commands(target)
     10  1.4  rillig .  error
     11  1.3  rillig .endif
     12  1.3  rillig 
     13  1.3  rillig target:
     14  1.3  rillig 
     15  1.3  rillig # Now the target exists, but it still has no commands.
     16  1.3  rillig .if commands(target)
     17  1.4  rillig .  error
     18  1.3  rillig .endif
     19  1.3  rillig 
     20  1.3  rillig target:
     21  1.3  rillig 	# not a command
     22  1.3  rillig 
     23  1.3  rillig # Even after the comment, the target still has no commands.
     24  1.3  rillig .if commands(target)
     25  1.4  rillig .  error
     26  1.3  rillig .endif
     27  1.3  rillig 
     28  1.3  rillig target:
     29  1.3  rillig 	@:;
     30  1.3  rillig 
     31  1.3  rillig # Finally the target has commands.
     32  1.3  rillig .if !commands(target)
     33  1.4  rillig .  error
     34  1.3  rillig .endif
     35  1.1  rillig 
     36  1.6  rillig # Expressions in the argument of a function call don't have to be defined.
     37  1.6  rillig .if commands(${UNDEF})
     38  1.6  rillig .  error
     39  1.6  rillig .endif
     40  1.6  rillig 
     41  1.1  rillig all:
     42  1.1  rillig 	@:;
     43