bug-automake
[Top][All Lists]
Advanced

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

"files left in build directory" problem


From: James R. Van Zandt
Subject: "files left in build directory" problem
Date: Sun, 17 Nov 2002 12:27:25 -0500 (EST)

I have a Makefile.am file (see below) that works with automake 1.4,
and I have been trying to adapt it to work with automake 1.7.  "make
distcheck" generates an error message:
   
   ERROR: files left in build directory after distclean:
   ./cmdline.h
   ./cmdline.c
   ./duster.1

I think this error message should be quoted in the documentation,
along with a discussion of likely causes and cures.

In my case, the three listed files are created by clig, a tool the
maintainer must have but the user may not.  Therefore, they
should be included in the distribution.  cmdline.h was not being
included, so I added it to duster_SOURCES.

I added:
  BUILT_SOURCES=duster.1 cmdline.c cmdline.h
  MAINTAINERCLEANFILES=duster.1 cmdline.c cmdline.h

but still got the error message.

Eventually I changed that second line to:
  DISTCLEANFILES=duster.1 cmdline.c cmdline.h

Now, "make distcheck" succeeds, and the distribution still includes
the three files.  However, "make distclean" will remove them.  That's
inconsistent.

I think there are several bugs here.  I suggest:

1. The "files left in build directory" error message should be quoted in
   the documentation, along with a discussion of likely causes and cures.
   
2. Files listed in BUILT_SOURCES should automatically be removed by "make
   distclean", without having to be listed in DISTCLEANFILES too.
   
3. automake should support another variable, perhaps
   MAINTAINER_BUILT_SOURCES, listing files built by the maintainer and
   included in the distribution.  They should automatically be removed
   by "make maintainer-clean", without having to be listed in
   MAINTAINERCLEANFILES too.  If "make distcheck" (re)builds those
   files, then it should do "make maintainer-clean" in =build before
   checking for leftover files.

Or am I missing something here?

      - Jim Van Zandt



bin_PROGRAMS=duster
duster_SOURCES=duster.c xmalloc.c system.h aclocal.m4 duster.1 cmdline.c

#  uncomment the following if duster requires the math library
#duster_LDADD=-lm

EXTRA_DIST=duster.lsm.in duster.spec.in cmdline.cli.in

#  if you write a self-test script named `chk', uncomment the
#  following and add `chk' to the EXTRA_DIST list
#TESTS=chk

duster.o: cmdline.h
cmdline.o: cmdline.c
cmdline.c cmdline.h: cmdline.cli
        clig cmdline.cli

# clig does not support .info pages
# info_TEXINFOS = duster.texinfo
# duster_TEXINFOS = gpl.texinfo

#  install the man page
man_MANS=duster.1





reply via email to

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