1
0
mirror of https://github.com/alice-lg/alice-lg.git synced 2024-05-11 05:55:03 +00:00

74 lines
1.5 KiB
Makefile
Raw Normal View History

2017-05-16 13:39:59 +02:00
#
2017-05-29 12:55:22 +02:00
# Alice LG Backend
# ----------------
2017-05-16 13:39:59 +02:00
#
PROG=alice-lg
ARCH=amd64
2021-03-22 17:35:20 +01:00
APP_VERSION=$(shell cat ../../VERSION)
2017-05-16 13:39:59 +02:00
VERSION=$(APP_VERSION)_$(shell git rev-parse --short HEAD)
# OS Detection
UNAME=$(shell uname)
ifeq ($(UNAME), Darwin)
TARGET=osx
else
TARGET=linux
endif
2017-05-19 11:57:25 +02:00
2021-10-22 22:17:04 +02:00
LDFLAGS=-ldflags="-X github.com/alice-lg/alice-lg/pkg/config.Version=$(APP_VERSION)"
LDFLAGS_STATIC=-ldflags="-X github.com/alice-lg/alice-lg/pkg/config.Version=$(APP_VERSION) -extldflags '-static'"
2021-04-15 19:21:28 +02:00
2019-01-08 10:15:05 +01:00
FILES=$(shell find . -depth 1 ! -name "*_test.go" -name "*.go")
2017-05-19 11:57:25 +02:00
2019-09-24 16:58:24 +02:00
all: deps $(TARGET)
2017-05-16 13:39:59 +02:00
@echo "Built $(VERSION) @ $(TARGET)"
2017-05-29 10:27:52 +02:00
deps:
2019-05-10 12:39:34 +02:00
GO111MODULE=on go get -v .
2017-05-29 10:27:52 +02:00
2019-09-24 16:58:24 +02:00
osx-dev:
2019-05-10 14:05:25 +02:00
GO111MODULE=on go run $(FILES)
2019-01-08 10:15:05 +01:00
2019-09-24 16:58:24 +02:00
osx:
2019-05-10 14:05:25 +02:00
GO111MODULE=on GOARCH=$(ARCH) GOOS=darwin go build $(LDFLAGS) -o $(PROG)-osx-$(ARCH)
2017-05-16 13:39:59 +02:00
2019-09-24 16:58:24 +02:00
linux:
2019-05-10 14:05:25 +02:00
GO111MODULE=on GOARCH=$(ARCH) GOOS=linux go build $(LDFLAGS) -o $(PROG)-linux-$(ARCH)
2017-05-16 13:39:59 +02:00
2019-09-24 16:58:24 +02:00
alpine:
GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build \
-a -installsuffix cgo \
$(LDFLAGS) -o $(PROG)-linux-$(ARCH)
2021-04-15 19:21:28 +02:00
static:
GO111MODULE=on CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH) \
go build $(CFLAGS) \
-a $(LDFLAGS_STATIC) \
-o $(PROG)-linux-$(ARCH)
2018-06-26 00:10:53 +02:00
test:
2019-05-10 14:05:25 +02:00
GO111MODULE=on go test -v
2021-04-15 19:06:34 +02:00
cd ../../pkg/api/ && GO111MODULE=on go test -v
cd ../../pkg/caches/ && GO111MODULE=on go test -v
cd ../../pkg/sources/birdwatcher && GO111MODULE=on go test -v
2018-06-26 00:10:53 +02:00
2017-05-16 13:39:59 +02:00
2017-07-04 11:34:53 +02:00
dev: clean all
2021-03-22 15:10:00 +01:00
prod: clean $(TARGET)
2018-07-16 17:31:53 +02:00
@echo "Build $(VERSION) [production] @ $(TARGET)"
2017-05-16 13:39:59 +02:00
clean:
rm -f $(PROG)-osx-$(ARCH)
rm -f $(PROG)-linux-$(ARCH)
2017-06-30 11:12:01 +02:00
coverage:
go test -coverprofile=coverage.out
go tool cover -func=coverage.out