1 1.1 rillig # $NetBSD: varname-circumflex.mk,v 1.1 2025/06/27 20:20:56 rillig Exp $ 2 1.1 rillig # 3 1.1 rillig # Tests for the target-local variable "^", which is required by POSIX 2024 4 1.1 rillig # and provided by GNU make. 5 1.1 rillig 6 1.1 rillig # TODO: Support $^. 7 1.1 rillig 8 1.1 rillig all: .PHONY 9 1.1 rillig all: no_prerequisites prerequisite 10 1.1 rillig all: unique duplicate 11 1.1 rillig all: dir_part file_part 12 1.1 rillig all: implicit.tout 13 1.1 rillig all: wait 14 1.1 rillig 15 1.1 rillig .if defined(^) 16 1.1 rillig . error 17 1.1 rillig .endif 18 1.1 rillig 19 1.1 rillig no_prerequisites: 20 1.1 rillig @echo $@: $^ 21 1.1 rillig 22 1.1 rillig prerequisite: file1.o 23 1.1 rillig @echo $@: $^ 24 1.1 rillig 25 1.1 rillig unique: file1.o file2.o file3.o 26 1.1 rillig @echo $@: $^ 27 1.1 rillig 28 1.1 rillig duplicate: file1.o file2.o file3.o file3.o 29 1.1 rillig @echo $@: $^ 30 1.1 rillig 31 1.1 rillig dir_part: /usr/include/stdio.h /usr/include/unistd.h foo.h 32 1.1 rillig @echo $@: $(^D) 33 1.1 rillig 34 1.1 rillig file_part: /usr/include/stdio.h /usr/include/unistd.h foo.h 35 1.1 rillig @echo $@: ${^F} 36 1.1 rillig 37 1.1 rillig wait: file1.o .WAIT file2.o 38 1.1 rillig @echo $@: $^ 39 1.1 rillig 40 1.1 rillig .SUFFIXES: 41 1.1 rillig .SUFFIXES: .tin .tout 42 1.1 rillig 43 1.1 rillig .tin.tout: 44 1.1 rillig @echo $@: $^ 45 1.1 rillig 46 1.1 rillig file1.o file2.o file3.o: 47 1.1 rillig /usr/include/stdio.h /usr/include/unistd.h foo.h implicit.tin: 48