From owner-freebsd-bugs Tue Jan 16 2:50:24 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id AE0D737B69B for ; Tue, 16 Jan 2001 02:50:03 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0GAo3p29434; Tue, 16 Jan 2001 02:50:03 -0800 (PST) (envelope-from gnats) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7CB7C37B69B for ; Tue, 16 Jan 2001 02:44:12 -0800 (PST) Received: (from nobody@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0GAiCb28930; Tue, 16 Jan 2001 02:44:12 -0800 (PST) (envelope-from nobody) Message-Id: <200101161044.f0GAiCb28930@freefall.freebsd.org> Date: Tue, 16 Jan 2001 02:44:12 -0800 (PST) From: Jens.Schweikhardt@marconi.com To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: bin/24377: make(1) does not correctly substitute in internal macros like $(@F:.o=.c) Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 24377 >Category: bin >Synopsis: make(1) does not correctly substitute in internal macros like $(@F:.o=.c) >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jan 16 02:50:03 PST 2001 >Closed-Date: >Last-Modified: >Originator: Jens Schweikhardt >Release: 4.2-RELEASE >Organization: Marconi >Environment: FreeBSD bk4957 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov 20 13:02:55 GMT 2000 jkh@bento.FreeBSD.org:/usr/src/sys/compile/GENERIC i386 >Description: hello, world\n It seems, make(1) doesn't understand substitutions in what the POSIX standard calls internal variables ($@, $%, $?, $< and $*). In the following example, the intent is to substitute any *.o in a *.c, i.e. echo foo.c. >How-To-Repeat: $ cat Makefile .POSIX: foo.o: echo $(@F:.o=.c) $ /usr/bin/make echo foo.o.o=.c) Syntax error: ")" unexpected *** Error code 2 Stop in /usr/home/sje2bk. GNU make works correctly, as well as Sun's /usr/ccs/bin/make: $ /usr/local/bin/gmake echo foo.c foo.c $ Is this a bug, a feature, lack of interest in POSIX conformance or am I just confused? :-) >Fix: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message