PATH_DOCS=out/markdown
generate:
mkdir -p out
find . -maxdepth 1 -name .gitignore | xargs -IX sed '/^#\s*EOF_DOCKERIGNORE.*/q' X > .dockerignore
test:
cargo test
big:
git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | awk '/^blob/ {size=$$3; $$1=$$2=$$3=""; sub(/^ +/, ""); printf "%12d %s\n", size, $$0}' | sort -n
deploy: generate
cargo install --root out mdbook --version 0.4.50
cargo run --example codegen -- src/traits.rs src/lib.rs
cargo run --example markdown -- $(PATH_DOCS)/SUMMARY.md ./README.md
./out/bin/mdbook build
publish: deploy
cargo publish
cadrum-occt: generate
cargo clean
CADRUM_BUNDLE_GCC_RUNTIME=1 cargo build --example 01_primitives --release --features source-build 2>&1 | tee out/log.txt
find target -maxdepth 1 -type d -name 'cadrum*' | xargs -IX sh -c 'tar -czf out/$$(basename X).tar.gz -C $$(dirname X) $$(basename X)'
cadrum-occt-%: # build occt from source in cross ( = native build in container ) cadrum-occt-aarch64-unknown-linux-gnu cadrum-occt-x86_64-pc-windows-gnu cadrum-occt-x86_64-unknown-linux-gnu
docker build -f docker/Dockerfile_$(*) -t cadrum-occt-$(*) .
docker run --rm -v $(PWD)/out/$(*):/src/out cadrum-occt-$(*) make cadrum-occt
check-cadrum-occt-%: cadrum-occt-%
mkdir -p target
find out -maxdepth 2 -type f -name '*.tar.gz' | xargs -IX tar -xzf X -C target
timeout 300 cargo run --example 01_primitives