[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to specify 2 stage build in Makefile.am
From: |
Alexandre Duret-Lutz |
Subject: |
Re: How to specify 2 stage build in Makefile.am |
Date: |
Sat, 19 Oct 2002 14:37:52 +0200 |
User-agent: |
Gnus/5.090008 (Oort Gnus v0.08) Emacs/20.7 (i386-debian-linux-gnu) |
>>> "Duncan" == Duncan Gibson <address@hidden> writes:
[...]
Duncan> bin_PROGRAMS = CubeView
Duncan> CubeView_SOURCES = \
Duncan> CubeMain.cxx \
Duncan> CubeView.cxx CubeView.h \
Duncan> CubeViewUI.fl
Duncan> SUFFIXES = .cxx .h .fl
Duncan> .fl.cxx .fl.h:
Duncan> fluid -c $<
Automake won't understand this (looks like a bug to me). That's
why you later had to add
nodist_CubeView_SOURCES = CubeViewUI.cxx CubeViewUI.h
If you rewrite your implicit rules as
.fl.cxx:
fluid -c $<
.fl.h:
fluid -c $<
Automake should be able to figure that CubeViewUI.fl can be
transformed into CubeViewUI.cxx which in turn needs to be
compiled, without the help of a nodist_CubeView_SOURCES
variable. (You don't even need to define SUFFIXES if you do
that.)
[...]
Duncan> Now 'make' still fails when it tries to build
Duncan> CubeMain.o because it wants to #include CubeViewUI.h
Duncan> which has not yet been built. However, if I say 'make
Duncan> CubeViewUI.cxx' then 'fluid -c CubeViewUI.fl' is called
Duncan> as expected.
The simplest answer is
BUILT_SOURCES = CubeViewUI.h
this will cause CubeViewUI.h to be built before anything else.
--
Alexandre Duret-Lutz