#! /bin/sh # Copyright (C) 2011-2021 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 . # Check that even "dummy" per-target flags triggers the use of renamed # objects. I.e., a definition like 'foo_CFLAGS = $(AM_CFLAGS)' should # always cause Automake to trigger the semantics for per-target CFLAGS, # even if AM_CFLAGS is undefined. Similarly for other *FLAGS variables # (CXXFLAGS, YFLAGS, LDFLAGS, ...) . test-init.sh # Disable shell globbing if possible. (set +f) >/dev/null 2>&1 && set +f oIFS=$IFS nl=' ' matches= add_match () { matches="$matches$nl$1" } do_check () { IFS=$nl for string in $matches; do IFS=$oIFS $FGREP "$string" Makefile.in done IFS=$oIFS } # Fake libtool presence, so that we won't have to require it. cat > acinclude.m4 < ltmain.sh cat >> configure.ac << 'END' AC_PROG_CC AC_PROG_CXX AC_PROG_YACC AC_PROG_LEX AC_PROG_F77 AC_PROG_FC AM_PROG_GCJ AM_PROG_AR AC_PROG_RANLIB AC_PROG_LIBTOOL AM_PROG_UPC AC_PROG_OBJC END cat > Makefile.am <<'END' bin_PROGRAMS = lib_LIBRARIES = lib_LTLIBRARIES = END $ACLOCAL cat >> Makefile.am <<'END' bin_PROGRAMS += prog1 prog1_SOURCES = source1.c prog1_CFLAGS = $(AM_CFLAGS) END add_match 'prog1-source1.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog2 prog2_SOURCES = source2.c prog2_CPPFLAGS = $(AM_CPPFLAGS) END add_match 'prog2-source2.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog3 prog3_SOURCES = source3.cxx prog3_CXXFLAGS = $(AM_CXXFLAGS) END add_match 'prog3-source3.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog4 prog4_SOURCES = source4.c++ prog4_CPPFLAGS = $(AM_CPPFLAGS) END add_match 'prog4-source4.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog5 prog5_SOURCES = source5.f prog5_FFLAGS = $(AM_FFLAGS) END add_match 'prog5-source5.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog6 prog6_SOURCES = source6.f90 prog6_FCFLAGS = $(AM_FCFLAGS) END add_match 'prog6-source6.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog7 prog7_SOURCES = source7.r prog7_RFLAGS = $(AM_RFLAGS) END add_match 'prog7-source7.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog8 prog8_SOURCES = source8.java prog8_GCJFLAGS = $(AM_GCJFLAGS) END add_match 'prog8-source8.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog9 prog9_SOURCES = source9.upc prog9_UPCFLAGS = $(AM_UPCFLAGS) END add_match 'prog9-source9.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += prog10 prog10_SOURCES = source10.m prog10_OBJCFLAGS = $(AM_OBJCFLAGS) END add_match 'prog10-source10.$(OBJEXT)' cat >> Makefile.am <<'END' bin_PROGRAMS += linkprog linkprog_SOURCES = linkprog.c linkprog_LDFLAGS = $(AM_LDFLAGS) END add_match 'linkprog_LINK =' cat >> Makefile.am <<'END' lib_LIBRARIES += libstatic.a libstatic_a_SOURCES = static123.c libstatic_a_CFLAGS = $(AM_CFLAGS) END add_match 'libstatic_a-static123.$(OBJEXT)' cat >> Makefile.am <<'END' lib_LTLIBRARIES += libshared1.la libshared1_la_SOURCES = shared1.c libshared1_la_LIBTOOLFLAGS = $(AM_LIBTOOLFLAGS) END add_match 'libshared1_la-shared1.lo' cat >> Makefile.am <<'END' lib_LTLIBRARIES += libshared2.la libshared2_la_SOURCES = shared2.cc libshared2_la_CXXFLAGS = $(AM_CXXFLAGS) END add_match 'libshared2_la-shared2.lo' cat >> Makefile.am <<'END' bin_PROGRAMS += parse1 parse1_SOURCES = parse.y parse1_YFLAGS = $(AM_YFLAGS) END add_match 'parse1-parse.c' cat >> Makefile.am <<'END' bin_PROGRAMS += parse2 parse2_SOURCES = parse.ypp parse2_YFLAGS = $(AM_YFLAGS) END add_match 'parse2-parse.cpp' cat >> Makefile.am <<'END' bin_PROGRAMS += lexer1 lexer1_SOURCES = lex.l lexer1_LFLAGS = $(AM_YFLAGS) END add_match 'lexer1-lex.c' cat >> Makefile.am <<'END' bin_PROGRAMS += lexer2 lexer2_SOURCES = lexer.ll lexer2_LFLAGS = $(AM_YFLAGS) END add_match 'lexer2-lexer.cc' # For debugging. cat Makefile.am $AUTOMAKE -a do_check sed ' s|^\(.*\)_SOURCES *= *|sub_\1_SOURCES = srcsub/| s|^\(.*\)PROGRAMS *+= *|\1PROGRAMS += sub/| s|^\(.*\)LIBRARIES *+= *|\1LIBRARIES += sub/| s|^\(.*\)FLAGS *=|sub_\1FLAGS =| ' Makefile.am > t cat - t > Makefile.am <<'END' AUTOMAKE_OPTIONS = subdir-objects END rm -f t # For debugging. cat Makefile.am $AUTOMAKE do_check :