]> Cypherpunks repositories - gostls13.git/commitdiff
Make.pkg: add DEPS= support
authorRuss Cox <rsc@golang.org>
Sun, 1 Nov 2009 13:43:26 +0000 (05:43 -0800)
committerRuss Cox <rsc@golang.org>
Sun, 1 Nov 2009 13:43:26 +0000 (05:43 -0800)
allow Makefiles using Make.pkg to specify a
list of directories that should be installed
before trying to build the package.
this is a stopgap for small package trees
maintained outside the standard tree.

R=r
http://go/go-review/1016012

src/Make.pkg

index 24cd454372e338516cce4cdf0bf74651829e40de..50e1d8d72b64ce338b3d47f43dba811816fcf8ea 100644 (file)
@@ -18,6 +18,7 @@ GOFILES+=$(patsubst %.go,%.cgo1.go,$(CGOFILES))
 GOFILES+=$(patsubst %.go,%.cgo2.go,$(CGOFILES))
 OFILES+=$(patsubst %.go,%.cgo3.$O,$(CGOFILES))
 INSTALLFILES+=$(patsubst %.go,$(pkgdir)/$(dir)/$(elem)_%.so,$(CGOFILES))
+PREREQ+=$(patsubst %,%.make,$(DEPS))
 
 coverage:
        gotest
@@ -41,10 +42,10 @@ $(pkgdir)/$(TARG).a: package
        @test -d $(GOROOT)/pkg && mkdir -p $(pkgdir)/$(dir)
        cp _obj/$(TARG).a $@
 
-_go_.$O: $(GOFILES)
+_go_.$O: $(GOFILES) $(PREREQ)
        $(GC) -o $@ $(GOFILES)
 
-_gotest_.$O: $(GOFILES) $(GOTESTFILES)
+_gotest_.$O: $(GOFILES) $(GOTESTFILES) $(PREREQ)
        $(GC) -o $@ $(GOFILES) $(GOTESTFILES)
 
 _obj/$(TARG).a: _go_.$O $(OFILES)
@@ -63,6 +64,8 @@ importpath:
 dir:
        @echo $(dir)
 
+%.make:
+       (cd $* && make)
 
 # To use cgo in a Go package, add a line
 #