loader: add docker build for linux

This commit is contained in:
Paul Mathieu 2025-03-12 12:33:18 -07:00
parent 1e852ec1de
commit 2c35faf8cf
5 changed files with 48 additions and 24 deletions

View File

@ -0,0 +1,16 @@
FROM debian:bookworm AS deps
RUN apt-get update -qq && apt-get install -qq -y --no-install-recommends build-essential
FROM deps AS build
ADD . /workspace
WORKDIR /workspace
RUN make loader
FROM scratch AS export
COPY --from=build /workspace/loader /

32
alchitry-loader/Makefile Normal file
View File

@ -0,0 +1,32 @@
sources = $(wildcard src/*.cpp)
objects = $(sources:.cpp=.o)
os = $(shell uname -s)
static_libs = lib/$(os)/libftd2xx.a
libs = -lpthread
CXXFLAGS = -std=c++11
export DOCKER_BUILDKIT=1
# Assume target is Mac OS if build host is Mac OS; any other host targets Linux
ifeq ($(os), Darwin)
libs += -lobjc -framework IOKit -framework CoreFoundation
else
libs += -lrt
endif
loader: $(objects) ## build the loader executable
$(CXX) $(LDFLAGS) -o $@ $^ $(static_libs) $(libs)
build: ## build the loader in docker (linux)
docker build -o . .
.PHONY: clean
clean:
rm -rf loader $(objects)
.PHONY: help
help: ## Show this help
@echo Noteworthy targets:
@egrep '^[a-zA-Z_-]+:.*?## .*$$' $(firstword $(MAKEFILE_LIST)) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
.DEFAULT_GOAL := help

View File

@ -1,24 +0,0 @@
sources = $(wildcard src/*.cpp)
objects = $(sources:.cpp=.o)
static_libs = lib/macos/libftd2xx.a
libs = -lpthread
CXXFLAGS = -std=c++11
UNAME := $(shell uname)
# Assume target is Mac OS if build host is Mac OS; any other host targets Linux
ifeq ($(UNAME), Darwin)
libs += -lobjc -framework IOKit -framework CoreFoundation
else
libs += -lrt
endif
all: loader
loader: $(objects)
$(CXX) $(LDFLAGS) -o $@ $^ $(static_libs) $(libs)
.PHONY: clean
clean:
rm -rf loader $(objects)