[GRASS5] Re: [GRASSLIST:2557] Re: build errors on r.le
Radim Blazek
blazek at itc.it
Wed Feb 11 08:51:51 EST 2004
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
More information about the grass-dev
mailing list