[news.software.b] Problem with "test" in Makefiles in building CNews

olson@endor.uucp (Eric K. Olson) (01/07/91)

I mailed this off to "c-news@utstat.toronto.edu" also:

While compiling CNews via build & the doit scripts, I get the error:

make: cannot load test.

On each occurence of anything of the form:

        test <condition>

from within a Makefile.  This happened to me on a Unix-PC (aka 7300, 3b1),
which runs Sys 5r3, and on a "Dual" (thats a defunct manufacturer) running
Sys 5r2 (maybe an r2/r3 combo).

On the Unix-PC, I got it to compile by changing every instance of:

        test <condition>

to

        \test <condition>

in every [Mm]akefile.  This is a "quoting" operator to ksh, which is the sh
on the Unix-PC.

Unfortunately, this hack didn't work on the Dual (which doesn't have ksh).
I suspect that Make is trying to run a program named "test", instead of the
builtin.  I can't imagine why; obviously, builtins work in Makefiles ('cd').
test works OK in shell scripts, just not Makefiles.

I can probably fix this if I can find a PD version of "test" (as a
non-builtin).  I thought it was a Unix-PC bug, but since it happens on
the Dual too, I suspect it happens on a lot of sys5 machines.

Please respond via email.  Many thanks in advance!

-Eric

Eric K. Olson                 Internet:   olson@endor.harvard.edu
Lexington Software Design     Usenet:     harvard!endor!olson
72A Lowell St.                Applelink:  olson@endor.harvard.edu@dasnet#
Lexington, MA  02173          Compuserve: >INTERNET:olson@endor.harvard.edu

henry@zoo.toronto.edu (Henry Spencer) (01/08/91)

In article <5232@husc6.harvard.edu> olson@endor.harvard.edu (Eric K. Olson) writes:
>While compiling CNews via build & the doit scripts, I get the error:
>make: cannot load test.
>On each occurence of anything of the form:
>        test <condition>
>from within a Makefile...

Known bug in SysV make, see notebook/problems.

How old is your C News?  As far as I know, all occurrences of "test" in the
Makefiles nowadays are written as

	test <condition> ;

where the semicolon tricks broken versions of make into bypassing the shortcut
that causes the trouble.
-- 
If the Space Shuttle was the answer,   | Henry Spencer at U of Toronto Zoology
what was the question?                 |  henry@zoo.toronto.edu   utzoo!henry