*BSD News Article 24117


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!xlink.net!fauern!rrze.uni-erlangen.de!nessy!kardel
From: kardel@nessy.informatik.uni-erlangen.de (Frank Kardel)
Newsgroups: comp.os.386bsd.bugs
Subject: {p,}make buggy ?
Date: Wed, 17 Nov 1993 09:40:03 GMT
Organization: CSD., University of Erlangen
Message-ID: <2ccrhjEink@uni-erlangen.de>
NNTP-Posting-Host: faui45x.informatik.uni-erlangen.de
Lines: 49
Summary: {p,}make seems to be broken in some areas
Keywords: make

During porting of xntp to BSDI/NetBSD/FreeBSD i have found some
strange results with the make on these systems.

1)
	Shell lines of the following form pass only one
	argument to the command instead of two when ARG1
	id empty and ARG2 is set to some string:

	target: dependencies
		command '$(ARG1)' '$(ARG2)'

	This leaves out one positional argument usually causing
	the command to fail. No other make on the system where
	xntp has been ported to seems to exhibit this unexpected
	behaviour. (The command should be executed as
	"command '' '<something>'", but is executed as
	"command '<something>'", although make prints that it
	will execute
	"command '' '<something>'. Thus it seems that the actual
	exec part of pmake is severly broken.

2)
	Following Makefile construction fails for no
	apparent reason (at least to me)
	doit:
		$(MAKE) MAKE=\"$(MAKE)\" all

	all:
		@echo all done.

	The above Makefile works ok if make is invoked by
	"make".
	However, it fails if it is invoked by
	"make MAKE=make" with the message 
	"make: don't know how to make make. Stop", which i would
	call at least "unconventional".
	Things seem to get better if additional option are specified
	hinting at a bug in argument parsing.
	A workaround for this problem is to call make following way:
	"make -e MAKE=make".

As I have received messages from BSDI, FreeBSD and NetBSD users i
suspect these make features being present in all versions of xBSD.
As I haven't found any reason yet why the above construction may be
illegal I would like to get them fixed (in all BSD versions). 
(Yes I know I have the source, but currently I have no time to take 
pmake apart and put it back together again.)

Frank Kardel (kardel@informatik.uni-erlangen.de)