1
0
mirror of https://github.com/bgp/stayrtr.git synced 2024-05-06 15:54:54 +00:00
bgp-stayrtr/Makefile

92 lines
2.6 KiB
Makefile
Raw Normal View History

EXTENSION ?=
DIST_DIR ?= dist/
GOOS ?= linux
ARCH ?= $(shell uname -m)
BUILDINFOSDET ?=
DOCKER_REPO := rpki/
2021-05-07 14:34:19 +00:00
STAYRTR_NAME := stayrtr
STAYRTR_VERSION := $(shell git describe --tags $(git rev-list --tags --max-count=1))
VERSION_PKG := $(shell echo $(STAYRTR_VERSION) | sed 's/^v//g')
ARCH := x86_64
LICENSE := BSD-3
2021-05-07 14:34:19 +00:00
URL := https://github.com/bgp/stayrtr
DESCRIPTION := StayRTR: a RPKI-to-Router server
BUILDINFOS := ($(shell date +%FT%T%z)$(BUILDINFOSDET))
LDFLAGS ?= '-X main.version=$(STAYRTR_VERSION) -X main.buildinfos=$(BUILDINFOS)'
2020-10-28 16:51:28 -07:00
RTRDUMP_NAME := rtrdump
RTRMON_NAME := rtrmon
SUFFIX ?= -$(STAYRTR_VERSION)-$(GOOS)-$(ARCH)$(EXTENSION)
OUTPUT_STAYRTR := $(DIST_DIR)stayrtr$(SUFFIX)
OUTPUT_RTRDUMP := $(DIST_DIR)rtrdump$(SUFFIX)
OUTPUT_RTRMON := $(DIST_DIR)rtrmon$(SUFFIX)
.PHONY: vet
vet:
2021-05-07 14:34:19 +00:00
go vet cmd/stayrtr/stayrtr.go
2019-10-20 23:28:54 -07:00
.PHONY: test
test:
2021-05-07 14:34:19 +00:00
go test -v github.com/bgp/stayrtr/lib
go test -v github.com/bgp/stayrtr/prefixfile
2019-10-20 23:28:54 -07:00
.PHONY: prepare
prepare:
mkdir -p $(DIST_DIR)
.PHONY: clean
clean:
rm -rf $(DIST_DIR)
.PHONY: build-all
build-all: build-stayrtr build-rtrdump build-rtrmon
2021-05-07 14:34:19 +00:00
.PHONY: build-stayrtr
build-stayrtr: prepare
go build -ldflags $(LDFLAGS) -o $(OUTPUT_STAYRTR) cmd/stayrtr/stayrtr.go
.PHONY: build-rtrdump
build-rtrdump:
go build -ldflags $(LDFLAGS) -o $(OUTPUT_RTRDUMP) cmd/rtrdump/rtrdump.go
2020-10-28 16:51:28 -07:00
.PHONY: build-rtrmon
build-rtrmon:
go build -ldflags $(LDFLAGS) -o $(OUTPUT_RTRMON) cmd/rtrmon/rtrmon.go
.PHONY: docker
docker:
docker build -t $(DOCKER_REPO)$(STAYRTR_NAME) --target stayrtr .
docker build -t $(DOCKER_REPO)$(RTRDUMP_NAME) --target rtrdump .
docker build -t $(DOCKER_REPO)$(RTRMON_NAME) --target rtrmon .
2020-10-28 16:51:28 -07:00
2021-05-07 14:34:19 +00:00
.PHONY: package-deb-stayrtr
package-deb-stayrtr: prepare
fpm -s dir -t deb -n $(STAYRTR_NAME) -v $(VERSION_PKG) \
--description "$(DESCRIPTION)" \
--url "$(URL)" \
--architecture $(ARCH) \
--license "$(LICENSE)" \
--package $(DIST_DIR) \
2021-05-07 14:34:19 +00:00
$(OUTPUT_STAYRTR)=/usr/bin/stayrtr \
package/stayrtr.service=/lib/systemd/system/stayrtr.service \
package/stayrtr.env=/etc/default/stayrtr \
2020-10-28 16:51:28 -07:00
$(OUTPUT_RTRDUMP)=/usr/bin/rtrdump \
$(OUTPUT_RTRMON)=/usr/bin/rtrmon
2021-05-07 14:34:19 +00:00
.PHONY: package-rpm-stayrtr
package-rpm-stayrtr: prepare
fpm -s dir -t rpm -n $(STAYRTR_NAME) -v $(VERSION_PKG) \
2020-10-28 16:53:32 -07:00
--description "$(DESCRIPTION)" \
--url "$(URL)" \
--architecture $(ARCH) \
--license "$(LICENSE) "\
--package $(DIST_DIR) \
2021-05-07 14:34:19 +00:00
$(OUTPUT_STAYRTR)=/usr/bin/stayrtr \
package/stayrtr.service=/lib/systemd/system/stayrtr.service \
package/stayrtr.env=/etc/default/stayrtr \
2020-10-28 16:53:32 -07:00
$(OUTPUT_RTRDUMP)=/usr/bin/rtrdump \
$(OUTPUT_RTRMON)=/usr/bin/rtrmon