Commit ddc2710d authored by Kyle Lemons's avatar Kyle Lemons Committed by Russ Cox

goinstall: add -clean flag

R=adg, rsc
CC=golang-dev
https://golang.org/cl/3821042
parent c22c6dac
......@@ -41,6 +41,7 @@ var (
reportToDashboard = flag.Bool("dashboard", true, "report public packages at "+dashboardURL)
logPkgs = flag.Bool("log", true, "log installed packages to $GOROOT/goinstall.log for use by -a")
update = flag.Bool("u", false, "update already-downloaded packages")
clean = flag.Bool("clean", false, "clean the package directory before installing")
verbose = flag.Bool("v", false, "verbose")
)
......
......@@ -17,18 +17,27 @@ import (
// For non-local packages or packages without Makefiles,
// domake generates a standard Makefile and passes it
// to make on standard input.
func domake(dir, pkg string, local bool) os.Error {
func domake(dir, pkg string, local bool) (err os.Error) {
needMakefile := true
if local {
_, err := os.Stat(dir + "/Makefile")
if err == nil {
return run(dir, nil, "gomake", "install")
needMakefile = false
}
}
makefile, err := makeMakefile(dir, pkg)
if err != nil {
cmd := []string{"gomake"}
var makefile []byte
if needMakefile {
if makefile, err = makeMakefile(dir, pkg); err != nil {
return err
}
return run(dir, makefile, "gomake", "-f-", "install")
cmd = append(cmd, "-f-")
}
if *clean {
cmd = append(cmd, "clean")
}
cmd = append(cmd, "install")
return run(dir, makefile, cmd...)
}
// makeMakefile computes the standard Makefile for the directory dir
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment