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]