Mon Sep 23 00:04:48 1996 Tom Tromey <tromey@creche.cygnus.com>
+ * automake.in (handle_scripts): Push new target onto @check.
+ * scripts.am (check-@DIR@SCRIPTS): New target.
+
* automake.in (initialize_global_constants): Define %dist,
dist_header, dist_trailer.
(handle_dist): Make dist-all target.
PACKAGE = @PACKAGE@
VERSION = @VERSION@
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFOS) $(MANS) $(EXTRA_DIST) $(DATA)
-DEP_DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFO_DEPS) $(MANS) $(EXTRA_DIST) $(DATA)
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) \
+ $(TEXINFOS) $(INFOS) $(MANS) $(EXTRA_DIST)
+DEP_DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) \
+ $(TEXINFOS) $(INFO_DEPS) $(MANS) $(EXTRA_DIST)
TAR = tar
default: all
rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
done
+check-binSCRIPTS:
+ pid=$$$$; list="$(bin_SCRIPTS)"; for p in $$list; do \
+ for opt in --help --version; do \
+ if test -f $$p; then :; \
+ else if test -f $(srcdir)/$$p; then \
+ p=$(srcdir)/$$p; \
+ else exit 1; fi; fi; \
+ if $$p $$opt > .chkout$$pid 2> .chkerr$$pid \
+ && test -n "`cat .chkout$$pid`" \
+ && test -z "`cat .chkerr$$pid`"; then :; \
+ else echo "$$p failed $$opt test" 1>&2; exit 1; fi; \
+ done; \
+ done; rm -f .chk???$$pid
+
install-pkgdataSCRIPTS: $(pkgdata_SCRIPTS)
$(NORMAL_INSTALL)
$(mkinstalldirs) $(pkgdatadir)
rm -f $(pkgdatadir)/`echo $$p|sed '$(transform)'`; \
done
+check-pkgdataSCRIPTS:
+ pid=$$$$; list="$(pkgdata_SCRIPTS)"; for p in $$list; do \
+ for opt in --help --version; do \
+ if test -f $$p; then :; \
+ else if test -f $(srcdir)/$$p; then \
+ p=$(srcdir)/$$p; \
+ else exit 1; fi; fi; \
+ if $$p $$opt > .chkout$$pid 2> .chkerr$$pid \
+ && test -n "`cat .chkout$$pid`" \
+ && test -z "`cat .chkerr$$pid`"; then :; \
+ else echo "$$p failed $$opt test" 1>&2; exit 1; fi; \
+ done; \
+ done; rm -f .chk???$$pid
+
version.texi: stamp-vti
stamp-vti: automake.texi $(top_srcdir)/configure.in
tags=; \
here=`pwd`; \
for subdir in $(SUBDIRS); do \
- test -f $$subdir/TAGS && { \
- tags="$$tags -i $$here/$$subdir/TAGS"; \
- } \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
done; \
test -z "$(ETAGS_ARGS)$(CONFIG_HEADER)$(SOURCES)$(HEADERS)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $(CONFIG_HEADER) $(SOURCES) $(HEADERS)
dvi: $(DVIS) dvi-recursive
-check: check-recursive
+check: check-binSCRIPTS check-pkgdataSCRIPTS check-recursive
installcheck: installcheck-recursive installcheck-local
distclean-generic:
rm -f Makefile $(DISTCLEANFILES)
- rm -f config.cache config.log $(CONFIG_HEADER) stamp-h
+ rm -f config.cache config.log stamp-h
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
Per Bothner says:
Per> 1) Being able to build a set of non-source programs
-Per> from source porgrams, without necessarily linking them together.
+Per> from source programs, without necessarily linking them together.
Per> I.e. one should be able to say something like:
Per> dummy_SOURCES=foo.c bar.c
Per> and automake should realize that it needs to build foo.o and bar.o.
!! should write autoconf-style doc entries for each m4 macro
- [ this should really go into autoconf in some automatic way ]
-Joel> I know that the following is needed at the end of configure.in:
-Joel> [test -z "$CONFIG_HEADERS" || echo timestamp >stamp-h])
-Joel> However, if automake checked that this line is present, it would
-Joel> help...this bit me for a while.
-
Jim's idea: should look for @setfilename and warn if filenames too long
* guess split size
* allow ".info" to be missing
* should automatically handle the linking issue (special-case C++)
* must get compile rules for various languages; FORTRAN probably
most important unimplemented language
+This should be integrated in some way with Per's idea.
+Eg .f.o rules should be recognized & auto-handled in _SOURCES
+That way any random language can be treated with C/C++ on a first-class
+basis (maybe)
Should 'distclean' "rm -rf .deps"?
================================================================
+Things to do for autoconf:
+
+* allow random code to be inserted a la the 2nd arg to AC_OUTPUT:
+Joel> I know that the following is needed at the end of configure.in:
+Joel> [test -z "$CONFIG_HEADERS" || echo timestamp >stamp-h])
+Joel> However, if automake checked that this line is present, it would
+Joel> help...this bit me for a while.
+
+* patch autoreconf to run automake and aclocal (this is done but
+ not really available)
+
+================================================================
+
Libraries:
* Should support standalone library along with subdir library in same
&& &variable_defined ($key . '_SCRIPTS'))
{
$scripts_installed = 1;
- last;
+ # push (@check, 'check-' . $key . 'SCRIPTS');
}
}
list="$(@DIR@_SCRIPTS)"; for p in $$list; do \
rm -f $(@DIR@dir)/`echo $$p|sed '$(transform)'`; \
done
+
+## Uncomment line in handle_scripts when this is uncommented.
+## check-@DIR@SCRIPTS:
+## pid=$$$$; list="$(@DIR@_SCRIPTS)"; for p in $$list; do \
+## for opt in --help --version; do \
+## if test -f $$p; then :; \
+## else if test -f $(srcdir)/$$p; then \
+## p=$(srcdir)/$$p; \
+## else exit 1; fi; fi; \
+## if $$p $$opt > .chkout$$pid 2> .chkerr$$pid \
+## && test -n "`cat .chkout$$pid`" \
+## && test -z "`cat .chkerr$$pid`"; then :; \
+## else echo "$$p failed $$opt test" 1>&2; exit 1; fi; \
+## done; \
+## done; rm -f .chk???$$pid
PACKAGE = @PACKAGE@
VERSION = @VERSION@
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFOS) $(MANS) $(EXTRA_DIST) $(DATA)
-DEP_DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFO_DEPS) $(MANS) $(EXTRA_DIST) $(DATA)
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) \
+ $(TEXINFOS) $(INFOS) $(MANS) $(EXTRA_DIST)
+DEP_DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) \
+ $(TEXINFOS) $(INFO_DEPS) $(MANS) $(EXTRA_DIST)
TAR = tar
default: all
distclean-generic:
rm -f Makefile $(DISTCLEANFILES)
- rm -f config.cache config.log $(CONFIG_HEADER) stamp-h
+ rm -f config.cache config.log stamp-h
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
list="$(@DIR@_SCRIPTS)"; for p in $$list; do \
rm -f $(@DIR@dir)/`echo $$p|sed '$(transform)'`; \
done
+
+## Uncomment line in handle_scripts when this is uncommented.
+## check-@DIR@SCRIPTS:
+## pid=$$$$; list="$(@DIR@_SCRIPTS)"; for p in $$list; do \
+## for opt in --help --version; do \
+## if test -f $$p; then :; \
+## else if test -f $(srcdir)/$$p; then \
+## p=$(srcdir)/$$p; \
+## else exit 1; fi; fi; \
+## if $$p $$opt > .chkout$$pid 2> .chkerr$$pid \
+## && test -n "`cat .chkout$$pid`" \
+## && test -z "`cat .chkerr$$pid`"; then :; \
+## else echo "$$p failed $$opt test" 1>&2; exit 1; fi; \
+## done; \
+## done; rm -f .chk???$$pid
PACKAGE = @PACKAGE@
VERSION = @VERSION@
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFOS) $(MANS) $(EXTRA_DIST) $(DATA)
-DEP_DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFO_DEPS) $(MANS) $(EXTRA_DIST) $(DATA)
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) \
+ $(TEXINFOS) $(INFOS) $(MANS) $(EXTRA_DIST)
+DEP_DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) \
+ $(TEXINFOS) $(INFO_DEPS) $(MANS) $(EXTRA_DIST)
TAR = tar
default: all
distclean-generic:
rm -f Makefile $(DISTCLEANFILES)
- rm -f config.cache config.log $(CONFIG_HEADER) stamp-h
+ rm -f config.cache config.log stamp-h
test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: