[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: builddir vs. srcdir
From: |
Stepan Kasal |
Subject: |
Re: builddir vs. srcdir |
Date: |
Wed, 9 Mar 2005 11:34:38 +0100 |
User-agent: |
Mutt/1.4.1i |
Hello,
On Tue, Mar 08, 2005 at 11:56:56PM +0200, Paul Pogonyshev wrote:
> because the generated sources are placed into the build directory,
> while `make' looks for them in the source directory.
generally, make should look for them in both places.
Let me point out several problems:
> BUILT_SOURCES = \
> foo.c \
> foo.h
You probably need only the foo.h file here.
> foo.c foo.h : $(srcdir)/foo.list $(PARSE_LIST)
> $(PARSE_LIST) $(srcdir)/foo.list foo.h foo.c \
> || (rm -f foo.c foo.h ; exit 1)
This rule can break with parallel make.
For details about these two issues, see
http://sources.redhat.com/automake/automake.html#Built-sources-example
You can solve the second issue by adding the dependency:
foo.c: foo.h
Yet it might be more readable if you change your generator so that it
would generate .c and .h in separate runs.
And I'd like to suggest that you use SUFFIXES to handle the .list
source. Please look at the following example:
noinst_LTLIBRARIES = libgoffice-utils.la
libgoffice_utils_la_SOURCES = \
go-marshalers.list \
go-font.c
CLEANFILES = \
go-marshalers.h \
go-marshalers.c
# A hint is needed to build the header first:
BUILT_SOURCES = go-marshalers.h
GENMARSHAL_COMMAND = $(GLIB_GENMARSHAL) --prefix=go_
SUFFIXES = .list
.list.h: $(GLIB_GENMARSHAL)
$(GENMARSHAL_COMMAND) --header $< >$@
.list.c: $(GLIB_GENMARSHAL)
(echo '/* This file has been automatically generated. Do not edit. */'
&& \
echo '#include "$*.h"' && \
$(GENMARSHAL_COMMAND) --body $< ) >$@
This works with current Automake 1.9.5 (which I recommend),
as well as an ancient 1.7.x version.
HTH,
Stepan Kasal
- builddir vs. srcdir, Paul Pogonyshev, 2005/03/09
- Re: builddir vs. srcdir,
Stepan Kasal <=
- Re: builddir vs. srcdir, Paul Pogonyshev, 2005/03/09
- Re: builddir vs. srcdir, Stepan Kasal, 2005/03/10
- Re: builddir vs. srcdir, Paul Pogonyshev, 2005/03/10
- Re: builddir vs. srcdir, Stepan Kasal, 2005/03/11
- Re: builddir vs. srcdir, Paul Pogonyshev, 2005/03/12
- Re: builddir vs. srcdir, Stepan Kasal, 2005/03/16
- Re: builddir vs. srcdir, Paul Pogonyshev, 2005/03/18
- Re: builddir vs. srcdir, Stepan Kasal, 2005/03/21