gnu make, vpath mystery (repost) - makefile [1/1]

gnu make, vpath mystery (repost) - makefile [1/1]

Post by Ben Tayl » Sun, 02 Mar 1997 04:00:00



--*- Boundary FhypIN3xBe5kvrZF/hrA
Content-Type: Text/Plain; charset=US-ASCII

(I'm reposting this after determining my news client didn't wrap text sent out.)

I need to use gnuMake's vpath directive to find RCS archive files:

        vpath %,v ${RCS_DIR}/frames

The first time, it worked, but after changing the makefile to call our RCS
checkout wrapper properly, vpath (& VPATH) have not worked.  I've reviewed
make's debugging output, seen make a search for the right file but not
finding it in the directory I'd supplied with vpath.

I've checked both O'Reilly's Make book & FSF's Info, but neither's suggested
how I could further debug this problem.  when I enter 'make checkout' (which
target depends on all of the source files I want to checkout) I get this from
the debugging output:
...
 No implicit rule found for `checkout'.
  Considering target file `actions'.
   File `actions' does not exist.
   Looking for an implicit rule for `actions'.
   Trying pattern rule with stem `actions'.
   Trying implicit dependency `actions,v'.
   Trying pattern rule with stem `actions'.
   Trying implicit dependency `actions.o'.
...
vpath ought to direct make to '/export/home/mercury/RCS/frames/actions,v' but
it does not.  What could be the problem here?

I've tried rearranging the order, and even writing shorter, sweeter version,
but have had no more luck:
CO = /export/home/mercury/bin/mco  # our check-out command
RCS_DIR=/export/home/mercury/RCS   # top of RCS for this branch

vpath %,v ${RCS_DIR}/perl

# our RCS rules

%:: %,v         # copied nigh verbatim from default CHECKOUT,v


%:: RCS/%,v   # an ounce of prevention

all:    finance
bash$ make -ffoo.make
make: *** No rule to make target `finance'.  Stop.
any pointers would be greatly appreciated.  The complete makefile follows.

thanks muchly in advance,

ben taylor
The Rochester Group
--*- Boundary FhypIN3xBe5kvrZF/hrA
Content-Type: Application/octet-stream; name=makefile
Content-Transfer-Encoding: Base64

Iw0KIyBNZXJjdXJ5IGZyYW1lcyBtYWtlZmlsZQ0KIw0KIyB0YXJnZXRzOg0K
IwlhbGwgLSBzZXRzIHVwIHRvIGNnaS1iaW4gZGlyZWN0b3J5DQojCWNoZWNr
b3V0IC0gY2hlY2tzIG91dCBhbGwgZmlsZXMgZm9yIGRpcmVjdG9yeQ0KDQpD
TyA9IC9leHBvcnQvaG9tZS9tZXJjdXJ5L2Jpbi9tY28gICMgb3VyIGNoZWNr
LW91dCBjb21tYW5kDQpSQ1NfRElSPS9leHBvcnQvaG9tZS9tZXJjdXJ5L1JD
UyAgICMgdG9wIG9mIFJDUyBmb3IgdGhpcyBicmFuY2gNCg0KdnBhdGggJSx2
ICR7UkNTX0RJUn0vZnJhbWVzDQojVlBBVEg9ICR7UkNTX0RJUn0vZnJhbWVz
ICAgICAgICAjIGFyY2hpdmUgc3ViZGlyDQoNCkNHSURJUj0kKENHSV9CSU4p
L2ZyYW1lcw0KDQpGSUxFUz0gIGFjdGlvbnMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcDQogICAgICAgIGNvbmZpZ2xpc3QgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgICAgIGNv
bmZpZ3BpYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
DQogICAgICAgIGZpbmFuY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcDQogICAgICAgIGZpbm9jdCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgICAgIGhlbHBiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgICAg
IGhlbHBmcmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcDQogICAgICAgIGhlbHB0ZXh0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcDQogICAgICAgIG1haW5tZW51ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgICAgIG1lcmNkYmwu
cGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAg
ICAgIG1lcmNmcmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcDQogICAgICAgIG1lcmNtYWluICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcDQogICAgICAgIG1lcmN1dGlsLnBsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgICAgIG5vdC15
ZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQog
ICAgICAgIHByb3BzaGVldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcDQogICAgICAgIHJlbWJhbCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcDQogICAgICAgIHN0YXJ0LWhlcmUgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICAgICAgIHRy
YWRlLWluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
DQogICAgICAgIHdvcmtzdXJ2ZXkNCg0KYWxsOgkkKGFkZHByZWZpeCAkKENH
SURJUikvLCQoRklMRVMpKQ0KDQokKENHSURJUikvJSA6ICUNCgljcCAkPyAk
QA0KCWNobW9kIDA3NTUgJEANCg0KY2hlY2tvdXQ6ICQoRklMRVMpDQoNCmxp
c3Rpbmc6ICQoRklMRVMpDQoJcHIgLWUgLWYgJChGSUxFUykgPiBsaXN0aW5n
DQoNCiMgb3VyIFJDUyBydWxlcw0KDQolOjogJSx2CQkjIGNvcGllZCBuaWdo
IHZlcmJhdGltIGZyb20gZGVmYXVsdCBDSEVDS09VVCx2DQoJKyQocGF0c3Vi
c3QgJEAtbm9leGlzdCwkKENPKSAkKENPRkxBR1MpICRALCAkKGZpbHRlci1v
dXQgJEAsJChmaXJzdHdvcmQgJCh3aWxkY2FyZCAkQCkgJEAtbm9leGlzdCkp
KQ0KDQolOjogUkNTLyUsdiAgICMgYW4gb3VuY2Ugb2YgcHJldmVudGlvbg0K
DQoNCg0KDQo=
--*- Boundary FhypIN3xBe5kvrZF/hrA--