atrip/Makefile

34 lines
572 B
Makefile

ATRIP_ROOT := $(PWD)
CONFIG ?= gcc
include etc/config/$(CONFIG).mk
include ./bench/config.mk
EMACS = emacs -q --batch
define tangle
$(EMACS) $(1) --eval "(require 'org)" --eval '(org-babel-tangle)'
endef
MAIN = README.org
SOURCES = $(shell grep -oe ':tangle \+[^ ]\+' $(MAIN) | awk '{print $$2}' | sort -u)
$(SOURCES): $(MAIN)
$(call tangle,$<)
tangle: $(SOURCES)
clean:
-rm -v $(SOURCES)
clean-all: bench-clean clean
bench: $(BENCH_TARGETS)
.PHONY: clean tangle bench
%: %.o
$(CXX) $< $(CXXFLAGS) $(LDFLAGS) -o $@
%.o: %.cxx
$(CXX) -c $< $(CXXFLAGS) -o $@