##
# Models (to be passed through stanc)
##
MODEL_HEADER := stan/src/stan/model/model_header.hpp
CMDSTAN_MAIN := src/cmdstan/main.cpp

.PRECIOUS: %.cpp %.o
$(patsubst %.stan,%,$(wildcard $(addsuffix .stan,$(MAKECMDGOALS)))) : %$(EXE) : %.cpp bin/libstan.a %.stan bin/stanc$(EXE) bin/print$(EXE)
	@echo ''
	@echo '--- Linking C++ model ---'
	$(LINK.c) -O$O $(OUTPUT_OPTION) $(CMDSTAN_MAIN) -include $< $(LDLIBS)

.PRECIOUS: %.cpp
%.cpp : %.stan $(MODEL_HEADER) bin/stanc$(EXE)
	@echo ''
	@echo '--- Translating Stan model to C++ code ---'
	$(WINE) bin$(PATH_SEPARATOR)stanc$(EXE) $< --o=$@ --no_main

