#!/bin/sh -eu
# A target built with a default dofile in the parent directory must be rebuilt if a more specific dofile appears.

[ -e dir ] \
 || mkdir dir

[ -e default.do ] \
 && rm default.do

[ -e dir/default.do ] \
 && rm dir/default.do

[ -e dir/a.do ] \
 && rm dir/a.do
 
>default.do cat <<EOF
printf '1\n'
EOF

redo dir/a

<dir/a read -r number_a1

>dir/default.do cat <<EOF
printf '2\n'
EOF

redo dir/a

<dir/a read -r number_a2

>dir/a.do cat <<EOF
printf '3\n'
EOF

redo dir/a

<dir/a read -r number_a3

test 1 -eq "${number_a1}"
test 2 -eq "${number_a2}"
test 3 -eq "${number_a3}"
