# We build the whole website by default when doing "make".
build-website: website-generator
	./website-generator ../../.. ../../../definition.grmd build
	./generate-zip.sh

# Generator the binary "website-generator" according to the "Cargo.toml" and all Rust files changes.
# We must use the "wildcard" function to use the recursive glob pattern "**".
website-generator: website-generator-src/Cargo.toml website-generator-src/src/*rs $(wildcard website-generator-src/src/**/*rs)
	@cd website-generator-src && cargo build
	cp website-generator-src/target/debug/website-generator website-generator

check:
	@cd website-generator-src && cargo check

# Format Rust source files.
fmt:
	rustfmt $(shell find website-generator-src -name '*rs' -type f)

clean:
	cd website-generator-src && cargo clean
	rm -f website-generator
	rm -rf build

.PHONY: build-website fmt clean
