On Wednesday 11 February 2004 11:05, you wrote:
> > There is no other way as following these rules:
> >
> > cd /where/your/grass530/lives/
> > cvs update -dP
> >
> > cd /where/your/grass57/lives/
> > make mixclean
> > #here verify, that grass57/raster/r.le/r.le.setup/polytocell/ does
> > # not contain any links to 5.3 (the file bmf_to_cll.c should not be
> > there # any more which is causing the problem on your computer).
>
> AFAICT, "make copymix" will fall down in this situation; perhaps that
> option should be removed?
Which situation exactly? After 'make mixclean'? 'copymix' is intended
to be run once to create complete source code, which cannot be later
updated of course. And I prefer to keep this target, because to install
full 5.0 source if I want to compile 5.7 on iPaq, is realy impractical.
> Also, this is one of the reasons why using tricks like:
>
> OBJS = $(subst .c,.o,$(wildcard *.c))
>
> is generally considered to be a bad idea.
This simplifies Makefiles of most modules and libs, I don't see
as a problem to create list of objects authomaticaly if it is
possible (and in 95% it is). The problem is to create more modules using
one rule. It is possible to specify (at least GNU make) target specific variables:
default: cmd1 cmd2
cmd1: CMD_OBJS = maina.o
cmd1: PGM = testa
cmd1: cmd
cmd2 : PGM = testb
cmd2 : CMD_OBJ =mainb.o
cmd2 : cmd
but I don't know how to change this:
cmd: bincmd
ARCH_CMD_OBJS := $(foreach obj,$(CMD_OBJS),OBJ.$(ARCH)/$(obj))
bincmd: $(ARCH_INTER_OBJS) $(DEPENDENCIES)
$(CC) $(LDFLAGS) $(XTRA_LDFLAGS) -o $@ $(ARCH_INTER_OBJS) $(LIBES) $(MATHLIB) $(XDRLIB)
to create properly list of objects and objects.
Radim