* libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_LINKER_SHLIBS)
[libtool.git] / Makefile.am
bloba3e0cc4951dc38701bae2266cf98ac4575b294a7
1 ## Makefile.am -- Process this file with automake to produce Makefile.in
2 ##
3 ## Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
4 ##
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation; either version 2 of the License, or
8 ## (at your option) any later version.
9 ##
10 ## As a special exception to the GNU Lesser General Public License,
11 ## if you distribute this file as part of a program or library that
12 ## is built using GNU libtool, you may include it under the same
13 ## distribution terms that you use for the rest of that program.
15 ## This program is distributed in the hope that it will be useful,
16 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ## GNU General Public License for more details.
20 ## You should have received a copy of the GNU General Public License
21 ## along with this program; see the file COPYING.  If not, write to
22 ## the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23 ## Boston, MA 02110-1301, USA.
25 ACLOCAL_AMFLAGS         = -I libltdl/m4
27 AM_CPPFLAGS             =
28 AM_LDFLAGS              =
30 DIST_SUBDIRS            = .
31 EXTRA_DIST              =
33 BUILT_SOURCES           = libtool
35 CLEANFILES              =
36 MOSTLYCLEANFILES        =
37 DISTCLEANFILES          =
39 include_HEADERS         =
40 noinst_LTLIBRARIES      =
41 lib_LTLIBRARIES         =
42 EXTRA_LTLIBRARIES       =
44 auxdir                  = libltdl/config
45 m4dir                   = libltdl/m4
47 # Using `cd' in backquotes may print the directory name, use this instead:
48 lt__cd          = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
51 ## ---------------- ##
52 ## Libtool scripts. ##
53 ## ---------------- ##
55 # The libtool distributor and the standalone libtool script.
56 bin_SCRIPTS = libtoolize libtool
58 libtoolize: $(srcdir)/libtoolize.in
59         rm -f libtoolize.tmp libtoolize
60         $(timestamp); \
61         input="libtoolize.m4sh"; \
62         $(edit) -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" \
63                 -e 's,@aclocal_DATA\@,$(aclocalfiles),g' \
64                 -e "s,@pkgltdl_files\@,$(ltdldatafiles),g" \
65                 -e "s,@pkgconfig_files\@,$(auxfiles),g" \
66                 $(srcdir)/libtoolize.in > libtoolize.tmp
67         chmod a+x libtoolize.tmp
68         chmod a-w libtoolize.tmp
69         mv -f libtoolize.tmp libtoolize
71 # Use `$(srcdir)' for the benefit of non-GNU makes: this is
72 # how libtoolize.in appears in our dependencies.
73 EXTRA_DIST += libtoolize.m4sh
74 $(srcdir)/libtoolize.in: $(sh_files) libtoolize.m4sh Makefile.am
75         cd $(srcdir); \
76         rm -f libtoolize.in; \
77         $(M4SH) -B $(auxdir) libtoolize.m4sh > libtoolize.in
79 libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh \
80          $(srcdir)/stamp-vcl
81         cd $(top_builddir) && $(SHELL) ./config.status $@
83 .PHONY: configure-subdirs
84 configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
85 @DIST_MAKEFILE_LIST@:
86         dir=`echo $@ | sed 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \
87         test -d $$dir || mkdir $$dir || exit 1; \
88         abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; \
89         (cd $$dir && $$abs_srcdir/$$dir/configure) || exit 1
92 # ---------- #
93 # Bootstrap. #
94 # ---------- #
96 edit = sed \
97         -e 's,@EGREP\@,$(EGREP),g' \
98         -e 's,@FGREP\@,$(FGREP),g' \
99         -e 's,@GREP\@,$(GREP),g' \
100         -e 's,@LN_S\@,$(LN_S),g' \
101         -e 's,@MACRO_VERSION\@,$(VERSION),g' \
102         -e 's,@PACKAGE\@,$(PACKAGE),g' \
103         -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \
104         -e 's,@PACKAGE_NAME\@,$(PACKAGE),g' \
105         -e 's,@PACKAGE_STRING\@,$(PACKAGE) $(VERSION),g' \
106         -e 's,@PACKAGE_TARNAME\@,$(PACKAGE),g' \
107         -e 's,@PACKAGE_VERSION\@,$(VERSION),g' \
108         -e 's,@SED\@,$(SED),g' \
109         -e 's,@VERSION\@,$(VERSION),g' \
110         -e 's,@aclocaldir\@,$(aclocaldir),g' \
111         -e 's,@datadir\@,$(datadir),g' \
112         -e 's,@pkgdatadir\@,$(pkgdatadir),g' \
113         -e 's,@host_triplet\@,$(host_triplet),g' \
114         -e 's,@prefix\@,$(prefix),g' \
115         -e "s,@configure_input\@,Generated from $$input; do not edit by hand,g"
117 timestamp = set dummy `$(MKSTAMP) < $(srcdir)/ChangeLog`; shift; \
118         case $(VERSION) in \
119           *[acegikmoqsuwy]) TIMESTAMP=" $$1 $$2 $$3" ;; \
120           *) TIMESTAMP="" ;; \
121         esac
123 sh_files        = $(auxdir)/general.m4sh $(auxdir)/getopt.m4sh
124 EXTRA_DIST     += bootstrap libtoolize.in $(auxdir)/ltmain.m4sh \
125                   $(auxdir)/mkstamp $(sh_files) stamp-vcl \
126                   ChangeLog.1996 ChangeLog.1997 ChangeLog.1998 \
127                   ChangeLog.1999 ChangeLog.2000 ChangeLog.2001 \
128                   ChangeLog.2002 ChangeLog.2003 ChangeLog.2004
129 CLEANFILES     += libtool libtoolize libtoolize.tmp \
130                   $(auxdir)/ltmain.tmp $(m4dir)/ltversion.tmp
132 ## We know that $(srcdir)/ChangeLog has been edited if stamp-vcl
133 ## needs updating, so we assume we have write access to $(srcdir).
134 ## If we try to maintain ./stamp-vcl to avoid writing to a possibly
135 ## read-only $(srcdir), then when the two stamp-vcls differ, distcheck
136 ## will try to update the one in the read-only source tree it makes.
137 MKSTAMP = $(SHELL) $(srcdir)/$(auxdir)/mkstamp
138 $(srcdir)/stamp-vcl: vcl-tmp clean-ltmain-sh ChangeLog
139 vcl-tmp:
140         @set dummy `$(MKSTAMP) < $(srcdir)/ChangeLog`; shift; \
141         echo "$$1" > vcl.tmp; \
142         diff vcl.tmp $(srcdir)/stamp-vcl >/dev/null 2>&1 \
143           || (echo "Updating stamp-vcl"; cp vcl.tmp $(srcdir)/stamp-vcl)
144         -@rm -f vcl.tmp
146 ## We used to build ltmain.sh in the build tree, but now it is created
147 ## in the source tree by bootstrap.  This rule removes stale copies from
148 ## previous builds left behind in the build tree, that would override the
149 ## source tree version in current builds.
150 clean-ltmain-sh:
151         @-test "$(srcdir)" = "$(top_builddir)" || \
152           rm -f "$(top_builddir)/$(auxdir)/ltmain.sh"
154 # We build ltversion.m4 here, instead of from config.status,
155 # because config.status is rerun each time one of configure's
156 # dependencies change and ltversion.m4 happens to be a configure
157 # dependency.  configure and ltversion.m4 would be rebuilt in
158 # a loop otherwise.
159 # Use `$(srcdir)/m4' for the benefit of non-GNU makes: this is
160 # how ltversion.m4 appears in our dependencies.
161 EXTRA_DIST += $(m4dir)/ltversion.in $(m4dir)/ltversion.m4
162 $(srcdir)/$(m4dir)/ltversion.m4: $(m4dir)/ltversion.in configure.ac $(srcdir)/stamp-vcl
163         set dummy `$(MKSTAMP) < $(srcdir)/ChangeLog`; shift; \
164         cd $(srcdir); \
165         rm -f $(m4dir)/ltversion.tmp; \
166         serial=`echo $$1 | sed 's,^1[.],,g'`; \
167         input="ltversion.in"; \
168         $(edit) -e "s,@MACRO_REVISION\@,$$1,g" \
169                 -e "s,@MACRO_SERIAL\@,$$serial,g" \
170                 $(m4dir)/ltversion.in > $(m4dir)/ltversion.tmp; \
171         chmod a-w $(m4dir)/ltversion.tmp; \
172         mv -f $(m4dir)/ltversion.tmp $(m4dir)/ltversion.m4
174 ## And for similar reasons, ltmain.sh can't be built from config.status.
175 ## !WARNING! If you edit this rule to change the contents of ltmain.sh,
176 ##           you must `touch $(srcdir)/$(auxdir)/ltmain.in' from the
177 ##           shell if you need ltmain.sh to be regenerated.  Ideally, we
178 ##           should make this rule depend on Makefile but that will break
179 ##           distcheck (at least) by rebuilding ltmain.sh in the source
180 ##           tree whenever config.status regenerates the Makefile.
181 EXTRA_DIST += $(auxdir)/ltmain.sh
182 $(srcdir)/$(auxdir)/ltmain.sh: $(sh_files) $(auxdir)/ltmain.m4sh configure.ac \
183                                 $(srcdir)/stamp-vcl
184         $(timestamp); \
185         cd $(srcdir); \
186         rm -f $(auxdir)/ltmain.in $(auxdir)/ltmain.tmp \
187             $(auxdir)/ltmain.sh; \
188         $(M4SH) -B $(auxdir) $(auxdir)/ltmain.m4sh \
189             > $(auxdir)/ltmain.in; \
190         input="ltmain.m4sh"; \
191         $(edit) -e "s,@TIMESTAMP\@,$$TIMESTAMP,g" \
192                 -e "s,@package_revision\@,$$1,g" \
193                 $(auxdir)/ltmain.in > $(auxdir)/ltmain.tmp; \
194         rm -f $(auxdir)/ltmain.in; \
195         chmod a-w $(auxdir)/ltmain.tmp; \
196         mv -f $(auxdir)/ltmain.tmp $(auxdir)/ltmain.sh
198 $(srcdir)/libltdl/Makefile.am: $(srcdir)/libltdl/Makefile.inc
199         cd $(srcdir); \
200         in=libltdl/Makefile.inc; out=libltdl/Makefile.am; \
201         rm -f $$out; \
202         $(SED) -n '/^.. Makefile.am -- /,/^.. Boston, MA/p' $$in > $$out; \
203         { echo 'ACLOCAL_AMFLAGS = -I m4'; \
204           echo 'AUTOMAKE_OPTIONS = foreign'; \
205           echo 'AM_CPPFLAGS ='; \
206           echo 'AM_LDFLAGS ='; \
207           echo 'BUILT_SOURCES ='; \
208           echo 'include_HEADERS ='; \
209           echo 'noinst_LTLIBRARIES ='; \
210           echo 'lib_LTLIBRARIES ='; \
211           echo 'EXTRA_LTLIBRARIES ='; \
212           echo 'EXTRA_DIST ='; \
213           echo 'CLEANFILES ='; \
214           echo 'MOSTLYCLEANFILES ='; \
215         } >> $$out; \
216         $(SED) -n '/^.. DO NOT REMOVE THIS LINE -- /,$$ \
217             { s,libltdl_,,; s,libltdl/,,; s,: libltdl/,: ,; \
218               s,\$$(libltdl_,$$(,; p; }' $$in >> $$out;
219         chmod a-w $(srcdir)/libltdl/Makefile.am
221 $(srcdir)/libltdl/Makefile.in: $(srcdir)/libltdl/Makefile.am
222         cd $(srcdir)/libltdl && $(AUTOMAKE) Makefile
224 # We want the libltdl files to be up to date as much as possible.
225 all-local: $(srcdir)/libltdl/Makefile.in
228 ## -------- ##
229 ## Libltdl. ##
230 ## -------- ##
232 include libltdl/Makefile.inc
234 if ! LTDL_SUBDIR_LIBOBJS
235 ## workaround for Autoconf 2.59, Automake 1.9.6:
236 ## we include these files twice, because of missing LIBOBJDIR support.
237 EXTRA_DIST += \
238         argz.c libltdl/argz.c \
239         lt__dirent.c libltdl/lt__dirent.c \
240         lt__strl.c libltdl/lt__strl.c
241 endif
244 ## -------------- ##
245 ## Documentation. ##
246 ## -------------- ##
248 info_TEXINFOS           = doc/libtool.texi
249 libtool_TEXINFOS        = doc/PLATFORMS doc/fdl.texi doc/notes.texi
250 EXTRA_DIST             += doc/notes.txt $(libtool_TEXINFOS)
252 all-local: $(srcdir)/doc/notes.txt
254 $(srcdir)/doc/notes.txt: $(srcdir)/doc/notes.texi
255         cd $(srcdir)/doc && \
256           $(MAKEINFO) --no-headers $(MAKEINFOFLAGS) -o notes.txt notes.texi
259 ## ------------- ##
260 ## Installation. ##
261 ## ------------- ##
263 # These are required by libtoolize and must be executable when installed.
264 # The timestamps on these files must be preserved carefully so we install,
265 # uninstall and set executable with custom rules here.
266 auxexefiles     = config/compile config/config.guess config/config.sub \
267                   config/depcomp config/install-sh config/missing
268 auxfiles        = $(auxexefiles) config/ltmain.sh
270 # Everything that gets picked up by aclocal is automatically distributed,
271 # this is the list of macro files we install on the user's system.
272 aclocalfiles    = m4/argz.m4 m4/libtool.m4 m4/ltdl.m4 m4/ltoptions.m4 \
273                   m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4
275 ## These are installed as a subdirectory of pkgdatadir so that
276 ## libtoolize --ltdl can find them later:
277 ltdldatafiles   = libltdl/COPYING.LIB \
278                   libltdl/README \
279                   libltdl/Makefile.inc \
280                   libltdl/Makefile.am \
281                   libltdl/configure.ac \
282                   libltdl/aclocal.m4 \
283                   libltdl/Makefile.in \
284                   libltdl/config-h.in \
285                   libltdl/configure \
286                   libltdl/argz_.h \
287                   libltdl/argz.c \
288                   libltdl/loaders/dld_link.c \
289                   libltdl/loaders/dlopen.c \
290                   libltdl/loaders/dyld.c \
291                   libltdl/loaders/load_add_on.c \
292                   libltdl/loaders/loadlibrary.c \
293                   libltdl/loaders/shl_load.c \
294                   libltdl/lt__dirent.c \
295                   libltdl/lt__strl.c \
296                   $(libltdl_libltdl_la_SOURCES)
298 install-data-local: libltdl/Makefile.in
299         @$(NORMAL_INSTALL)
300 ## Don't install over the top of an old pkgdatadir
301         -rm -rf $(DESTDIR)$(pkgdatadir)/*
302 ## To avoid spurious reconfiguration when the user installs these files
303 ## with libtoolize, we have to install them in the correct order:
304 ## First, put a copy of the libtool m4 macros in the aclocal dir
305         $(mkinstalldirs) $(DESTDIR)$(aclocaldir)
306         @cd $(srcdir)/$(m4dir) && \
307         list='$(aclocalfiles)'; for p in $$list; do \
308           f=`echo "$$p" | sed 's|^.*/||'`; \
309           echo " $(INSTALL_DATA) '$$f' '$(DESTDIR)$(aclocaldir)/$$f'"; \
310           $(INSTALL_DATA) "$$f" "$(DESTDIR)$(aclocaldir)/$$f"; \
311         done
312 ## install the helper scripts
313         $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
314         $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/config
315         @cd $(srcdir)/libltdl && \
316         list='$(auxfiles)' && for p in $$list; do \
317           echo " $(INSTALL_SCRIPT) '$$p' '$(DESTDIR)$(pkgdatadir)/$$p'"; \
318           $(INSTALL_SCRIPT) "$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \
319         done
320 ## install the libltdl files
321         $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/libltdl
322         $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/libltdl/libltdl
323         $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/libltdl/loaders
324         @cd $(srcdir) && \
325         list='$(ltdldatafiles)' && for p in $$list; do \
326           echo " $(INSTALL_DATA) '$$p' '$(DESTDIR)$(pkgdatadir)/$$p'"; \
327           $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)/$$p"; \
328         done
329         -chmod a+x $(DESTDIR)$(pkgdatadir)/libltdl/configure
332 ## ------------- ##
333 ## Distribution. ##
334 ## ------------- ##
336 uninstall-hook:
337         @$(NORMAL_UNINSTALL)
338         @list='$(ltdldatafiles) $(auxfiles)'; for f in $$list; do \
339           echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
340           rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
341         done
342         @for p in $(aclocalfiles); do \
343           f=`echo "$$p" | sed 's|^.*/||'`; \
344           echo " rm -f '$(DESTDIR)$(aclocaldir)/$$f'"; \
345           rm -f "$(DESTDIR)$(aclocaldir)/$$f"; \
346         done
348 dist-hook:
349 ## Ship README.alpha only in alpha release, but renamed to README
350         @if test -f $(srcdir)/README.alpha; then \
351         case $(VERSION) in \
352           *[a-z]) cp -p $(srcdir)/README.alpha $(distdir)/README ;; \
353         esac; else :; fi
356 ## ----------- ##
357 ## Test suite. ##
358 ## ----------- ##
360 TESTSUITE       = tests/testsuite
361 TESTSUITE_AT    = tests/testsuite.at \
362                   tests/am-subdir.at \
363                   tests/duplicate_members.at \
364                   tests/inherited_flags.at \
365                   tests/libtoolize.at \
366                   tests/nonrecursive.at \
367                   tests/old-m4-iface.at \
368                   tests/recursive.at \
369                   tests/standalone.at \
370                   tests/deplibs-ident.at \
371                   tests/stresstest.at \
372                   tests/subproject.at \
373                   tests/link-order.at \
374                   tests/fail.at \
375                   tests/convenience.at \
376                   tests/early-libtool.at \
377                   tests/template.at
379 EXTRA_DIST     += $(TESTSUITE) $(TESTSUITE_AT) tests/package.m4
381 # Be sure to reexport important environment variables:
382 TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" \
383         CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" LD="$(LD)" LDFLAGS="$(LDFLAGS)" \
384         LIBS="$(LIBS)" LN_S="$(LN_S)" NM="$(NM)" RANLIB="$(RANLIB)" \
385         OBJEXT="$(OBJEXT)" EXEEXT="$(EXEEXT)" \
386         SHELL="$(SHELL)" CONFIG_SHELL="$(SHELL)" \
387         CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" CXXCPP="$(CXXCPP)" \
388         F77="$(F77)" FFLAGS="$(FFLAGS)" \
389         FC="$(FC)" FCFLAGS="$(FCFLAGS)" \
390         GCJ="$(GCJ)" GCJFLAGS="$(GCJFLAGS)"
392 BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \
393         LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \
394         LIBTOOL="$(abs_top_builddir)/libtool" \
395         tst_aclocaldir="$(abs_top_srcdir)/libltdl/m4"
397 INSTALLCHECK_ENVIRONMENT = \
398         LIBTOOLIZE="$(bindir)/`echo libtoolize | sed '$(program_transform_name)'`" \
399         LIBTOOL="$(bindir)/`echo libtool | sed '$(program_transform_name)'`" \
400         tst_aclocaldir="$(aclocaldir)"
402 check-recursive: $(srcdir)/$(TESTSUITE)
404 # Use `$(srcdir)' for the benefit of non-GNU makes: this is
405 # how `testsuite' appears in our dependencies.
406 $(srcdir)/$(TESTSUITE): tests/package.m4 $(TESTSUITE_AT)
407         cd $(srcdir)/tests; \
408         $(AUTOTEST) testsuite.at -o testsuite
410 $(srcdir)/tests/package.m4: $(srcdir)/configure.ac
411         { \
412           echo '# Signature of the current package.'; \
413           echo 'm4_define([AT_PACKAGE_NAME],      [@PACKAGE_NAME@])'; \
414           echo 'm4_define([AT_PACKAGE_TARNAME],   [@PACKAGE_TARNAME@])'; \
415           echo 'm4_define([AT_PACKAGE_VERSION],   [@PACKAGE_VERSION@])'; \
416           echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])'; \
417           echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
418         } | $(edit) > $(srcdir)/tests/package.m4
420 tests/atconfig: config.status
421         $(SHELL) ./config.status tests/atconfig
423 DISTCLEANFILES += tests/atconfig
425 CD_TESTDIR      = abs_srcdir=`$(lt__cd) $(srcdir) && pwd`; cd tests
427 # Hook the test suite into the check rule
428 check-local: tests/atconfig $(srcdir)/$(TESTSUITE)
429         $(CD_TESTDIR); \
430         $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(SHELL) $$abs_srcdir/$(TESTSUITE) $(TESTSUITE_FLAGS)
432 # Run the test suite on the *installed* tree.
433 installcheck-local:
434         $(CD_TESTDIR); \
435         $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(SHELL) $$abs_srcdir/$(TESTSUITE) $(TESTSUITE_FLAGS) AUTOTEST_PATH=$(exec_prefix)/bin
437 # We need to remove any file droppings left behind by testsuite
438 clean-local: clean-local-legacy
439         -$(CD_TESTDIR); \
440         test -f $$abs_srcdir/$(TESTSUITE) && \
441             $(SHELL) $$abs_srcdir/$(TESTSUITE) --clean
444 ## ------------- ##
445 ## Legacy tests. ##
446 ## ------------- ##
448 # !WARNING! Don't add any new tests here, we are migrating to an
449 #           Autotest driven framework, please add new test cases
450 #           using the new framework above.  When the migration is
451 #           complete this section should be removed.
453 CXX_TESTS = \
454         tests/tagdemo-static.test tests/tagdemo-make.test \
455         tests/tagdemo-exec.test tests/tagdemo-conf.test \
456         tests/tagdemo-make.test tests/tagdemo-exec.test \
457         tests/tagdemo-shared.test tests/tagdemo-make.test \
458         tests/tagdemo-exec.test tests/tagdemo-undef.test \
459         tests/tagdemo-make.test tests/tagdemo-exec.test
461 F77_TESTS = \
462         tests/f77demo-static.test tests/f77demo-make.test \
463         tests/f77demo-exec.test tests/f77demo-conf.test \
464         tests/f77demo-make.test tests/f77demo-exec.test \
465         tests/f77demo-shared.test tests/f77demo-make.test \
466         tests/f77demo-exec.test
468 FC_TESTS = \
469         tests/fcdemo-static.test tests/fcdemo-make.test \
470         tests/fcdemo-exec.test tests/fcdemo-conf.test \
471         tests/fcdemo-make.test tests/fcdemo-exec.test \
472         tests/fcdemo-shared.test tests/fcdemo-make.test \
473         tests/fcdemo-exec.test
475 COMMON_TESTS = \
476         tests/link.test tests/link-2.test tests/nomode.test \
477         tests/objectlist.test tests/quote.test tests/sh.test \
478         tests/suffix.test tests/tagtrace.test \
479         tests/cdemo-static.test tests/cdemo-make.test tests/cdemo-exec.test \
480         tests/demo-static.test tests/demo-make.test tests/demo-exec.test \
481         tests/demo-inst.test tests/demo-unst.test \
482         tests/depdemo-static.test tests/depdemo-make.test \
483         tests/depdemo-exec.test tests/depdemo-inst.test \
484         tests/depdemo-unst.test \
485         tests/mdemo-static.test tests/mdemo-make.test tests/mdemo-exec.test \
486         tests/mdemo-inst.test tests/mdemo-unst.test \
487         tests/cdemo-conf.test tests/cdemo-make.test tests/cdemo-exec.test \
488         tests/demo-conf.test tests/demo-make.test tests/demo-exec.test \
489         tests/demo-inst.test tests/demo-unst.test tests/demo-deplibs.test \
490         tests/depdemo-conf.test tests/depdemo-make.test \
491         tests/depdemo-exec.test tests/depdemo-inst.test \
492         tests/depdemo-unst.test \
493         tests/mdemo-conf.test tests/mdemo-make.test tests/mdemo-exec.test \
494         tests/mdemo-inst.test tests/mdemo-unst.test tests/mdemo-dryrun.test \
495         tests/mdemo2-conf.test tests/mdemo2-make.test tests/mdemo2-exec.test \
496         tests/pdemo-conf.test tests/pdemo-make.test tests/pdemo-exec.test \
497         tests/pdemo-inst.test \
498         tests/demo-nofast.test tests/demo-make.test tests/demo-exec.test \
499         tests/demo-inst.test tests/demo-unst.test \
500         tests/depdemo-nofast.test tests/depdemo-make.test \
501         tests/depdemo-exec.test tests/depdemo-inst.test \
502         tests/depdemo-unst.test \
503         tests/demo-pic.test tests/demo-make.test tests/demo-exec.test \
504         tests/demo-nopic.test tests/demo-make.test tests/demo-exec.test \
505         tests/cdemo-shared.test tests/cdemo-make.test tests/cdemo-exec.test \
506         tests/demo-shared.test tests/demo-make.test tests/demo-exec.test \
507         tests/demo-inst.test tests/demo-hardcode.test tests/demo-relink.test \
508         tests/demo-noinst-link.test tests/demo-unst.test \
509         tests/depdemo-shared.test tests/depdemo-make.test \
510         tests/depdemo-exec.test tests/depdemo-inst.test \
511         tests/depdemo-relink.test tests/depdemo-unst.test \
512         tests/mdemo-shared.test tests/mdemo-make.test tests/mdemo-exec.test \
513         tests/mdemo-inst.test tests/mdemo-unst.test \
514         tests/cdemo-undef.test tests/cdemo-make.test tests/cdemo-exec.test
516 TESTS = $(COMMON_TESTS)
517 if HAVE_CXX
518 TESTS += $(CXX_TESTS)
519 endif
520 if HAVE_F77
521 TESTS += $(F77_TESTS)
522 endif
523 if HAVE_FC
524 TESTS += $(FC_TESTS)
525 endif
527 tests/demo-conf.test: libtool
529 EXTRA_DIST     += tests/defs.in tests/defs.m4sh \
530                   $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS)
531 DIST_SUBDIRS   += $(CONF_SUBDIRS)
533 # The defs script shouldn't be recreated whenever the Makefile is
534 # regenerated since the source tree can be read-only.
535 check-recursive: tests/defs
536 tests/defs: $(srcdir)/tests/defs.in
537         rm -f tests/defs.tmp tests/defs; \
538         input="defs.m4sh"; \
539         $(edit) $(srcdir)/tests/defs.in > tests/defs.tmp; \
540         mv -f tests/defs.tmp tests/defs
542 # Use `$(srcdir)/tests' for the benefit of non-GNU makes: this is
543 # how defs.in appears in our dependencies.
544 $(srcdir)/tests/defs.in: $(auxdir)/general.m4sh tests/defs.m4sh Makefile.am
545         cd $(srcdir); \
546         rm -f tests/defs.in; \
547         $(M4SH) -B $(auxdir) tests/defs.m4sh > tests/defs.in
549 # We need to remove any files that the above tests created.
550 clean-local-legacy:
551         -cd tests; \
552         for dir in cdemo demo depdemo f77demo fcdemo mdemo mdemo2 pdemo tagdemo; \
553         do \
554             test -f $$dir/Makefile && ( cd $$dir && $(MAKE) distclean; ); \
555         done
556         rm -rf _inst
558 $(TESTS): tests/defs
559 DISTCLEANFILES += tests/defs