Home | History | Annotate | Line # | Download | only in unit-tests
      1 # $NetBSD: dep-duplicate.mk,v 1.4 2024/05/25 21:11:30 rillig Exp $
      2 #
      3 # Test for a target whose commands are defined twice.  This generates a
      4 # warning, not an error, so ensure that the correct commands are kept.
      5 #
      6 # Also ensure that the diagnostics mention the correct file in case of
      7 # included files.  Since parse.c 1.231 from 2018-12-22 and before parse.c
      8 # 1.653 from 2022-01-20, the wrong filename had been printed if the file of
      9 # the first commands section was included by its relative path.
     10 
     11 all: .PHONY
     12 	@exec > dep-duplicate.main; \
     13 	echo '# empty line 1'; \
     14 	echo '# empty line 2'; \
     15 	echo 'all:; @echo main-output'; \
     16 	echo '.include "dep-duplicate.tmp"'
     17 
     18 	@exec > dep-duplicate.tmp; \
     19 	echo 'all:; @echo inc-output'
     20 
     21 	# The main file must be specified using a relative path, just like the
     22 	# default 'makefile' or 'Makefile', to produce the same result when
     23 	# run via ATF or 'make test'.
     24 	@${MAKE} -r -f dep-duplicate.main
     25 
     26 	@rm -f dep-duplicate.main
     27 	@rm -f dep-duplicate.tmp
     28