Subject: Re: Malformed conditional (!empty(MANINSTALL:Mcatinstall))
To: Simon J. Gerraty <sjg@crufty.net>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 08/21/2003 12:11:15
On Thu, 21 Aug 2003, Simon J. Gerraty wrote:

> Yep, the idents all match.  Can you please try the following makefile:

rainier:~/tmp$ make -f ~/tmp/makefile.test all
make: "/home/reed/tmp/makefile.test" line 2: Malformed conditional
(!empty(MANINSTALL:Mcatinstall))
make: "/home/reed/tmp/makefile.test" line 4: if-less endif
make: "/home/reed/tmp/makefile.test" line 4: Need an operator
make: Fatal errors encountered -- cannot continue

make: stopped in /home/reed/tmp


This is make running on my NetBSD 1.6.1 box. Also on same NetBSD box:

rainier:/usr/pkgsrc/pkgtools/pkgdiff$ make show-var VARNAME=MANINSTALL
maninstall catinstall

But when I do same on Linux box in same pkgsrc/pkgtools/pkgdiff (NFS
mounted) directory, I get:

reed@tahoma:/usr/pkgsrc/pkgtools/pkgdiff$ bmake show-var VARNAME=MANINSTALL
bmake: "/usr/pkgsrc/pkgtools/pkgdiff/Makefile" line 47: Malformed
conditional (!
empty(MANINSTALL:Mcatinstall))
bmake: "/usr/pkgsrc/pkgtools/pkgdiff/Makefile" line 51: if-less endif
bmake: "/usr/pkgsrc/pkgtools/pkgdiff/Makefile" line 51: Need an operator
...


But I did it in a different directory, and MANINSTALL was not defined.
I misunderstood the problem: you are right, it does not work with make
under NetBSD 1.6.1_STABLE either.

(I see MANINSTALL is defined in my NetBSD /usr/share/mk/bsd.own.mk but not
in my Linux /usr/share/mk/* files as installed via mk-files package. But
that is irrelevant to the problem.)

   Jeremy C. Reed
   http://www.reedmedia.net/