GITCOMMIT = $(shell git rev-list -1 HEAD) GOVERSION = $(shell go version | cut -d' ' -f 3) BUILDTIME = $(shell date -u --iso-8601=seconds) VERSION = $(shell cat resources/VERSION) # GO111MODULE=on # try go get github.com/ahmetb/govvv # this will add branch info & build RFC3339 date also build: # shell things cd example-nohup; go install # minimum golang 'cmd' cd example-expect; go install # traditional 'expect' shell automation cd example-shell; go install # a tty wrapper cd example-gocui-mouse; go install # mouse interaction cd example-gocui-active; go install # ytalk cd example-gocui-colorstrue; go install # shell colors cd example-gocui-dynamic; go install # interactive movement # GUI things cd example-systray; go install # an example systray menu (cross platform) cd example-ui-splash; go install # an example GUI with drop down menus, etc cd example-ui-controlgallery; go install # an example GUI with drop down menus, etc cd example-ui-radiobutton; go install # slidebars, lists, radio buttons cd example-ui-table; go install # spreadsheet cd example-ui-show-hide; go install # toggle hide, show # wit/gui things cd example-gui; go install # an example using the wit/gui wrapper # misc cd example-lookupAAAA; go install # nslookup cd example-json-decode; go install # raw golang byte handling cd example-ssh; go install # scp example cd example-packr; go install # pack a directory into a go binary # golang things cd example-flag; go install # process argv cd example-pprof; go install # dump out go process internals cd example-protobuf; go install # convert json into golang protobuf struct cd example-bench-fast-timer; go install # time golang channels cd example-bench-readWriteOps; go install # uses channels to time select # witgoget='-v -t' make prep # witgoget='-v -t -u' make prep # to update prep: witgoget='-v -t' make base update: witgoget='-v -t -u' make base base: make -C example-nohup prep make -C example-expect prep make -C example-shell prep make -C example-gocui-mouse prep make -C example-systray prep make -C example-lookupAAAA prep make -C example-gui prep init: sudo make -C example-systray init sub-make: # shell things make -C example-expect # traditional 'expect' shell automation make -C example-shell # a tty wrapper make -C example-gocui-mouse # mouse interaction debug: go build -ldflags "-X main.GITCOMMIT=${GITCOMMIT} -X main.GOVERSION='${GOVERSION}' -X main.BUILDTIME='${BUILDTIME}' -X main.VERSION=${VERSION}" gaper: # 'gaper' is a simple and smart golang tool that just rebuilds every time you change a file # go get -u github.com/maxcnunes/gaper gaper #### NEVER DO THIS. THIS APPEARS TO INDUCE INSTABILITY IN GTK bad-run: #### NEVER DO THIS. THIS APPEARS TO INDUCE INSTABILITY IN GTK # go run *.go tag-version: # git push --delete origin v0.6.15 # to delete a tag upstream git diff --quiet go build # just an extra check to make sure the damn thing builds git tag v${VERSION} git push --tags cp .git/refs/tags/v${VERSION} resources/tags/ scp resources/VERSION root@mirrors.wit.com:/data/mirrors/cloud/control-panel/ scp resources/VERSION root@mirrors.wit.com:/data/mirrors/cloud/control-panel/linux/ # should update every go dependancy (?) update: git pull go get -v -t -u . diff: git diff # https://www.digitalocean.com/community/tutorials/how-to-build-go-executables-for-multiple-platforms-on-ubuntu-16-04 build-darwin: env GOOS=darwin GOARCH=amd64 go build build-windows: env GOOS=windows GOARCH=amd64 go build