gotty/Makefile

72 lines
2.2 KiB
Makefile
Raw Normal View History

2015-10-12 02:57:14 +00:00
OUTPUT_DIR = ./builds
2017-08-23 02:15:41 +00:00
GIT_COMMIT = `git rev-parse HEAD | cut -c1-7`
2021-04-22 15:20:08 +00:00
VERSION = $(shell git describe --tags)
BUILD_OPTIONS = -ldflags "-X main.Version=$(VERSION)"
WEBPACK_MODE = production
2017-08-23 02:15:41 +00:00
gotty: main.go assets server/*.go webtty/*.go backend/*.go Makefile
2020-02-28 06:47:10 +00:00
go build ${BUILD_OPTIONS}
2015-08-16 09:47:23 +00:00
2020-02-28 12:49:19 +00:00
docker:
docker build . -t gotty-bash:$(VERSION)
2022-03-28 22:05:51 +00:00
.PHONY: all docker assets
assets: bindata/static/js/gotty.js.map bindata/static/js/gotty.js bindata/static/index.html bindata/static/icon.svg bindata/static/favicon.ico bindata/static/css/index.css bindata/static/css/xterm.css bindata/static/css/xterm_customize.css bindata/static/manifest.json bindata/static/icon_192.png
2022-03-28 22:05:51 +00:00
all: gotty
2022-03-28 22:05:51 +00:00
bindata/static bindata/static/css bindata/static/js:
mkdir -p $@
2022-03-28 22:05:51 +00:00
bindata/static/%: resources/% | bindata/static/css
cp "$<" "$@"
2021-04-25 09:25:41 +00:00
2022-03-28 22:05:51 +00:00
bindata/static/css/%.css: resources/%.css | bindata/static
cp "$<" "$@"
2022-03-28 22:05:51 +00:00
bindata/static/css/xterm.css: js/node_modules/xterm/css/xterm.css | bindata/static
cp "$<" "$@"
2017-08-22 03:10:52 +00:00
js/node_modules/xterm/dist/xterm.css:
cd js && \
npm install
2022-03-28 22:05:51 +00:00
bindata/static/js/gotty.js: js/src/* | js/node_modules/webpack
cd js && \
npx webpack --mode=$(WEBPACK_MODE)
2017-10-03 06:34:51 +00:00
js/node_modules/webpack:
cd js && \
npm install
2015-10-12 02:57:14 +00:00
2021-04-25 15:28:08 +00:00
README-options:
2021-04-19 10:20:01 +00:00
./gotty --help | sed '1,/GLOBAL OPTIONS/ d' > options.txt.tmp
2021-04-25 15:28:08 +00:00
sed -f README.md.sed -i README.md
rm options.txt.tmp
2021-04-18 15:07:21 +00:00
2015-10-12 02:57:14 +00:00
tools:
go get github.com/mitchellh/gox
go get github.com/tcnksm/ghr
test:
2016-04-13 07:01:14 +00:00
if [ `go fmt $(go list ./... | grep -v /vendor/) | wc -l` -gt 0 ]; then echo "go fmt error"; exit 1; fi
2021-04-22 19:50:52 +00:00
go test ./...
2015-10-12 02:57:14 +00:00
cross_compile:
GOARM=5 gox -os="darwin linux freebsd netbsd openbsd solaris" -arch="386 amd64 arm arm64" -osarch="!darwin/386" -osarch="!darwin/arm" $(BUILD_OPTIONS) -output "${OUTPUT_DIR}/pkg/{{.OS}}_{{.Arch}}/{{.Dir}}"
2015-10-12 02:57:14 +00:00
targz:
mkdir -p ${OUTPUT_DIR}/dist
2017-08-23 02:15:41 +00:00
cd ${OUTPUT_DIR}/pkg/; for osarch in *; do (cd $$osarch; tar zcvf ../../dist/gotty_${VERSION}_$$osarch.tar.gz ./*); done;
2015-10-12 02:57:14 +00:00
2015-10-18 02:38:12 +00:00
shasums:
2016-08-11 07:48:03 +00:00
cd ${OUTPUT_DIR}/dist; sha256sum * > ./SHA256SUMS
2015-10-18 02:38:12 +00:00
2021-06-03 20:29:57 +00:00
release-artifacts: gotty cross_compile targz shasums
2021-04-11 06:51:24 +00:00
2015-10-12 02:57:14 +00:00
release:
ghr -draft ${VERSION} ${OUTPUT_DIR}/dist # -c ${GIT_COMMIT} --delete --prerelease -u sorenisanerd -r gotty ${VERSION}
2021-04-11 06:51:24 +00:00
clean:
2022-03-28 22:05:51 +00:00
rm -fr gotty builds js/dist bindata/static js/node_modules