123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #!/bin/sh
- . test-init.sh
- cat >>configure.ac <<'EOF'
- AM_SILENT_RULES
- AC_PROG_CC
- AC_OUTPUT
- EOF
- cat > Makefile.am <<'EOF'
- bin_PROGRAMS = foo bar
- bar_CFLAGS = $(AM_CFLAGS)
- pkg_verbose = $(pkg_verbose_@AM_V@)
- pkg_verbose_ = $(pkg_verbose_@AM_DEFAULT_V@)
- pkg_verbose_0 = @echo PKG-GEN $@;
- bin_SCRIPTS = oop
- oop:
- $(pkg_verbose)echo $@ >$@
- mostlyclean-local:
- rm -f oop
- EOF
- cat > foo.c <<'EOF'
- int main ()
- {
- return 0;
- }
- EOF
- cp foo.c bar.c
- cat >mymake <<'EOF'
- #! /bin/sh
- makerules=
- case $1 in
- -f)
- makefile=$2
- case $2 in
- -) makerules=`cat` || exit ;;
- esac ;;
- *)
- for makefile in makefile Makefile; do
- test -f $makefile && break
- done ;;
- esac
- nested_var_pat='^[^#].*\$([^)]*\$'
- if
- case $makefile in
- -) printf '%s\n' "$makerules" | grep "$nested_var_pat";;
- *) grep "$nested_var_pat" $makefile;;
- esac
- then
- echo >&2 "mymake: $makefile contains nested variables"
- exit 1
- fi
- case $makefile in
- -) printf '%s\n' "$makerules" | $mymake_MAKE "$@";;
- *) exec $mymake_MAKE "$@";;
- esac
- EOF
- chmod a+x mymake
- mymake_MAKE=${MAKE-make}
- MAKE=./mymake
- export MAKE mymake_MAKE
- cat > Makefile <<'END'
- a = $(b$(c))
- all:
- touch bar
- END
- $MAKE && exit 99
- mv -f Makefile foo.mk
- $MAKE -f foo.mk && exit 99
- cat foo.mk | $MAKE -f - && exit 99
- test -f bar && exit 99
- sed '/a =/d' foo.mk > Makefile
- $MAKE && test -f bar || exit 99
- rm -f bar Makefile foo.mk
- $ACLOCAL
- $AUTOMAKE --add-missing
- $AUTOCONF
- ./configure --enable-silent-rules >stdout || { cat stdout; exit 1; }
- cat stdout
- grep '^checking whether \./mymake supports nested variables\.\.\. no *$' \
- stdout
- $EGREP 'CC|AM_V|GEN' Makefile
- grep '^AM_V_CC = *\$(am__v_CC_0) *$' Makefile
- grep '^AM_V_GEN = *\$(am__v_GEN_0) *$' Makefile
- run_make -O
- $EGREP ' (-c|-o)' stdout && exit 1
- grep 'mv ' stdout && exit 1
- grep 'echo .*oop' stdout && exit 1
- grep 'CC .*foo\.' stdout
- grep 'CC .*bar\.' stdout
- grep 'CCLD .*foo' stdout
- grep 'CCLD .*bar' stdout
- grep 'PKG-GEN .*oop' stdout
- $MAKE distclean
- ./configure --disable-silent-rules > stdout || { cat stdout; exit 1; }
- cat stdout
- grep '^checking whether \./mymake supports nested variables\.\.\. no *$' \
- stdout
- $EGREP 'CC|AM_V|GEN' Makefile
- grep '^AM_V_CC = *\$(am__v_CC_1) *$' Makefile
- grep '^AM_V_GEN = *\$(am__v_GEN_1) *$' Makefile
- run_make -O
- grep ' -c' stdout
- grep ' -o foo' stdout
- grep ' -o bar' stdout
- grep 'echo .*>oop' stdout
- $EGREP '(CC|LD) ' stdout && exit 1
- :
|