67 lines
1.3 KiB
Makefile
67 lines
1.3 KiB
Makefile
SHELL := bash
|
|
.ONESHELL:
|
|
.SHELLFLAGS := -eu -o pipefail -c
|
|
.DELETE_ON_ERROR:
|
|
MAKEFLAGS += --warn-undefined-variables
|
|
MAKEFLAGS += --no-builtin-rules
|
|
TESTJOBS := 4
|
|
OS:=$(shell uname -s)
|
|
RELEASEFLAGS :=
|
|
|
|
ifeq ($(OS),Linux)
|
|
TESTJOBS:=$(shell nproc)
|
|
RELEASEFLAGS=--target x86_64-unknown-linux-musl
|
|
endif
|
|
ifeq ($(OS),FreeBSD)
|
|
TESTJOBS:=$(shell sysctl -n hw.ncpu)
|
|
endif
|
|
|
|
ifeq ($(origin .RECIPEPREFIX), undefined)
|
|
$(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later)
|
|
endif
|
|
.RECIPEPREFIX = >
|
|
|
|
.PHONY: build
|
|
build:
|
|
> cargo build
|
|
|
|
.PHONY: release
|
|
release:
|
|
> cargo build --release $(RELEASEFLAGS)
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
> cargo clean
|
|
|
|
.PHONY: test
|
|
test:
|
|
> cargo test --lib --test test_loader -- --test-threads $(TESTJOBS)
|
|
|
|
.PHONY: integrationtest
|
|
integrationtest:
|
|
> cargo test --no-fail-fast --test test_loader -- --test-threads $(TESTJOBS)
|
|
|
|
.PHONY: unittest
|
|
unittest:
|
|
> cargo test --lib -- --test-threads $(TESTJOBS)
|
|
|
|
.PHONY: run
|
|
run:
|
|
> cargo run
|
|
|
|
.PHONY: debug
|
|
debug:
|
|
> RUST_LOG=debug cargo run
|
|
|
|
.PHONY: jaeger
|
|
jaeger:
|
|
> docker run -d --rm --name toylanguagedocker -p 6831:6831/udp -p 6832:6832/udp -p 16686:16686 -p 14268:14268 jaegertracing/all-in-one:latest
|
|
|
|
.PHONY: jaegerweb
|
|
jaegerweb:
|
|
> xdg-open 'http://localhost:16686'
|
|
|
|
.PHONY: jaegerstop
|
|
jaegerstop:
|
|
> docker stop toylanguagedocker
|