@@ -2,27 +2,26 @@ VERSION=v$(shell cat shared/version.txt)
22LOCAL_OS =$(shell go env GOOS) -$(shell go env GOARCH)
33
44BUILD_DIR =build
5- CLI_DIR =${BUILD_DIR}/${VERSION}/cli
6- DAEMON_DIR =${BUILD_DIR}/${VERSION}/daemon
5+ BIN_DIR =${BUILD_DIR}/${VERSION}/bin
76DOCKER_DIR =${BUILD_DIR}/${VERSION}/docker
87
98CLI_TARGET_OOS: =linux darwin
109ARCHS: =arm64 amd64
1110
12- CLI_TARGET_STRINGS: =$(foreach oos,$(CLI_TARGET_OOS ) , $(foreach arch,$(ARCHS ) ,${CLI_DIR }/rocketpool-cli-$(oos ) -$(arch ) ) )
13- DAEMON_TARGET_STRINGS: =$(foreach arch,$(ARCHS ) ,${DAEMON_DIR }/rocketpool-daemon-linux-$(arch ) )
11+ CLI_TARGET_STRINGS: =$(foreach oos,$(CLI_TARGET_OOS ) , $(foreach arch,$(ARCHS ) ,${BIN_DIR }/rocketpool-cli-$(oos ) -$(arch ) ) )
12+ DAEMON_TARGET_STRINGS: =$(foreach arch,$(ARCHS ) ,${BIN_DIR }/rocketpool-daemon-linux-$(arch ) )
1413
1514MODULES: =$(foreach path,$(shell find . -name go.mod) ,$(dir $(path ) ) )
1615MODULE_GLOBS: =$(foreach module,$(MODULES ) ,$(module ) ...)
1716
18- cli_deps = ${CLI_DIR }
17+ cli_deps = ${BIN_DIR }
1918ifndef NO_DOCKER
2019 cli_deps += docker-builder
2120endif
2221
2322define rocketpool-cli-template
24- .PHONY: ${CLI_DIR }/rocketpool-cli-$1-$2
25- ${CLI_DIR }/rocketpool-cli-$1-$2: ${cli_deps}
23+ .PHONY: ${BIN_DIR }/rocketpool-cli-$1-$2
24+ ${BIN_DIR }/rocketpool-cli-$1-$2: ${cli_deps}
2625 @echo "Building rocketpool-cli-$1-$2"
2726ifndef NO_DOCKER
2827 docker run --rm -v ./:/src --user $(shell id -u):$(shell id -g) -e CGO_ENABLED=0 \
@@ -40,27 +39,27 @@ all: ${BUILD_DIR}/rocketpool-cli ${BUILD_DIR}/rocketpool-daemon lint
4039release : ${CLI_TARGET_STRINGS} ${DAEMON_TARGET_STRINGS} ${BUILD_DIR}/rocketpool-cli ${BUILD_DIR}/rocketpool-daemon
4140
4241# Target for build/rocketpool-cli which is a symlink to an os-specific build
43- ${BUILD_DIR}/rocketpool-cli : ${CLI_DIR }/rocketpool-cli-${LOCAL_OS}
44- ln -sf $(shell pwd) /${CLI_DIR } /rocketpool-cli-${LOCAL_OS} ${BUILD_DIR} /rocketpool-cli
42+ ${BUILD_DIR}/rocketpool-cli : ${BIN_DIR }/rocketpool-cli-${LOCAL_OS}
43+ ln -sf $(shell pwd) /${BIN_DIR } /rocketpool-cli-${LOCAL_OS} ${BUILD_DIR} /rocketpool-cli
4544
4645
4746# Target for build/rocketpool-daemon which is a symlink to an os-specific build
48- ${BUILD_DIR}/rocketpool-daemon : ${DAEMON_DIR }/rocketpool-daemon-${LOCAL_OS}
49- ln -sf $(shell pwd) /${DAEMON_DIR } /rocketpool-daemon-${LOCAL_OS} ${BUILD_DIR} /rocketpool-daemon
47+ ${BUILD_DIR}/rocketpool-daemon : ${BIN_DIR }/rocketpool-daemon-${LOCAL_OS}
48+ ln -sf $(shell pwd) /${BIN_DIR } /rocketpool-daemon-${LOCAL_OS} ${BUILD_DIR} /rocketpool-daemon
5049
5150# docker-builder container
5251.PHONY : docker-builder
5352docker-builder :
5453 VERSION=${VERSION} docker bake -f docker/daemon-bake.hcl builder
5554
56- daemon_build_deps = ${DAEMON_DIR }
55+ daemon_build_deps = ${BIN_DIR }
5756ifndef NO_DOCKER
5857 daemon_build_deps += docker-builder
5958endif
6059
6160# amd64 daemon build
62- .PHONY : ${DAEMON_DIR }/rocketpool-daemon-linux-amd64
63- ${DAEMON_DIR }/rocketpool-daemon-linux-amd64 : ${daemon_build_deps}
61+ .PHONY : ${BIN_DIR }/rocketpool-daemon-linux-amd64
62+ ${BIN_DIR }/rocketpool-daemon-linux-amd64 : ${daemon_build_deps}
6463ifndef NO_DOCKER
6564 docker run --rm -v ./:/src --user $(shell id -u):$(shell id -g) -e CGO_ENABLED=1 -e CGO_C_FLAGS="-O -D__BLST_PORTABLE__" \
6665 -e GOARCH=amd64 -e GOOS=linux --workdir /src -v ~/.cache:/.cache rocketpool/smartnode-builder:${VERSION} \
7069endif
7170
7271# arm64 daemon build
73- .PHONY : ${DAEMON_DIR }/rocketpool-daemon-linux-arm64
74- ${DAEMON_DIR }/rocketpool-daemon-linux-arm64 : ${daemon_build_deps}
72+ .PHONY : ${BIN_DIR }/rocketpool-daemon-linux-arm64
73+ ${BIN_DIR }/rocketpool-daemon-linux-arm64 : ${daemon_build_deps}
7574ifndef NO_DOCKER
7675 docker run --rm -v ./:/src --user $(shell id -u):$(shell id -g) -e CGO_ENABLED=1 -e CGO_C_FLAGS="-O -D__BLST_PORTABLE__" \
7776 -e CC=aarch64-linux-gnu-gcc -e CXX=aarch64-linux-gnu-cpp -e CGO_C_FLAGS="-O -D__BLST_PORTABLE__" -e GOARCH=arm64 -e GOOS=linux \
8180 CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-cpp CGO_C_FLAGS="-O -D__BLST_PORTABLE__" GOARCH=arm64 GOOS=linux go build -o $@ rocketpool/rocketpool.go
8281endif
8382
84- ${CLI_DIR} :
85- mkdir -p ${CLI_DIR}
86- ${DAEMON_DIR} :
87- mkdir -p ${DAEMON_DIR}
83+ ${BIN_DIR} :
84+ mkdir -p ${BIN_DIR}
8885${DOCKER_DIR} :
8986 mkdir -p ${DOCKER_DIR}
9087
0 commit comments