1 1.2 rillig # $NetBSD: varname-circumflex.mk,v 1.2 2025/08/09 23:13:29 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.2 rillig # 6 1.2 rillig # https://gnats.netbsd.org/59018 7 1.1 rillig 8 1.1 rillig # TODO: Support $^. 9 1.1 rillig 10 1.1 rillig all: .PHONY 11 1.1 rillig all: no_prerequisites prerequisite 12 1.1 rillig all: unique duplicate 13 1.1 rillig all: dir_part file_part 14 1.1 rillig all: implicit.tout 15 1.1 rillig all: wait 16 1.1 rillig 17 1.1 rillig .if defined(^) 18 1.1 rillig . error 19 1.1 rillig .endif 20 1.1 rillig 21 1.1 rillig no_prerequisites: 22 1.1 rillig @echo $@: $^ 23 1.1 rillig 24 1.1 rillig prerequisite: file1.o 25 1.1 rillig @echo $@: $^ 26 1.1 rillig 27 1.1 rillig unique: file1.o file2.o file3.o 28 1.1 rillig @echo $@: $^ 29 1.1 rillig 30 1.1 rillig duplicate: file1.o file2.o file3.o file3.o 31 1.1 rillig @echo $@: $^ 32 1.1 rillig 33 1.1 rillig dir_part: /usr/include/stdio.h /usr/include/unistd.h foo.h 34 1.1 rillig @echo $@: $(^D) 35 1.1 rillig 36 1.1 rillig file_part: /usr/include/stdio.h /usr/include/unistd.h foo.h 37 1.1 rillig @echo $@: ${^F} 38 1.1 rillig 39 1.1 rillig wait: file1.o .WAIT file2.o 40 1.1 rillig @echo $@: $^ 41 1.1 rillig 42 1.1 rillig .SUFFIXES: 43 1.1 rillig .SUFFIXES: .tin .tout 44 1.1 rillig 45 1.1 rillig .tin.tout: 46 1.1 rillig @echo $@: $^ 47 1.1 rillig 48 1.1 rillig file1.o file2.o file3.o: 49 1.1 rillig /usr/include/stdio.h /usr/include/unistd.h foo.h implicit.tin: 50