@@ -61,7 +61,8 @@ ifeq ($(IS_X86_64),1)
6161 BUILD_ENV = SOURCE_DATE_EPOCH=$(SOURCE_DATE ) \
6262 RUSTFLAGS="${RUST_BUILD_FLAGS}" \
6363 LC_ALL=${LOCALE_VAL} \
64- TZ=${TZ_VAL}
64+ TZ=${TZ_VAL} \
65+ JEMALLOC_OVERRIDE=/usr/lib/x86_64-linux-gnu/libjemalloc.a
6566else
6667 # Non-x86_64: Use release profile without reproducible build flags
6768 BUILD_PROFILE = release
@@ -72,19 +73,19 @@ endif
7273
7374.PHONY : build
7475build : # # Build (release version)
75- $(BUILD_ENV ) cargo build --features " $( FEATURES) " --locked $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) --profile $(BUILD_PROFILE ) --workspace
76+ $(BUILD_ENV ) cargo build --features " $( FEATURES) jemalloc-unprefixed " --locked $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) --profile $(BUILD_PROFILE ) --workspace
7677
7778.PHONY : build-bid-scraper
7879build-bid-scraper : # # Build the bid-scraper binary (release version)
7980 $(BUILD_ENV ) cargo build --features " $( FEATURES) " --locked $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) --bin bid-scraper --profile $(BUILD_PROFILE )
8081
8182.PHONY : build-rbuilder-operator
8283build-rbuilder-operator : # # Build the rbuilder-operator binary (release version)
83- $(BUILD_ENV ) cargo build --features " $( FEATURES) " --locked $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) --bin rbuilder-operator --profile $(BUILD_PROFILE )
84+ $(BUILD_ENV ) cargo build --features " $( FEATURES) jemalloc-unprefixed " --locked $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) --bin rbuilder-operator --profile $(BUILD_PROFILE )
8485
8586.PHONY : build-rbuilder-rebalancer
8687build-rbuilder-rebalancer : # # Build the rbuilder-rebalancer binary (release version)
87- $(BUILD_ENV ) cargo build --features " $( FEATURES) " --locked $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) --bin rbuilder-rebalancer --profile $(BUILD_PROFILE )
88+ $(BUILD_ENV ) cargo build --features " $( FEATURES) jemalloc-unprefixed " --locked $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) --bin rbuilder-rebalancer --profile $(BUILD_PROFILE )
8889
8990.PHONY : build-dev
9091build-dev : # # Build (debug version)
@@ -94,35 +95,51 @@ build-dev: ## Build (debug version)
9495docker-image-rbuilder : # # Build a rbuilder Docker image
9596 docker build --platform linux/amd64 --target rbuilder-runtime --build-arg FEATURES=" $( FEATURES) " -t rbuilder -f docker/Dockerfile.rbuilder .
9697
97- .PHONE : docker-image-rbuilder-operator
98- docker build --platform linux/amd64 --target rbuilder-runtime --build-arg FEATURES=" $( FEATURES) " -t rbuilder -f docker/Dockerfile.rbuilder-operator .
98+ .PHONY : docker-image-rbuilder-operator
99+ docker-image-rbuilder-operator : # # Build a rbuilder-operator Docker image
100+ docker build --platform linux/amd64 --target rbuilder-runtime --build-arg FEATURES=" $( FEATURES) jemalloc-unprefixed" -t rbuilder-operator -f docker/Dockerfile.rbuilder-operator .
99101
100102.PHONY : docker-image-test-relay
101103docker-image-test-relay : # # Build a test relay Docker image
102104 docker build --platform linux/amd64 --target test-relay-runtime --build-arg FEATURES=" $( FEATURES) " . -t test-relay
103105
104106# #@ Debian Packages
105107
108+ # Define binary paths for smart dependencies
109+ BID_SCRAPER_BIN := target/$(if $(BUILD_TARGET ) ,$(BUILD_TARGET ) /)$(BUILD_PROFILE ) /bid-scraper
110+ RBUILDER_OPERATOR_BIN := target/$(if $(BUILD_TARGET ) ,$(BUILD_TARGET ) /)$(BUILD_PROFILE ) /rbuilder-operator
111+ RBUILDER_REBALANCER_BIN := target/$(if $(BUILD_TARGET ) ,$(BUILD_TARGET ) /)$(BUILD_PROFILE ) /rbuilder-rebalancer
112+
106113.PHONY : install-cargo-deb
107114install-cargo-deb :
108115 @command -v cargo-deb
> /dev/null
2>&1 || cargo install
[email protected] --locked
109116
117+ # Build individual binaries only if they don't exist - delegate to existing build targets
118+ $(BID_SCRAPER_BIN ) : build-bid-scraper
119+ @# Binary built by build-bid-scraper target
120+
121+ $(RBUILDER_OPERATOR_BIN ) : build-rbuilder-operator
122+ @# Binary built by build-rbuilder-operator target
123+
124+ $(RBUILDER_REBALANCER_BIN ) : build-rbuilder-rebalancer
125+ @# Binary built by build-rbuilder-rebalancer target
126+
110127.PHONY : build-deb-bid-scraper
111- build-deb-bid-scraper : install-cargo-deb build-bid-scraper # # Build bid-scraper Debian package
128+ build-deb-bid-scraper : install-cargo-deb $( BID_SCRAPER_BIN ) # # Build bid-scraper Debian package
112129 cargo deb --profile $(BUILD_PROFILE ) --no-build --no-dbgsym --no-strip \
113130 -p bid-scraper \
114131 $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) \
115132 $(if $(VERSION ) ,--deb-version "1~$(VERSION ) ")
116133
117134.PHONY : build-deb-rbuilder-operator
118- build-deb-rbuilder-operator : install-cargo-deb build-rbuilder-operator # # Build rbuilder-operator Debian package
135+ build-deb-rbuilder-operator : install-cargo-deb $( RBUILDER_OPERATOR_BIN ) # # Build rbuilder-operator Debian package
119136 cargo deb --profile $(BUILD_PROFILE ) --no-build --no-dbgsym --no-strip \
120137 -p rbuilder-operator \
121138 $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) \
122139 $(if $(VERSION ) ,--deb-version "1~$(VERSION ) ")
123140
124141.PHONY : build-deb-rbuilder-rebalancer
125- build-deb-rbuilder-rebalancer : install-cargo-deb build-rbuilder-rebalancer # # Build rbuilder-rebalancer Debian package
142+ build-deb-rbuilder-rebalancer : install-cargo-deb $( RBUILDER_REBALANCER_BIN ) # # Build rbuilder-rebalancer Debian package
126143 cargo deb --profile $(BUILD_PROFILE ) --no-build --no-dbgsym --no-strip \
127144 -p rbuilder-rebalancer \
128145 $(if $(BUILD_TARGET ) ,--target $(BUILD_TARGET ) ) \
0 commit comments