#! /bin/sh # Copyright (C) 2001, 2002, 2003, 2011 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 . # Test for ansi2knr in another directory. required=gcc . ./defs || Exit 1 set -e cat > configure.in << 'END' AC_INIT(one/joe.c) AM_INIT_AUTOMAKE(liver, 0.23) AC_PROG_CC AM_C_PROTOTYPES AC_OUTPUT(Makefile one/Makefile two/Makefile) END cat > Makefile.am << 'END' SUBDIRS = one two END mkdir one two cat > one/Makefile.am << 'END' AUTOMAKE_OPTIONS = ansi2knr bin_PROGRAMS = joe END cat > two/Makefile.am << 'END' AUTOMAKE_OPTIONS = ../one/ansi2knr bin_PROGRAMS = maude END cat > one/joe.c << 'END' #include int main (int argc, char *argv[]) { printf ("joe\n"); return 0; } END cat > two/maude.c << 'END' #include int main (int argc, char *argv[]) { printf ("maude\n"); return 0; } END $ACLOCAL $AUTOCONF $AUTOMAKE -a # Ignore user CFLAGS. CFLAGS= export CFLAGS CC=gcc ./configure # This is ugly! If we set U at make time then the "wrong" file gets # included. find . -name '*.Po' -print \ | while read file; do base="`echo $file | sed -e 's/\.Po//'`" mv $file ${base}_.Po done # So is this! If we set ANSI2KNR on the make command line then the # wrong value is passed to two's Makefile. mv one/Makefile one/Makefile.old sed -e 's,ANSI2KNR =,ANSI2KNR = ./ansi2knr,' < one/Makefile.old > one/Makefile U=_ $MAKE -e ./one/joe ./two/maude