@@ -14,6 +14,17 @@ ifeq ($(OS),Darwin)
1414 BUILD_ALL_FFI = $(MAKE) build_all_ffi_macos
1515endif
1616
17+
18+ FFI_FOR_RELEASE ?= true
19+
20+ ifeq ($(FFI_FOR_RELEASE ) ,true)
21+ RELEASE_FLAG=--release
22+ TARGET_REL_PATH=release
23+ else
24+ RELEASE_FLAG=
25+ TARGET_REL_PATH=debug
26+ endif
27+
1728help :
1829 @grep -E ' ^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | awk ' BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
1930
@@ -526,12 +537,12 @@ build_binaries:
526537
527538__SP1_FFI__ : # #
528539build_sp1_macos :
529- @cd operator/sp1/lib && cargo build --release
530- @cp operator/sp1/lib/target/release /libsp1_verifier_ffi.dylib operator/sp1/lib/libsp1_verifier.dylib
540+ @cd operator/sp1/lib && cargo build $( RELEASE_FLAG )
541+ @cp operator/sp1/lib/target/$( TARGET_REL_PATH ) /libsp1_verifier_ffi.dylib operator/sp1/lib/libsp1_verifier.dylib
531542
532543build_sp1_linux :
533- @cd operator/sp1/lib && cargo build --release
534- @cp operator/sp1/lib/target/release /libsp1_verifier_ffi.so operator/sp1/lib/libsp1_verifier.so
544+ @cd operator/sp1/lib && cargo build $( RELEASE_FLAG )
545+ @cp operator/sp1/lib/target/$( TARGET_REL_PATH ) /libsp1_verifier_ffi.so operator/sp1/lib/libsp1_verifier.so
535546
536547test_sp1_rust_ffi :
537548 @echo " Testing SP1 Rust FFI source code..."
@@ -554,12 +565,12 @@ generate_sp1_fibonacci_proof:
554565
555566__RISC_ZERO_FFI__ : # #
556567build_risc_zero_macos :
557- @cd operator/risc_zero/lib && cargo build --release
558- @cp operator/risc_zero/lib/target/release /librisc_zero_verifier_ffi.dylib operator/risc_zero/lib/librisc_zero_verifier_ffi.dylib
568+ @cd operator/risc_zero/lib && cargo build $( RELEASE_FLAG )
569+ @cp operator/risc_zero/lib/target/$( TARGET_REL_PATH ) /librisc_zero_verifier_ffi.dylib operator/risc_zero/lib/librisc_zero_verifier_ffi.dylib
559570
560571build_risc_zero_linux :
561- @cd operator/risc_zero/lib && cargo build --release
562- @cp operator/risc_zero/lib/target/release /librisc_zero_verifier_ffi.so operator/risc_zero/lib/librisc_zero_verifier_ffi.so
572+ @cd operator/risc_zero/lib && cargo build $( RELEASE_FLAG )
573+ @cp operator/risc_zero/lib/target/$( TARGET_REL_PATH ) /librisc_zero_verifier_ffi.so operator/risc_zero/lib/librisc_zero_verifier_ffi.so
563574
564575test_risc_zero_rust_ffi :
565576 @echo " Testing RISC Zero Rust FFI source code..."
@@ -580,14 +591,14 @@ generate_risc_zero_fibonacci_proof:
580591
581592__MERKLE_TREE_FFI__ : # #
582593build_merkle_tree_macos :
583- @cd operator/merkle_tree/lib && cargo build --release
584- @cp operator/merkle_tree/lib/target/release /libmerkle_tree.dylib operator/merkle_tree/lib/libmerkle_tree.dylib
585- @cp operator/merkle_tree/lib/target/release /libmerkle_tree.a operator/merkle_tree/lib/libmerkle_tree.a
594+ @cd operator/merkle_tree/lib && cargo build $( RELEASE_FLAG )
595+ @cp operator/merkle_tree/lib/target/$( TARGET_REL_PATH ) /libmerkle_tree.dylib operator/merkle_tree/lib/libmerkle_tree.dylib
596+ @cp operator/merkle_tree/lib/target/$( TARGET_REL_PATH ) /libmerkle_tree.a operator/merkle_tree/lib/libmerkle_tree.a
586597
587598build_merkle_tree_linux :
588- @cd operator/merkle_tree/lib && cargo build --release
589- @cp operator/merkle_tree/lib/target/release /libmerkle_tree.so operator/merkle_tree/lib/libmerkle_tree.so
590- @cp operator/merkle_tree/lib/target/release /libmerkle_tree.a operator/merkle_tree/lib/libmerkle_tree.a
599+ @cd operator/merkle_tree/lib && cargo build $( RELEASE_FLAG )
600+ @cp operator/merkle_tree/lib/target/$( TARGET_REL_PATH ) /libmerkle_tree.so operator/merkle_tree/lib/libmerkle_tree.so
601+ @cp operator/merkle_tree/lib/target/$( TARGET_REL_PATH ) /libmerkle_tree.a operator/merkle_tree/lib/libmerkle_tree.a
591602
592603test_merkle_tree_rust_ffi :
593604 @echo " Testing Merkle Tree Rust FFI source code..."
@@ -603,14 +614,14 @@ test_merkle_tree_go_bindings_linux: build_merkle_tree_linux
603614
604615__HALO2_KZG_FFI__ : # #
605616build_halo2_kzg_macos :
606- @cd operator/halo2kzg/lib && cargo build --release
607- @cp operator/halo2kzg/lib/target/release /libhalo2kzg_verifier_ffi.dylib operator/halo2kzg/lib/libhalo2kzg_verifier.dylib
608- @cp operator/halo2kzg/lib/target/release /libhalo2kzg_verifier_ffi.a operator/halo2kzg/lib/libhalo2kzg_verifier.a
617+ @cd operator/halo2kzg/lib && cargo build $( RELEASE_FLAG )
618+ @cp operator/halo2kzg/lib/target/$( TARGET_REL_PATH ) /libhalo2kzg_verifier_ffi.dylib operator/halo2kzg/lib/libhalo2kzg_verifier.dylib
619+ @cp operator/halo2kzg/lib/target/$( TARGET_REL_PATH ) /libhalo2kzg_verifier_ffi.a operator/halo2kzg/lib/libhalo2kzg_verifier.a
609620
610621build_halo2_kzg_linux :
611- @cd operator/halo2kzg/lib && cargo build --release
612- @cp operator/halo2kzg/lib/target/release /libhalo2kzg_verifier_ffi.so operator/halo2kzg/lib/libhalo2kzg_verifier.so
613- @cp operator/halo2kzg/lib/target/release /libhalo2kzg_verifier_ffi.a operator/halo2kzg/lib/libhalo2kzg_verifier.a
622+ @cd operator/halo2kzg/lib && cargo build $( RELEASE_FLAG )
623+ @cp operator/halo2kzg/lib/target/$( TARGET_REL_PATH ) /libhalo2kzg_verifier_ffi.so operator/halo2kzg/lib/libhalo2kzg_verifier.so
624+ @cp operator/halo2kzg/lib/target/$( TARGET_REL_PATH ) /libhalo2kzg_verifier_ffi.a operator/halo2kzg/lib/libhalo2kzg_verifier.a
614625
615626test_halo2_kzg_rust_ffi :
616627 @echo " Testing Halo2-KZG Rust FFI source code..."
@@ -634,14 +645,14 @@ generate_halo2_kzg_proof:
634645
635646__HALO2_IPA_FFI__ : # #
636647build_halo2_ipa_macos :
637- @cd operator/halo2ipa/lib && cargo build --release
638- @cp operator/halo2ipa/lib/target/release /libhalo2ipa_verifier_ffi.dylib operator/halo2ipa/lib/libhalo2ipa_verifier.dylib
639- @cp operator/halo2ipa/lib/target/release /libhalo2ipa_verifier_ffi.a operator/halo2ipa/lib/libhalo2ipa_verifier.a
648+ @cd operator/halo2ipa/lib && cargo build $( RELEASE_FLAG )
649+ @cp operator/halo2ipa/lib/target/$( TARGET_REL_PATH ) /libhalo2ipa_verifier_ffi.dylib operator/halo2ipa/lib/libhalo2ipa_verifier.dylib
650+ @cp operator/halo2ipa/lib/target/$( TARGET_REL_PATH ) /libhalo2ipa_verifier_ffi.a operator/halo2ipa/lib/libhalo2ipa_verifier.a
640651
641652build_halo2_ipa_linux :
642- @cd operator/halo2ipa/lib && cargo build --release
643- @cp operator/halo2ipa/lib/target/release /libhalo2ipa_verifier_ffi.so operator/halo2ipa/lib/libhalo2ipa_verifier.so
644- @cp operator/halo2ipa/lib/target/release /libhalo2ipa_verifier_ffi.a operator/halo2ipa/lib/libhalo2ipa_verifier.a
653+ @cd operator/halo2ipa/lib && cargo build $( RELEASE_FLAG )
654+ @cp operator/halo2ipa/lib/target/$( TARGET_REL_PATH ) /libhalo2ipa_verifier_ffi.so operator/halo2ipa/lib/libhalo2ipa_verifier.so
655+ @cp operator/halo2ipa/lib/target/$( TARGET_REL_PATH ) /libhalo2ipa_verifier_ffi.a operator/halo2ipa/lib/libhalo2ipa_verifier.a
645656
646657test_halo2_ipa_rust_ffi :
647658 @echo " Testing Halo2-KZG Rust FFI source code..."
0 commit comments