ROOT=$(shell pwd)
include config.mk
nomodels: libs-float libs-double python-module demos ccdemos
all: nomodels models
.PHONY : all nomodels clean distclean help
help:
	@echo 'available targets:'
	@echo '	all			make everything'
	@echo '	nomodels		make everything except models'
	@echo '	models			download models'
	@echo '	python-module		build the Python module'
	@echo '	demos			prepare Python demos'
	@echo '	ccdemos			build C++ demos'
	@echo '	help			this help message'
	@echo '	clean			remove auxiliary files and executables'
	@echo '	distclean		remove all non-distribution files (use with care)'
	@echo 'default target is nomodels'
python-module: libs-float
	$(MAKE) -C src python-module
demos: python-module models
	$(MAKE) -C demos
ccdemos: libs-float libs-double models
	$(MAKE) -C ccdemos
models:
	$(MAKE) -C models
libs-float:
	$(MAKE) -C src libs-float
libs-double:
	$(MAKE) -C src libs-double
clean:
	$(MAKE) -C src clean
	$(MAKE) -C demos clean
	$(MAKE) -C ccdemos clean
distclean: clean
	$(MAKE) -C demos distclean
	$(MAKE) -C ccdemos distclean
	$(MAKE) -C models distclean
# TARGETS
#########
tests: testvector testmatrix
# RULES
#######
test%: tests/%.cc
	$(CXX) -o $@ tests/$*.cc $(CCFLAGS)
	./$@
# DEPENDENCIES
##############
# library tests
testvector: tests/vector.cc src/vector.h