bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: No rule to make target 'interruptServer.stamp', needed by 'interrupt


From: Sergey Bugaev
Subject: Re: No rule to make target 'interruptServer.stamp', needed by 'interrupt_S.h'
Date: Wed, 25 Jan 2023 13:57:16 +0300

> On Tue, Jan 24, 2023 at 7:59 PM Ryan Raymond <rjraymond@oakland.edu> wrote:
> Does anyone know what this is? The file "interrupt_S.h" doesn't exist, but 
> many files refer to it. I checked the git log but there wasn't a record of 
> the file ever existing.

This header in not checked into the Git repo, it is, as Flávio says,
generated (and re-generated, should the defs change) by MIG during the
build process.

As your other error message indicates, Make knows how to, well, make,
interrupt_S.h, but not interruptServer.stamp which is needed for
interrupt_S.h. The rules to build *Server.stamp files are in Makeconf:

-- >8 --

%Server.stamp: %.sdefsi
    $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMSFLAGS) $($*-MIGCOMSFLAGS) \
       -sheader $(mig-sheader-prefix)$*_S.h -server $*Server.c \
       -user /dev/null -header /dev/null < $<
    touch $@
$(mig-sheader-prefix)%_S.h %Server.c: %Server.stamp
    :

-- 8< --

So what actually happens is the MIG invocation generates the foo_S.h
and the fooServer.c, but the buildsystem tells make that it generates
fooServer.stamp (which the rule does, by simply touch'ing it), and
then there's a chained rule [0] for actually "generating" the foo_S.h
from the fooServer.stamp, by pretending to do something.

[0]: Chained Rules (GNU make)

Sergey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]