30 lines
		
	
	
		
			700 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			700 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
ARG TARGET
 | 
						|
 | 
						|
FROM debian:bookworm AS deps
 | 
						|
 | 
						|
# possible values: x64, arm64
 | 
						|
ARG ARCH=x64
 | 
						|
 | 
						|
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
 | 
						|
    apt-get install -y make clang libgmock-dev gdb curl ninja-build && \
 | 
						|
    apt-get clean && rm -rf /var/lib/apt/lists
 | 
						|
RUN cd /opt && curl -L https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/download/v14.2.0-3/xpack-riscv-none-elf-gcc-14.2.0-3-linux-${ARCH}.tar.gz | tar -xz
 | 
						|
 | 
						|
 | 
						|
FROM deps AS dev
 | 
						|
 | 
						|
 | 
						|
FROM deps AS build
 | 
						|
ARG TARGET=${TARGET}
 | 
						|
 | 
						|
ADD . /workspace
 | 
						|
WORKDIR /workspace
 | 
						|
 | 
						|
RUN ./configure --version=${VERSION} && ninja -C build ../out/${TARGET}
 | 
						|
 | 
						|
 | 
						|
FROM scratch AS export
 | 
						|
ARG TARGET=${TARGET}
 | 
						|
 | 
						|
COPY --from=build /workspace/out/${TARGET} /
 |