On 09/15/2007 01:13 AM, H. Peter Anvin wrote:
Rene Herman wrote:
I have a single file foo.c that I want to generate two (ALSA) modules from, snd-foo2000.ko and snd-foo2001.ko, by compiling with either FOO2000 or FOO2001 defined.
I can do this, and ALSA does this a few times, by providing dummy foo2000.c and foo2001.c files, like:
=== foo2000.c #define FOO2000
#include "foo.c"
and a regular Makefile
=== foo2000-objs := foo2000.o foo2001-objs := foo2001.o
obj-$(CONFIG_SND_FOO2000) += snd-foo2000.o obj-$(CONFIG_SND_F002001) += snd-foo2001.o ===
That #include is a little lame though. Is there a nicer way? I noticed the per-file CFLAGS, but given that it's one source file for both, that doesn't fit.
The stub source file is usually considered a good way to do this.
Mmm. If I'll have to live with it, I can, but thought I'd ask if there was some nice build trickery available instead.
Rene.