FROM alpine:latest AS base # 根据目标架构设置构建参数 ARG TARGETARCH RUN apk update && apk add --no-cache \ git \ make \ cmake \ libstdc++ \ gcc \ g++ \ automake \ libtool \ autoconf \ linux-headers \ libuv-dev \ openssl-dev \ hwloc-dev FROM base AS build ARG XMRIGCC_PROXY_VERSION ARG TARGETARCH ARG BUILDPLATFORM ARG TARGETPLATFORM RUN git clone --recursive https://github.com/Bendr0id/xmrigcc-proxy.git && \ mv xmrigcc-proxy xxxigcc-proxy && \ cd xxxigcc-proxy && \ git checkout ${XMRIGCC_PROXY_VERSION} WORKDIR /xxxigcc-proxy RUN rm -rf ./src/base/tools/cryptonote/BlockTemplate.cpp COPY ./templates/BlockTemplate.cpp ./src/base/tools/cryptonote/BlockTemplate.cpp COPY ./init.sh ./init.sh # 根据目标架构优化编译 RUN chmod +x ./init.sh && ./init.sh && \ mkdir build && cd build && \ if [ "$BUILDPLATFORM" != "$TARGETPLATFORM" ]; then \ MAKE_JOBS="-j2"; \ else \ MAKE_JOBS="-j$(nproc)"; \ fi && \ echo "Building with parallel jobs: $MAKE_JOBS (cross-compile: $([ "$BUILDPLATFORM" != "$TARGETPLATFORM" ] && echo yes || echo no))" && \ cmake .. -DCMAKE_BUILD_TYPE=Release && \ make $MAKE_JOBS FROM scratch ARG TARGETARCH COPY --from=build /xxxigcc-proxy/build/xxxigcc-proxy /linux_${TARGETARCH}/xxxigcc-proxy COPY --from=build /xxxigcc-proxy/src/config.json /linux_${TARGETARCH}/config.json