summaryrefslogtreecommitdiff
path: root/t/suffix-rules-old-fashioned.sh
blob: fbdc4bef63f1c351b3e1be5f34ebf80eb324ef6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#! /bin/sh
# Copyright (C) 2012-2014 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Automake-NG still accepts old-fashioned suffix rules.

. test-init.sh

cat >> configure.ac << 'END'
AC_CONFIG_FILES([sub/Makefile])
AC_OUTPUT
END

cat > Makefile.am << 'END'
SUBDIRS = sub
foobar: ; cp $< $@
.mu.um:
	cp $< $@
.SUFFIXES: foo bar .mu .um
data_DATA = xbar question.um
END

mkdir sub
cat > sub/Makefile.am << 'END'
SUFFIXES = .1 2 .3 4
.1.3 24:
	sed 's/@/O/' $< >$@
all-local: bar.3 bar4
END

$ACLOCAL
$AUTOMAKE

grep SUFFIXES Makefile.in sub/Makefile.in # For debugging.

$AUTOCONF
echo foofoofoo > xfoo
echo 'What is the sound of one hand?' > question.mu
echo '@NE' > sub/bar.1
echo 'TW@' > sub/bar2

mkdir build
cd build
../configure
$MAKE
diff ../xfoo xbar
diff ../question.mu question.um
test "$(cat sub/bar.3)" = ONE
test "$(cat sub/bar4)" = TWO

cd ..
./configure
$MAKE

diff xfoo xbar
diff question.mu question.um
test "$(cat sub/bar.3)" = ONE
test "$(cat sub/bar4)" = TWO

: