33 lines
870 B
Makefile
33 lines
870 B
Makefile
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
|