On Wed, Dec 20, 2000 at 10:57:35AM +0100, Ralf Corsepius wrote:
> Ti Kan wrote:
> 
> 
> > 1. Using UnixWare's 'make' command instead of GNU make, I now get this
> >    error:
> > 
> > --------------------
> > $ make
> > UX:make: WARNING: No suffix list.
> > Making all in include
> > UX:make: ERROR: Must be a separator on rules line 359 (bu39).
> > *** Error code 1 (bu21)
> > UX:make: ERROR: fatal error.
> > --------------------
> > 
> >    Looking in include/Makefile, these are the offending lines near
> >    the end of the file:
> > 
> > --------------------
> >     SUBDIRS += Motif-2.0
> > #    SUBDIRS += Motif-2.1
> > --------------------
> > 
> >    I think the += operator is a GNU make extension that is not universally
> >    supported by all 'make' programs.
> 
> The actual cause is this fragment from include/Makefile.am, which
> miss-uses automake conditionals (Rsp. trips a weakness of automake,
> depending on your POV).
> 
> SUBDIRS = Motif-1.2
> if Version_2_0
>     SUBDIRS += Motif-2.0
> endif
> if Version_2_1
>     SUBDIRS += Motif-2.1
> endif
> 
> With gnumake this remains functional, because then SUBDIRS += .. is
> functional, with makes not supporting += this will fail.
> 
> A portable solution would be to apply something similar to this:
> 
> if Version_2_0
> MOTIF20 = Motif-2.0
> endif
> if Version_2_1
> MOTIF21 = Motif-2.1
> endif
> 
> SUBDIRS = Motif-1.2 $(MOTIF20) $(MOTIF21)
> 
> Ralf

See my other mail WRT this topic. Your snippet did not work for me - I got an
auto* error. But I finally check in something which seems to work, though
it looks not very nice:

SUBDIRS=
if foo
SUBDIRS=bar
endif


-- 
Alexander Mai
[EMAIL PROTECTED]

Reply via email to