diff --git a/Makefile b/Makefile index 9382d1aeee..975020cf2a 100644 --- a/Makefile +++ b/Makefile @@ -27,12 +27,12 @@ FEATURES_ARG := $(shell ! [ -z $(COMET_FEATURES) ] && echo '--features=$(COMET_F all: core jvm core: - cd native && cargo build + cd native && cargo build $(FEATURES_ARG) test-rust: # We need to compile CometException so that the cargo test can pass ./mvnw compile -pl common -DskipTests $(PROFILES) - cd native && cargo build && \ - RUST_BACKTRACE=1 cargo test + cd native && cargo build $(FEATURES_ARG) && \ + RUST_BACKTRACE=1 cargo test $(FEATURES_ARG) jvm: ./mvnw clean package -DskipTests $(PROFILES) test-jvm: core @@ -43,7 +43,7 @@ clean: ./mvnw clean $(PROFILES) rm -rf .dist bench: - cd native && RUSTFLAGS="-Ctarget-cpu=native" cargo bench $(filter-out $@,$(MAKECMDGOALS)) + cd native && RUSTFLAGS="-Ctarget-cpu=native" cargo bench $(FEATURES_ARG) $(filter-out $@,$(MAKECMDGOALS)) format: cd native && cargo fmt ./mvnw compile test-compile scalafix:scalafix -Psemanticdb $(PROFILES) @@ -51,26 +51,26 @@ format: # build native libs for amd64 architecture Linux/MacOS on a Linux/amd64 machine/container core-amd64-libs: - cd native && cargo build -j 2 --release + cd native && cargo build -j 2 --release $(FEATURES_ARG) ifdef HAS_OSXCROSS rustup target add x86_64-apple-darwin - cd native && cargo build -j 2 --target x86_64-apple-darwin --release + cd native && cargo build -j 2 --target x86_64-apple-darwin --release $(FEATURES_ARG) endif # build native libs for arm64 architecture Linux/MacOS on a Linux/arm64 machine/container core-arm64-libs: - cd native && cargo build -j 2 --release + cd native && cargo build -j 2 --release $(FEATURES_ARG) ifdef HAS_OSXCROSS rustup target add aarch64-apple-darwin - cd native && cargo build -j 2 --target aarch64-apple-darwin --release + cd native && cargo build -j 2 --target aarch64-apple-darwin --release $(FEATURES_ARG) endif core-amd64: rustup target add x86_64-apple-darwin - cd native && RUSTFLAGS="-Ctarget-cpu=skylake -Ctarget-feature=-prefer-256-bit" CC=o64-clang CXX=o64-clang++ cargo build --target x86_64-apple-darwin --release + cd native && RUSTFLAGS="-Ctarget-cpu=skylake -Ctarget-feature=-prefer-256-bit" CC=o64-clang CXX=o64-clang++ cargo build --target x86_64-apple-darwin --release $(FEATURES_ARG) mkdir -p common/target/classes/org/apache/comet/darwin/x86_64 cp native/target/x86_64-apple-darwin/release/libcomet.dylib common/target/classes/org/apache/comet/darwin/x86_64 - cd native && RUSTFLAGS="-Ctarget-cpu=haswell -Ctarget-feature=-prefer-256-bit" cargo build --release + cd native && RUSTFLAGS="-Ctarget-cpu=haswell -Ctarget-feature=-prefer-256-bit" cargo build --release $(FEATURES_ARG) mkdir -p common/target/classes/org/apache/comet/linux/amd64 cp native/target/release/libcomet.so common/target/classes/org/apache/comet/linux/amd64 jar -cf common/target/comet-native-x86_64.jar \ @@ -80,10 +80,10 @@ core-amd64: core-arm64: rustup target add aarch64-apple-darwin - cd native && RUSTFLAGS="-Ctarget-cpu=apple-m1" CC=arm64-apple-darwin21.4-clang CXX=arm64-apple-darwin21.4-clang++ CARGO_FEATURE_NEON=1 cargo build --target aarch64-apple-darwin --release + cd native && RUSTFLAGS="-Ctarget-cpu=apple-m1" CC=arm64-apple-darwin21.4-clang CXX=arm64-apple-darwin21.4-clang++ CARGO_FEATURE_NEON=1 cargo build --target aarch64-apple-darwin --release $(FEATURES_ARG) mkdir -p common/target/classes/org/apache/comet/darwin/aarch64 cp native/target/aarch64-apple-darwin/release/libcomet.dylib common/target/classes/org/apache/comet/darwin/aarch64 - cd native && RUSTFLAGS="-Ctarget-cpu=native" cargo build --release + cd native && RUSTFLAGS="-Ctarget-cpu=native" cargo build --release $(FEATURES_ARG) mkdir -p common/target/classes/org/apache/comet/linux/aarch64 cp native/target/release/libcomet.so common/target/classes/org/apache/comet/linux/aarch64 jar -cf common/target/comet-native-aarch64.jar \ @@ -93,9 +93,9 @@ core-arm64: release-linux: clean rustup target add aarch64-apple-darwin x86_64-apple-darwin - cd native && RUSTFLAGS="-Ctarget-cpu=apple-m1" CC=arm64-apple-darwin21.4-clang CXX=arm64-apple-darwin21.4-clang++ CARGO_FEATURE_NEON=1 cargo build --target aarch64-apple-darwin --release - cd native && RUSTFLAGS="-Ctarget-cpu=skylake -Ctarget-feature=-prefer-256-bit" CC=o64-clang CXX=o64-clang++ cargo build --target x86_64-apple-darwin --release - cd native && RUSTFLAGS="-Ctarget-cpu=native -Ctarget-feature=-prefer-256-bit" cargo build --release + cd native && RUSTFLAGS="-Ctarget-cpu=apple-m1" CC=arm64-apple-darwin21.4-clang CXX=arm64-apple-darwin21.4-clang++ CARGO_FEATURE_NEON=1 cargo build --target aarch64-apple-darwin --release $(FEATURES_ARG) + cd native && RUSTFLAGS="-Ctarget-cpu=skylake -Ctarget-feature=-prefer-256-bit" CC=o64-clang CXX=o64-clang++ cargo build --target x86_64-apple-darwin --release $(FEATURES_ARG) + cd native && RUSTFLAGS="-Ctarget-cpu=native -Ctarget-feature=-prefer-256-bit" cargo build --release $(FEATURES_ARG) ./mvnw install -Prelease -DskipTests $(PROFILES) release: cd native && RUSTFLAGS="$(RUSTFLAGS) -Ctarget-cpu=native" cargo build --release $(FEATURES_ARG)