34 lines
572 B
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 $@
|
|
|