[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Interesting automake feature
On Mon, Nov 25, 2002 at 12:32:02PM +0200, Jan Ekholm wrote:
> Ok, I'll do that later today. I have no doubt that it works, but I'm still
> interested in why automake thinks it's ok to clobber files named "foo",
> any why it ends up doing it. Compiling "foo.cpp" file should IMO not write
> the output to "foo".
Because that's just "how it's done." From the "make" info pages:
Certain standard ways of remaking target files are used very often.
For example, one customary way to make an object file is from a C
source file using the C compiler, `cc'.
"Implicit rules" tell `make' how to use customary techniques so that
you do not have to specify them in detail when you want to use them.
For example, there is an implicit rule for C compilation. File names
determine which implicit rules are run. For example, C compilation
typically takes a `.c' file and makes a `.o' file. So `make' applies
the implicit rule for C compilation when it sees this combination of
file name endings.
A chain of implicit rules can apply in sequence; for example, `make'
will remake a `.o' file from a `.y' file by way of a `.c' file.
The built-in implicit rules use several variables in their commands
so that, by changing the values of the variables, you can change the
way the implicit rule works. For example, the variable `CFLAGS'
controls the flags given to the C compiler by the implicit rule for C
compilation.
-bill!