First I should say that the following is occurring in a workspace which
is a zfs clone of a zfs snapshot of a workspace that has had a nightly
run in it. My expectation is that if I run dmake in the
usr/src/cmd/krb5/kadmin/dbutil of the zfs clone workspace that nothing
will be rebuilt since I haven't changed any source. That is not what
I'm seeing. Here are the details.
I'm trying to understand why dmake is recreating iprop.h based on the
following rule:
iprop.h: $(SRC)/cmd/krb5/iprop/iprop.x
$(RM) $@
$(RPCGEN) -h $(SRC)/cmd/krb5/iprop/iprop.x > $@
Now before I run dmake I see that:
$ ls -l iprop/iprop.x kadmin/dbutil/iprop.h
-r--r--r-- 1 willf staff 4343 Feb 8 18:57 iprop/iprop.x
-rw-r--r-- 1 willf staff 4648 Feb 11 13:22 kadmin/dbutil/iprop.h
So the iprop.h file is newer than the iprop.x dependency. When I cd to
the usr/src/cmd/krb5/kadmin/dbutil dir and run dmake, dmake recreates
iprop.h. Here is the dmake -dd output:
@ =
stat(iprop.h)
doname(iprop.h)
@ =
stat(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x)
doname(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x)
Looking for % rule for
/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x
find_double_suffix_rule(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x)
find_suffix_rule(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x,/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop,.x)
stat(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/SCCS)
build_suffix_list(.x)
find_suffix_rule(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x,/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x,)
stat(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/SCCS/s.iprop.x)
@= /pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x
* =
< =
% =
? =
^ =
@ =
* =
< =
% =
? =
^ =
Date(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x)=Fri
Feb 08 18:57:57 2008 CST
find_double_suffix_rule(iprop.h)
find_suffix_rule(iprop.h,iprop,.h)
build_suffix_list(.h) .cps.h
Trying iprop.cps
@= iprop.h
*= iprop
< =
% =
? =
^ = /pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x
Building iprop.h because new command
/usr/bin/rpcgen -h
/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x > iprop.h
different from old
/usr/bin/rpcgen -h
/pool/willf/ws/i386/onnv_82-clone/usr/src/cmd/krb5/iprop/iprop.x > iprop.h
@ =
* =
< =
% =
? =
^ =
SUNPRO_DEPENDENCIES=
/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/kadmin/dbutil/.make.dependency.372eedef.3794.0
iprop.h
/usr/bin/rm -f iprop.h
stat(.make.state)
stat(/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/kadmin/dbutil/.make.dependency.372eedef.3794.0)
stat(.make.state)
/usr/bin/rpcgen -h
/pool/willf/ws/i386/bld_bug_test/usr/src/cmd/krb5/iprop/iprop.x > iprop.h
Can someone tell me why dmake is recreating iprop.h? Note that if I run
dmake again in the same dir, nothing is remade.
--
Will Fiveash
Sun Microsystems Inc.
Austin, TX, USA (TZ=CST6CDT)