ansi2knr fixes
diff --git a/ChangeLog b/ChangeLog
index 0c44144..7ec4eda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 Fri Nov  8 09:49:09 1996  Tom Tromey  <tromey@cygnus.com>
 
+	* compile-kr.am ($(OBJECTS)): Removed.
+
+	* automake.in (get_object_extension): Define ANSI2KNR.  Push onto
+	@all if ansi2knr is in this directory.
+
 	* configure.in: Don't run AC_ARG_PROGRAM, AC_PROG_MAKE_SET.
 
 	* m4/init.m4: Run AM_SANITY_CHECK.
diff --git a/TODO b/TODO
index b5cffde..1cef398 100644
--- a/TODO
+++ b/TODO
@@ -145,9 +145,6 @@
 
 Consider: "cvs" option adds some cvs-specific rules?
 
-"Cygnus"-specific features:
-* don't force info files into srcdir; ditto lex/yacc output
-
 Automake: devo/inet/Makefile.am has "all-local".  "install" depends on
 "all", but the local installs get run before the stuff in "all".  Gross.
 
diff --git a/automake.in b/automake.in
index c592047..9200e96 100755
--- a/automake.in
+++ b/automake.in
@@ -643,9 +643,18 @@
 	    # Make sure ansi2knr can be found: if no path specified,
 	    # specify "./".
 	    local ($apath) = $options{'ansi2knr'};
-	    $apath = './' . $apath
-		unless $apath =~ /\//;
-	    &define_variable ("ANSI2KNR", $apath);
+	    if ($apath =~ /\//)
+	    {
+		# Found in another directory.
+		&define_variable ("ANSI2KNR", $apath);
+	    }
+	    else
+	    {
+		# Substitution from AM_C_PROTOTYPES.  This makes it be
+		# built only when necessary.
+		&define_configure_variable ('ANSI2KNR');
+		push (@all, '$(ANSI2KNR)');
+	    }
 
 	    $output_rules .= &file_contents ('compile-kr');
 	    $output_rules .= &file_contents ('clean-kr');
diff --git a/compile-kr.am b/compile-kr.am
index 23ec073..46c7559 100644
--- a/compile-kr.am
+++ b/compile-kr.am
@@ -28,5 +28,3 @@
 	@echo $(COMPILE) -c $*._c
 	@rm -f _$*.c
 	@ln $*._c _$*.c && $(COMPILE) -c _$*.c && mv _$*.o $@ && rm _$*.c
-
-$(OBJECTS): $(ANSI2KNR)