bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19579: Long lines, short awk


From: Daniel Richard G.
Subject: bug#19579: Long lines, short awk
Date: Tue, 13 Jan 2015 01:01:44 -0500

Hello list,

I am building a source package, prepared with Automake 1.15, on HP-UX.
While running the configure script, I get

    [...]
    config.status: creating include/Makefile
    config.status: creating scripts/Makefile
    config.status: creating src/Makefile
    config.status: creating src/lib/Makefile
    awk: Input line         -rm -rf ../../src/l cannot be longer than 3,000 
bytes.
     The input line number is 21137.
     The source line number is 235.
    config.status: error: could not create src/lib/Makefile

It so happens that src/lib/Makefile covers a large number of source
files, spread out across many directories. Line 21137 of Makefile.in is
the "-rm -rf" line shown below:

    distclean: distclean-am
            -rm -rf ../../src/lib/libobj/$(DEPDIR) foo/bar/$(DEPDIR) 
foo/baz/$(DEPDIR) ...

The line includes every single subdir-objects subdirectory known to the
makefile, and is well over 15kB long. The maintainer-clean target also
has an identical line.

I recognize that the usual thing to do here is specify e.g. AWK=gawk,
but other sections of the makefile (e.g. clean-libtool target) avoid
this issue altogether by specifying a series of short "rm" commands
instead of a single giant invocation. (Moreover, even if $AWK didn't
have a line-length limitation, the shell could still balk with an
"Argument list too long" error.) IMO, it is better to have the distclean
and maintainer-clean targets follow this same approach.


--Daniel


-- 
Daniel Richard G. || address@hidden
My ASCII-art .sig got a bad case of Times New Roman.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]