1 1.4 rillig # $NetBSD: deptgt-delete_on_error.mk,v 1.4 2023/06/01 20:56:35 rillig Exp $ 2 1.1 rillig # 3 1.3 rillig # Tests for the special target .DELETE_ON_ERROR in dependency declarations, 4 1.3 rillig # which controls whether the target is deleted if a shell command fails or 5 1.3 rillig # is interrupted. 6 1.3 rillig # 7 1.3 rillig # In compatibility mode, regular and phony targets are deleted, but precious 8 1.3 rillig # targets are preserved. 9 1.3 rillig # 10 1.3 rillig # In parallel mode, regular targets are deleted, while phony and precious 11 1.3 rillig # targets are preserved. 12 1.3 rillig # 13 1.3 rillig # See also: 14 1.3 rillig # CompatDeleteTarget 15 1.3 rillig # JobDeleteTarget 16 1.1 rillig 17 1.3 rillig THIS= deptgt-delete_on_error 18 1.3 rillig TARGETS= ${THIS}-regular ${THIS}-regular-delete 19 1.3 rillig TARGETS+= ${THIS}-phony ${THIS}-phony-delete 20 1.3 rillig TARGETS+= ${THIS}-precious ${THIS}-precious-delete 21 1.1 rillig 22 1.1 rillig all: 23 1.3 rillig @rm -f ${TARGETS} 24 1.3 rillig @echo 'Compatibility mode' 25 1.3 rillig @-${.MAKE} -f ${MAKEFILE} -k ${TARGETS} 26 1.3 rillig @rm -f ${TARGETS} 27 1.3 rillig @echo 28 1.3 rillig @echo 'Parallel mode' 29 1.3 rillig @-${.MAKE} -f ${MAKEFILE} -k -j1 ${TARGETS} 30 1.3 rillig @rm -f ${TARGETS} 31 1.3 rillig 32 1.3 rillig ${THIS}-regular{,-delete}: 33 1.3 rillig > ${.TARGET}; false 34 1.3 rillig 35 1.3 rillig ${THIS}-phony{,-delete}: .PHONY 36 1.3 rillig > ${.TARGET}; false 37 1.3 rillig 38 1.3 rillig ${THIS}-precious{,-delete}: .PRECIOUS 39 1.3 rillig > ${.TARGET}; false 40 1.3 rillig 41 1.3 rillig # The special target .DELETE_ON_ERROR is a global setting. 42 1.3 rillig # It does not apply to single targets. 43 1.3 rillig # The following line is therefore misleading but does not generate any 44 1.3 rillig # warning or even an error message. 45 1.3 rillig .DELETE_ON_ERROR: ${TARGETS:M*-delete} 46