|
|
|
.DEFAULT_GOAL := all
|
|
|
|
|
|
|
|
SRC_DIR := src/
|
|
|
|
EXE_NAME := ftu
|
|
|
|
INSTALLATION_DIR := /usr/local/bin/
|
|
|
|
RELEASE_DIR := release
|
|
|
|
LICENSE_FILE := COPYING
|
|
|
|
INSTALLATION_SCRIPT := install.sh
|
|
|
|
|
|
|
|
all:
|
|
|
|
cd $(SRC_DIR) && go build && mv $(EXE_NAME) ..
|
|
|
|
|
|
|
|
release:
|
|
|
|
rm -rf $(RELEASE_DIR)
|
|
|
|
|
|
|
|
mkdir $(RELEASE_DIR)
|
|
|
|
mkdir $(RELEASE_DIR)/ftu_linux_amd64
|
|
|
|
mkdir $(RELEASE_DIR)/ftu_darwin_amd64
|
|
|
|
mkdir $(RELEASE_DIR)/ftu_windows_amd64
|
|
|
|
|
|
|
|
cd $(SRC_DIR) && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ftu && mv ftu ../$(RELEASE_DIR)/ftu_linux_amd64
|
|
|
|
cd $(SRC_DIR) && CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o ftu && mv ftu ../$(RELEASE_DIR)/ftu_darwin_amd64
|
|
|
|
cd $(SRC_DIR) && CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ftu.exe && mv ftu.exe ../$(RELEASE_DIR)/ftu_windows_amd64
|
|
|
|
|
|
|
|
cp $(LICENSE_FILE) $(RELEASE_DIR)/ftu_linux_amd64
|
|
|
|
cp $(INSTALLATION_SCRIPT) $(RELEASE_DIR)/ftu_linux_amd64
|
|
|
|
|
|
|
|
cp $(LICENSE_FILE) $(RELEASE_DIR)/ftu_darwin_amd64
|
|
|
|
cp $(LICENSE_FILE) $(RELEASE_DIR)/ftu_windows_amd64
|
|
|
|
|
|
|
|
cd $(RELEASE_DIR) && zip -r ftu_linux_amd64 ftu_linux_amd64/
|
|
|
|
cd $(RELEASE_DIR) && zip -r ftu_darwin_amd64 ftu_darwin_amd64/
|
|
|
|
cd $(RELEASE_DIR) && zip -r ftu_windows_amd64 ftu_windows_amd64/
|
|
|
|
|
|
|
|
rm -rf $(RELEASE_DIR)/ftu_linux_amd64
|
|
|
|
rm -rf $(RELEASE_DIR)/ftu_darwin_amd64
|
|
|
|
rm -rf $(RELEASE_DIR)/ftu_windows_amd64
|
|
|
|
|
|
|
|
race:
|
|
|
|
cd $(SRC_DIR) && go build -race && mv $(EXE_NAME) ..
|
|
|
|
|
|
|
|
install: all
|
|
|
|
cp $(EXE_NAME) $(INSTALLATION_DIR)
|
|
|
|
|
|
|
|
test:
|
|
|
|
cd $(SRC_DIR) && go test ./...
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -rf $(EXE_NAME) $(RELEASE_DIR)
|