-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
37 lines (28 loc) 路 742 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
# App
APPNAME = misterchef
VERSION = $(shell cat version)
FRONTEND = frontend
BACKEND = backend
# Compiler
CC = go build
OBJS = version $(BACKEND)/public/app.go $(BACKEND)/public/index.go
LDFLAGS = -ldflags="-s -w -extldflags \"-static\""
.PHONY: all
all: build
.PHONY: FORCE
FORCE:
.PHONY: build
build: dist/$(APPNAME)-$(VERSION)
@upx -9 --ultra-brute $<
dist/$(APPNAME)-$(VERSION): fmt $(OBJS)
$(CC) $(LDFLAGS) -a -o $@ main.go
$(BACKEND)/public/index.go: FORCE $(FRONTEND)/node_modules $(FRONTEND)/package.json
@npm --prefix $(FRONTEND) run compile
$(FRONTEND)/node_modules: $(FRONTEND)/package.json
@npm --prefix $(FRONTEND) install
.PHONY: fmt
fmt:
@gofmt -w $(BACKEND)
.PHONY: clean
clean:
@rm -rf $(FRONTEND)/dist