Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jun 1995 07:38:56 -0700
From:      petri@ibr.cs.tu-bs.de (Stefan Petri)
To:        freebsd-bugs
Subject:   bin/549: make chokes on empty rules + fix
Message-ID:  <199506231438.HAA08139@freefall.cdrom.com>
In-Reply-To: Your message of Mon, 12 Jun 1995 11:05:36 %2B0200 <199506120905.LAA14341@jupiter.ibr.cs.tu-bs.de>

next in thread | previous in thread | raw e-mail | index | archive | help

>Number:         549
>Category:       bin
>Synopsis:       make chokes on empty rules + fix
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs (FreeBSD bugs mailing list)
>State:          open
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 23 07:38:55 1995
>Originator:     Stefan Petri
>Organization:
TU Braunschweig, Inst. f. Betriebssysteme u. Rechnerverbund
>Release:        FreeBSD 2.0.950412-SNAP i386
>Environment:

	Any FreeBSD

>Description:

	make aborts with fatal error if a Makefile rule line contains a
	tab followed by an emtpy shell command line. This is very annoying,
	because the Makefiles in almost every piece of software on the
	net contain such lines, notably Makefiles that are generated by
	the gnu configure utility. The correctness of such lines might
	be arguable, but since every other version of make simply
	ignores such lines, I propose the following fix, which will
	print out a warning about such a line, but will continue to
	make the target.

	[send-pr did not like ``Severity: seriuosly annoying'' ;-]

>How-To-Repeat:

	Creat a Makefile with only a tabulator in a rule line, then
	invoke make.

>Fix:
	

*** /usr/src/usr.bin/make/parse.c-950412-SNAP	Mon Jan 23 22:01:46 1995
--- parse.c	Mon Jun 12 10:44:13 1995
***************
*** 715,721 ****
  	     * Ending a dependency line without an operator is a Bozo
  	     * no-no 
  	     */
! 	    Parse_Error (PARSE_FATAL, "Need an operator");
  	    return;
  	}
  	*cp = '\0';
--- 715,721 ----
  	     * Ending a dependency line without an operator is a Bozo
  	     * no-no 
  	     */
! 	    Parse_Error (PARSE_WARNING, "Need an operator");
  	    return;
  	}
  	*cp = '\0';
>Audit-Trail:
>Unformatted:





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506231438.HAA08139>