forked from messede-degod/SF-UI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
37 lines (31 loc) · 1.03 KB
/
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
BIN_DIR = bin
BIN_NAME = sfui
BUILD_ARCH = amd64
BUILD_OS = linux
DATE=$(shell date -u)
HASH=$(shell git rev-parse --short HEAD)
.PHONY: all
all: | filebrowser UI prod
dev: main.go
@go build -o $(BIN_DIR)/$(BIN_NAME) -race -ldflags '-X "main.buildTime=$(DATE)" -X "main.buildHash=$(HASH)"'
.PHONY: prod
prod: main.go
@echo "[+] Building SFUI...."
@CGO_ENABLED=0 GOOS=$(BUILD_OS) GOARCH=$(BUILD_ARCH) go build -a -tags prod -ldflags '-w' -ldflags '-X "main.buildTime=$(DATE)" -X "main.buildHash=$(HASH)"' -o $(BIN_DIR)/$(BIN_NAME)
@echo "[+] Stripping unnecessary symbols..."
@strip $(BIN_DIR)/$(BIN_NAME)
@echo "[+] Done Building"
.PHONY: UI
UI:
@rm -rf ./ui/dist/sf-ui
@mkdir ./ui/dist/sf-ui
@npm run build --prefix ./ui/
clean:
@rm -f $(BIN_DIR)/*
@rm -rf ./ui/dist/sf-ui
@rm -rf ./filebrowser-ui/dist/*
.PHONY: filebrowser
filebrowser:
@cd filebrowser-ui && npm ci && NODE_OPTIONS=--openssl-legacy-provider npm run build
@rm -rf ui/src/assets/filebrowser_client/*
@cp -r filebrowser-ui/dist/* ui/src/assets/filebrowser_client/