62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
ROUTE_ASSET=src/routes/bindata.go
 | 
						|
DOCS_ASSET=src/docs/bindata.go
 | 
						|
 | 
						|
SOURCE=$(wildcard cmd/paste/*.go) $(filter-out src/routes/bindata.go, $(wildcard src/routes/*.go))
 | 
						|
BINARY=paste
 | 
						|
PKG=./cmd/paste
 | 
						|
 | 
						|
VERSION=$(shell git describe --tags `git rev-list --tags --max-count=1`|cut -b2-)
 | 
						|
VERSION_PAT=$(shell debian/inc_version.sh -p $(VERSION))
 | 
						|
VERSION_MIN=$(shell debian/inc_version.sh -m $(VERSION))
 | 
						|
VERSION_MAJ=$(shell debian/inc_version.sh -M $(VERSION))
 | 
						|
DATE:=$(shell date -u +%FT%TZ)
 | 
						|
 | 
						|
define DUMMY_BINDATA
 | 
						|
package docs
 | 
						|
import "net/http"
 | 
						|
func assetFS() (fs http.FileSystem) { return }
 | 
						|
endef
 | 
						|
export DUMMY_BINDATA
 | 
						|
 | 
						|
all: $(BINARY)
 | 
						|
clean:
 | 
						|
	rm -rf $(BINARY)
 | 
						|
 | 
						|
setup:
 | 
						|
	go mod download
 | 
						|
fmt:
 | 
						|
	go fmt ./...
 | 
						|
test: $(ROUTE_ASSET) $(DOCS_ASSET)
 | 
						|
	go test ./...
 | 
						|
	go vet ./...
 | 
						|
run:
 | 
						|
	go run \
 | 
						|
	  -ldflags "-X main.AppVersion=$(VERSION_PAT) -X main.AppBuild=$(DATE)" \
 | 
						|
	  $(PKG) -vv serve
 | 
						|
 | 
						|
$(BINARY): $(SOURCE) $(ROUTE_ASSET) $(DOCS_ASSET)
 | 
						|
	go build -v \
 | 
						|
        -ldflags "-X main.AppVersion=$(VERSION) -X main.AppBuild=$(DATE)" \
 | 
						|
      "sour.is/x/paste/cmd/paste"
 | 
						|
 | 
						|
clean-ui:
 | 
						|
	rm -rf $(ROUTE_ASSET) $(DOCS_ASSET)
 | 
						|
build-ui: clean-ui $(ROUTE_ASSET) $(DOCS_ASSET)
 | 
						|
$(ROUTE_ASSET):
 | 
						|
	cd assets; \
 | 
						|
	rm -rf build ../public; \
 | 
						|
		npm i; npm run build; \
 | 
						|
	cp -r build ../public
 | 
						|
	go generate "sour.is/x/paste/src/routes"
 | 
						|
 | 
						|
$(DOCS_ASSET):
 | 
						|
	echo "$$DUMMY_BINDATA" > src/docs/bindata.go
 | 
						|
	go generate "sour.is/x/paste/cmd/paste"
 | 
						|
	go generate "sour.is/x/paste/src/docs"
 | 
						|
 | 
						|
deploy: $(SOURCE) $(ROUTE_ASSET)
 | 
						|
	cd debian && make
 | 
						|
 | 
						|
.PHONEY: all clean build deploy run setup
 | 
						|
# DO NOT DELETE
 |