-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Makefile
40 lines (30 loc) · 914 Bytes
/
Makefile
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
.PHONY: test
.POSIX:
.SUFFIXES:
GIT_COMMIT := $(shell git rev-parse HEAD 2> /dev/null)
GIT_TAG := $(shell git describe --abbrev=0 --tags)
BUILD_DATE := $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
SERVICE = syncyomi
GO = go
RM = rm
GOFLAGS = "-X main.commit=$(GIT_COMMIT) -X main.version=$(GIT_TAG) -X main.date=$(BUILD_DATE)"
PREFIX = /usr/local
BINDIR = bin
all: clean build
deps:
sudo npm install -g pnpm
cd web && pnpm install
go mod download
build: deps build/web build/app
build/app:
go build -ldflags $(GOFLAGS) -o bin/$(SERVICE) main.go
build/web:
cd web && pnpm build
build/docker:
docker build -t syncyomi:dev -f Dockerfile . --build-arg GIT_TAG=$(GIT_TAG) --build-arg GIT_COMMIT=$(GIT_COMMIT) --build-arg BUILD_DATE=$(BUILD_DATE)
clean:
$(RM) -rf bin
install: all
echo $(DESTDIR)$(PREFIX)/$(BINDIR)
mkdir -p $(DESTDIR)$(PREFIX)/$(BINDIR)
cp -f bin/$(SERVICE) $(DESTDIR)$(PREFIX)/$(BINDIR)