CalAnonSync/build.go

51 lines
849 B
Go

// +build ignore
package main
import (
"os"
"os/exec"
"strings"
)
func main() {
env := os.Environ()
wd, err := os.Getwd()
if err != nil {
panic(err)
}
env = append(env, "GOPATH="+wd)
args := []string{"build"}
if len(os.Args) == 2 {
target := os.Args[1]
targetParts := strings.Split(target, "/")
if len(targetParts) != 2 {
println("Invalid target specification. Example: windows/386")
os.Exit(1)
}
env = append(env,
"GOOS="+targetParts[0],
"GOARCH"+targetParts[1],
)
ext := ""
if targetParts[0] == "windows" {
ext = ".exe"
}
args = append(args, "-o", "calanonsync-"+targetParts[0]+"-"+targetParts[1]+ext)
}
args = append(args, "calanonsync")
cmd := exec.Command("go", args...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Env = env
err = cmd.Run()
if err != nil {
panic(err)
}
}