-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
46 lines (36 loc) · 1.36 KB
/
Copy pathMakefile
File metadata and controls
46 lines (36 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Version information
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
# Build flags
LDFLAGS = -X github.com/dendrascience/dendra-archive-fuse/version.Version=$(VERSION) \
-X github.com/dendrascience/dendra-archive-fuse/version.Commit=$(COMMIT) \
-X github.com/dendrascience/dendra-archive-fuse/version.Date=$(DATE)
# Build targets
djafs: *.go internal/cmd/*.go version/*.go djafs/*.go util/*.go
go build -ldflags "$(LDFLAGS)" -o djafs-bin .
clean:
@printf "Cleaning up \e[32mall binaries\e[39m...\n"
rm -f djafs-bin converter validator
rm -f main dendra-archive-fuse
rm -f *.zip
@# Only remove djafs if it's a file, not a directory
@if [ -f djafs ]; then rm -f djafs; fi
install: clean all
mv djafs-bin "$$GOPATH/bin/djafs"
vet:
@echo "Running go vet..."
@go vet ./... || (printf "\e[31mGo vet failed, exit code $$?\e[39m\n"; exit 1)
@printf "\e[32mGo vet success!\e[39m\n"
test:
@echo "Running tests..."
@go test ./...
# Development targets
dev-build:
@echo "Building development versions..."
@$(MAKE) all VERSION=dev-$(shell date +%Y%m%d-%H%M%S)
# Release targets
release: clean
@echo "Building release versions..."
@$(MAKE) djafs
.PHONY: djafs clean install vet test dev-build release