Home | History | Annotate | Line # | Download | only in unit-tests
      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