🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.utils.bug
Article #1508

GNU Make 3.27 doesn't always execute implicit rules

#1508
From: Alexander Dupuy
Date: Fri, 17 Mar 1989 08:02
53 lines
1647 bytes
I finally found that the bug I was complaining about in the GDB Makefile was
really a bug in GNU Make, as you had suggested.  The symptom is that implicit
rules are not executed if the source for the dependency is created indirectly
as a result of another target.  GNU Make decides it should execute the implicit
rule, but it fails to do so.  Here's a log of a simple example, showing
circumstatnces where it fails, and another where it succeeds.

Admittedly, /bin/make on SunOS 4.0 gets this wrong as well, but at least it
would make sense to complain about not having been able to build a.o.

At any rate, now I understand why GNU Make was mysteriously failing with my
scheme of separate build trees for GDB, where dep.c was created by symlinking
to a file in another directory.

@alex


Script started on Fri Mar 17 02:43:05 1989

cs% cat Makefile
.PHONY: all

all: links a.o

links:
	touch a.c
	touch links

Make%:

a.o: d.h


cs% ls
Makefile	d.h		typescript


cs% make
touch a.c
touch links


cs% ls
Makefile	a.c		d.h		links		typescript


cs% rm links
cs% make
touch a.c
touch links
cc  -c a.c -o a.o

script done on Fri Mar 17 02:44:40 1989
Technical Details
Message-ID: <8903170802.AA00149@cs.columbia.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!CS.COLUMBIA.EDU!dupuy

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!CS.COLUMBIA.EDU!dupuy
From: dupuy@CS.COLUMBIA.EDU (Alexander Dupuy)
Newsgroups: gnu.utils.bug
Subject: GNU Make 3.27 doesn't always execute implicit rules
Message-ID: <8903170802.AA00149@cs.columbia.edu>
Date: 17 Mar 89 08:02:50 GMT
Sender: daemon@tut.cis.ohio-state.edu
Reply-To: dupuy@cs.columbia.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 53