expanding for multiple platforms

This commit is contained in:
2023-04-15 04:24:05 -04:00
parent 7b7fdc0113
commit d53ad8993c
2 changed files with 24 additions and 5 deletions

View File

@@ -24,6 +24,8 @@ endif
# Variables
#----------------------------------------------------------------
progName = scaffold
arch = amd64
winbinName = $(progName).exe
#----------------------------------------------------------------
# Helpers
@@ -57,11 +59,18 @@ prep: clean
> date +"%F %a %T %Z" > buildTime.txt
> git describe --always --tags --dirty --long > buildVersion.txt
build: prep
> @go build -o build/$(progName) . && echo "Build success" || echo "[FAILED] go build"
build: prep linux windows
build-production: prep
> @go build -ldflags=${linkerflags} -o build/$(progName) . && echo "production build success" || echo "[FAILED] production build"
linux:
> @GOOS=$@ GOARCH=$(arch) go build -o build/$@/$(progName) . && echo $@ "Build success" || echo $@ "[FAILED] go build"
windows:
> @GOOS=$@ GOARCH=$(arch) go build -o build/$@/$(winbinName) . && echo $@ "Build success" || echo $@ "[FAILED] go build"
build-production: prep linx-production
linux-production:
> @GOOS=linx GOARCH=$(arch) go build -ldflags=${linkerflags} -o build/$@/$(progName) . && echo "production build success" || echo "[FAILED] production build"
#-------------------------------------------------------------
# Install - same as build, but places binary on system path
@@ -74,4 +83,4 @@ install-production: prep
> @go install -ldflags=${linkerflags} . && echo "Production build and install success" || echo "[FAILED] Production install"
## Commands that don't relate to a specific file
.PHONY: help confirm clean prep build build-production
.PHONY: help confirm clean prep build build-production linux windows amd64

10
main.go
View File

@@ -10,6 +10,7 @@ import (
"os/exec"
"os/user"
"path/filepath"
"runtime"
"strconv"
"github.com/BurntSushi/toml"
@@ -60,6 +61,15 @@ func main() {
if *infoFlag || *infoFlag2 {
fmt.Printf("Scaffold version: %s", buildVersion)
fmt.Printf("Built: %s\n", buildTime)
if runtime.GOOS == "windows" {
fmt.Println("It's a windows system")
}
ucfgd, err := os.UserConfigDir()
ifFerr("Unable to determine user config directory", err)
fmt.Println("System says -- user config directory: ", ucfgd)
os.Exit(0)
}