Rework the makefiles.
This commit is contained in:
58
Makefile
58
Makefile
@@ -22,55 +22,70 @@ ifeq ($(origin .RECIPEPREFIX), undefined)
|
||||
endif
|
||||
.RECIPEPREFIX = >
|
||||
|
||||
.PHONY: help
|
||||
help: ## List the available make targets.
|
||||
> @grep -h "##" $(MAKEFILE_LIST) | grep -v grep | sed -E 's/^([^:]*): *## */\1: /'
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
build: ## Make a debug build of the project.
|
||||
> cargo build
|
||||
|
||||
.PHONY: release
|
||||
release:
|
||||
release: ## Make an optimized build of the project.
|
||||
> cargo build --release $(RELEASEFLAGS)
|
||||
|
||||
.PHONY: wasm
|
||||
wasm:
|
||||
wasm: ## Build the parser as wasm.
|
||||
> cargo build --target=wasm32-unknown-unknown --profile wasm --bin wasm --features wasm
|
||||
> wasm-bindgen --target $(WASMTARGET) --out-dir target/wasm32-unknown-unknown/js target/wasm32-unknown-unknown/wasm/wasm.wasm
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
clean: ## Delete the built binaries.
|
||||
> cargo clean
|
||||
> $(MAKE) -C docker/organic_development TARGET=builder clean
|
||||
> $(MAKE) -C docker/organic_development TARGET=format clean
|
||||
> $(MAKE) -C docker/organic_development TARGET=clippy clean
|
||||
> $(MAKE) -C docker/organic_development TARGET=wasm clean
|
||||
> $(MAKE) -C docker/organic_test TARGET=tester build
|
||||
|
||||
.PHONY: format
|
||||
format:
|
||||
> $(MAKE) -C docker/cargo_fmt run
|
||||
format: ## Format the code.
|
||||
> cargo fmt
|
||||
|
||||
.PHONY: dockerclippy
|
||||
dockerclippy:
|
||||
> $(MAKE) -C docker/organic_clippy run
|
||||
.PHONY: docker_format
|
||||
docker_format: ## Format the code using docker.
|
||||
> $(MAKE) -C docker/organic_development TARGET=format build
|
||||
> docker run --rm -i -t --mount type=tmpfs,destination=/tmp -v "$(shell readlink -f .):/source" --workdir=/source --env CARGO_TARGET_DIR=/target -v "organic-cargo-registry:/usr/local/cargo/registry" organic-development-format cargo fmt
|
||||
|
||||
.PHONY: docker_clippy
|
||||
docker_clippy: ## Lint the code using docker.
|
||||
> $(MAKE) -C docker/organic_development TARGET=clippy build
|
||||
> docker run --rm -i -t --mount type=tmpfs,destination=/tmp -v "$(shell readlink -f .):/source" --workdir=/source --env CARGO_TARGET_DIR=/target -v "organic-cargo-registry:/usr/local/cargo/registry" organic-development-clippy cargo clippy --no-deps --all-targets --all-features -- -D warnings
|
||||
|
||||
.PHONY: clippy
|
||||
clippy:
|
||||
clippy: ## Lint the code.
|
||||
> cargo clippy --no-deps --all-targets --all-features -- -D warnings
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
test: ## Run the test suite.
|
||||
> cargo test --no-default-features --features compare --no-fail-fast --lib --test test_loader -- --test-threads $(TESTJOBS)
|
||||
|
||||
.PHONY: doc
|
||||
doc:
|
||||
doc: ## Generate documentation.
|
||||
> cargo doc --no-deps --open --lib --release --all-features
|
||||
|
||||
.PHONY: dockertest
|
||||
dockertest:
|
||||
> $(MAKE) -C docker/organic_test
|
||||
.PHONY: docker_test
|
||||
docker_test: ## Run the test suite using docker.
|
||||
> $(MAKE) -C docker/organic_test TARGET=tester build
|
||||
> docker run --init --rm -i -t --read-only -v "$$(readlink -f ./):/source:ro" --mount type=tmpfs,destination=/tmp --mount source=cargo-cache,target=/usr/local/cargo/registry --mount source=rust-cache,target=/target --env CARGO_TARGET_DIR=/target -w /source organic-test --no-default-features --features compare --no-fail-fast --lib --test test_loader -- --test-threads $(TESTJOBS)
|
||||
|
||||
.PHONY: dockerwasmtest
|
||||
dockerwasmtest:
|
||||
> $(MAKE) -C docker/organic_test
|
||||
.PHONY: docker_wasm_test
|
||||
docker_wasm_test: ## Run the test suite with wasm tests.
|
||||
> $(MAKE) -C docker/organic_test TARGET=tester build
|
||||
> docker run --init --rm -i -t --read-only -v "$$(readlink -f ./):/source:ro" --mount type=tmpfs,destination=/tmp --mount source=cargo-cache,target=/usr/local/cargo/registry --mount source=rust-cache,target=/target --env CARGO_TARGET_DIR=/target -w /source organic-test --no-default-features --features compare,wasm_test --no-fail-fast --lib --test test_loader autogen_wasm_ -- --test-threads $(TESTJOBS)
|
||||
|
||||
.PHONY: buildtest
|
||||
buildtest:
|
||||
.PHONY: build_test
|
||||
build_test:
|
||||
> cargo build --no-default-features
|
||||
> cargo build --no-default-features --features compare
|
||||
> cargo build --no-default-features --features tracing
|
||||
@@ -82,7 +97,8 @@ buildtest:
|
||||
|
||||
.PHONY: foreign_document_test
|
||||
foreign_document_test:
|
||||
> $(MAKE) -C docker/organic_test run_foreign_document_test
|
||||
> $(MAKE) -C docker/organic_test TARGET=foreign-document build
|
||||
> docker run --init --rm -i -t --read-only -v "$$(readlink -f ./):/source:ro" --mount type=tmpfs,destination=/tmp --mount source=cargo-cache,target=/usr/local/cargo/registry --mount source=rust-cache,target=/target --env CARGO_TARGET_DIR=/target -w /source organic-test-foreign-document
|
||||
|
||||
.PHONY: dockerclean
|
||||
dockerclean:
|
||||
|
||||
Reference in New Issue
Block a user