Codebase list golang-gopkg-neurosnap-sentences.v1 / 26127889-eea7-4fef-be58-69ec837b7617/main Makefile
26127889-eea7-4fef-be58-69ec837b7617/main

Tree @26127889-eea7-4fef-be58-69ec837b7617/main (Download .tar.gz)

Makefile @26127889-eea7-4fef-be58-69ec837b7617/mainraw · history · blame

BINARY_DIR=./binary
CMD_DIR=./_cmd/sentences

VERSION_FILE=./VERSION
CURRENT_VERSION=$(shell cat $(VERSION_FILE))

COMMITHASH=$(shell git rev-parse --short HEAD)

test:
	go test ./...
.PHONY: test

get:
	go get ./...
.PHONY: get

build:
	go build -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
.PHONY: build

# used to package language files with go binary
bindata:
	go get github.com/go-bindata/go-bindata/...
	go install github.com/go-bindata/go-bindata/...
.PHONY: bindata

cross:
	mkdir -p $(BINARY_DIR)

	GOOS=linux GOARCH=amd64 go build -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
	tar -czvf $(BINARY_DIR)/sentences_linux-amd64.tar.gz ./sentences

	GOOS=linux GOARCH=arm go build -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
	tar -czvf $(BINARY_DIR)/sentences_linux-arm.tar.gz ./sentences

	GOOS=linux GOARCH=arm64 go build -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
	tar -czvf $(BINARY_DIR)/sentences_linux-arm64.tar.gz ./sentences

	GOOS=darwin GOARCH=amd64 go build -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
	tar -czvf $(BINARY_DIR)/sentences_darwin-amd64.tar.gz ./sentences

	GOOS=darwin GOARCH=arm64 go build -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
	tar -czvf $(BINARY_DIR)/sentences_darwin-arm64.tar.gz ./sentences

	GOOS=windows GOARCH=amd64 go build -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
	tar -czvf $(BINARY_DIR)/sentences_windows-amd64.tar.gz ./sentences
.PHONY: cross

deploy: cross
	source ~/virtualenvs/aws/bin/activate
	aws s3 cp ./binary s3://sentence-binaries/ --recursive --exclude "*" --include "*.tar.gz"
.PHONY: deploy

install:
	go install -ldflags "-X main.VERSION=$(CURRENT_VERSION) -X main.COMMITHASH=$(COMMITHASH)" ${CMD_DIR}
.PHONY: install

bump:
	MAJOR=$(word 1, $(subst ., , $(CURRENT_VERSION)))
	MINOR=$(word 2, $(subst ., , $(CURRENT_VERSION)))
	PATCH=$(word 3, $(subst ., , $(CURRENT_VERSION)))
	VER ?= $(MAJOR).$(MINOR).$(shell echo $$(($(PATCH)+1)))

	echo $(VER) > $(VERSION_FILE)
.PHONY: bump

# Compile language specific training data
czech:
	go-bindata -pkg="data" -o data/czech.go data/czech.json
.PHONY: czech

danish:
	go-bindata -pkg="data" -o data/danish.go data/danish.json
.PHONY: danish

dutch:
	go-bindata -pkg="data" -o data/dutch.go data/dutch.json
.PHONY: dutch

english:
	go-bindata -pkg="data" -o data/english.go data/english.json
.PHONY: english

estonian:
	go-bindata -pkg="data" -o data/estonian.go data/estonian.json
.PHONY: estonian

finnish:
	go-bindata -pkg="data" -o data/finnish.go data/finnish.json
.PHONY: finnish

french:
	go-bindata -pkg="data" -o data/french.go data/french.json
.PHONY: french

german:
	go-bindata -pkg="data" -o data/german.go data/german.json

greek:
	go-bindata -pkg="data" -o data/greek.go data/greek.json
.PHONY: greek

italian:
	go-bindata -pkg="data" -o data/italian.go data/italian.json
.PHONY: italian

norwegian:
	go-bindata -pkg="data" -o data/norwegian.go data/norwegian.json
.PHONY: norwegian

polish:
	go-bindata -pkg="data" -o data/polish.go data/polish.json
.PHONY: polish

portuguese:
	go-bindata -pkg="data" -o data/potuguese.go data/portuguese.json
.PHONY: portuguese

slovene:
	go-bindata -pkg="data" -o data/slovene.go data/slovene.json
.PHONY: slovene

spanish:
	go-bindata -pkg="data" -o data/spanish.go data/spanish.json
.PHONY: spanish

turkish:
	go-bindata -pkg="data" -o data/turkish.go data/turkish.json
.PHONY: turkish