reframe 0.5.2

Light, Fast & Simple project scaffolder
Documentation

VERSION=$(shell cat Cargo.toml | grep version | head -1 | cut -d'"' -f 2)
PWD=$(shell pwd)

all: release build-linux-musl

release:
	@@echo "building..."
	@@cargo build --release

build-linux-musl:
	@@echo "building using docker..."
	@@docker run -it --rm -v $(PWD):/workdir \
		-v /tmp:/root/.cargo/git \
		-v /tmp:/root/.cargo/registry \
		anvie/rust-musl-build:rust_nightly \
		make _build-linux-musl

_build-linux-musl:
	cargo update
	cargo build --release --target=x86_64-unknown-linux-musl

build-linux-static:
	RUSTFLAGS='-C target-feature=+crt-static' cargo build --release --target x86_64-unknown-linux-musl

dist:
	make dist-osx
	make dist-linux

dist-osx:
	@@echo Build OSX distribution...
	make release
	cd target/release && rm -f reframe_v$(VERSION)-x86_64-darwin.zip && zip -r reframe_v$(VERSION)-x86_64-darwin.zip reframe

dist-linux:
	@@echo Build Linux distribution...
	make build-linux-musl
	cd target/x86_64-unknown-linux-musl/release && rm -f reframe_v$(VERSION)-x86_64-linux.zip && zip -r reframe_v$(VERSION)-x86_64-linux.zip reframe

fmt:
	@@cargo fmt

test:
	@@cargo test

clean:
	@@cargo clean

.PHONY: fmt release build-linux-musl clean test dist