gmake/make dependency problem
Giorgos Keramidas
keramida at freebsd.org
Mon Sep 19 15:36:08 PDT 2005
On 2005-09-19 19:00, Harlan Stenn <stenn at ntp.isc.org> wrote:
> I'm confused.
>
> I believe that:
>
> a: b
>
> means that 'a' depends on 'b', and if 'b' has a later timestamp than 'a'
> then the rule will be invoked to produce a new 'a' from whatever is
> done with 'b'.
>
> In this case, 'a' is ntpd-opts.c, and 'b' is ntpd-opts.def.
>
> As can be seen on your system and mine:
>
> > It seems that ntpd-opts.c has a timestamp 1 minute after ntpd-opts.def,
>
> which means it is up-to-date with respect to its dependencies.
True. I was confused when I posted my previous reply. With the tarball
you posted, I can run make(1) with -ddm and see what you mean:
1 % flame:/home/keramida/ws/ntp/obj/ntpq$ make -ddm
2 % Caching ....done
3 % Caching /usr/share/mk...done
4 % expanding "sys.mk".../usr/share/mk/sys.mk
5 % Searching for /etc/make.conf...Looking for "/etc/make.conf"...Caching 18:38:48 Sep 12, 2005 for /etc/make.conf
6 % Searching for /etc/make.conf...Looking for "/etc/make.conf"...got it (in mtime cache)
7 % Searching for bsd.compat.mk...failed.
8 % Searching for bsd.compat.mk...failed.
9 % Searching for bsd.compat.mk.../usr/share/mk...here...returning /usr/share/mk/bsd.compat.mk
10 % Searching for bsd.cpu.mk...failed.
11 % Searching for bsd.cpu.mk...failed.
12 % Searching for bsd.cpu.mk.../usr/share/mk...here...returning /usr/share/mk/bsd.cpu.mk
13 % Searching for BSDmakefile...failed.
14 % Searching for BSDmakefile.../usr/share/mk...failed.
15 % Searching for makefile...failed.
16 % Searching for makefile.../usr/share/mk...failed.
17 % Searching for ./.deps/ntpq.Po...failed. Trying subdirectories...failed. Looking for "./.deps/ntpq.Po"...Caching 01:09:41 Sep 20, 2005 for ./.deps/ntpq.Po
18 % Searching for ./.deps/ntpq-opts.Po...failed. Trying subdirectories...failed. Looking for "./.deps/ntpq-opts.Po"...Caching 01:09:42 Sep 20, 2005 for ./.deps/ntpq-opts.Po
19 % Searching for ./.deps/ntpq-subs.Po...failed. Trying subdirectories...failed. Looking for "./.deps/ntpq-subs.Po"...Caching 01:09:41 Sep 20, 2005 for ./.deps/ntpq-subs.Po
20 % Searching for .depend...failed.
21 % Searching for .depend.../usr/share/mk...failed.
22 % Caching ../../ntp-4.2.0b/ntpq...done
23 % Searching for ntpq-opts.def.c...../../ntp-4.2.0b/ntpq...failed.
24 % Searching for ntpq-opts.def...failed.
25 % Examining ntpq-opts.def...Searching for ntpq-opts.def...../../ntp-4.2.0b/ntpq...here...returning ../../ntp-4.2.0b/ntpq/ntpq-opts.def
26 % modified 11:02:16 Aug 30, 2005...up-to-date.
27 % Examining ntpq-opts.c...non-existent...modified before source...out-of-date.
28 % cd ../../ntp-4.2.0b/ntpq && autogen ntpq-opts.def
29 % autogen: not found
30 % *** Error code 127
31 %
32 % Stop in /home/keramida/ws/ntp/obj/ntpq.
33 % flame:/home/keramida/ws/ntp/obj/ntpq$
At line 27 I see that ntpq-opts.c isn't looked up in VPATH. This may be
a make(1) bug, sorry for the initial confusion.
I've Cc'ed Harti who's been working on make(1) lately.
- Giorgos
More information about the freebsd-questions
mailing list