#!/bin/sh # Copyright (C) 2003-2017 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 . # Make sure the user can override a conditional _DEPENDENCIES. . test-init.sh cat >>configure.ac <<'EOF' AM_CONDITIONAL([C1], [test -z "$two"]) AM_CONDITIONAL([C2], [test -n "$two"]) AM_CONDITIONAL([C3], [test -z "$three"]) # We define CC in Makefile.am, but OBJEXT here. OBJEXT=o; AC_SUBST([OBJEXT]) AC_SUBST([MYSUB], ["foo.$OBJEXT"]) AC_OUTPUT EOF cat >>Makefile.am <<'EOF' AUTOMAKE_OPTIONS = no-dependencies CC = : bin_PROGRAMS = a if C1 a_LDADD = $(MYSUB) a_DEPENDENCIES = $(MYSUB) nonsense.a # Note that 'nonsense.a' is there just to make sure Automake insn't # using some self computed a_DEPENDENCIES variable. endif if C2 if C3 BAR = bar.o else BAR = baz.o endif a_LDADD = $(BAR) endif test: is $(exp) == $(a_DEPENDENCIES) .PHONY: test EOF $ACLOCAL $AUTOCONF $AUTOMAKE ./configure $MAKE test exp='foo.o nonsense.a' ./configure two=yes three= $MAKE test exp='bar.o' ./configure two=yes three=yes $MAKE test exp='baz.o' :