# -*- Makefile -*-

.PHONY: all test

PATHDIR = ../..
PATHLIB = $(PATHDIR)/lib

# additional libs - we expect them to be required only for static builds
XLIBS = -lgfortran

CXX    = g++
CXXFLAGS = -I$(PATHDIR)/include -m64

# all: obstacle_c_shared obstacle_c_static
# Linux support for static linking is waning
all: obstacle_c_shared

obstacle_c_shared: obstacle_c.cpp cWrapper_Path.cpp
	$(CXX) $(CXXFLAGS) -o $@ $^         -L$(PATHLIB) -lpath50 -lm

obstacle_c_static: obstacle_c.cpp cWrapper_Path.cpp
	$(CXX) $(CXXFLAGS) -o $@ $^ $(PATHLIB)/libpath50.a $(XLIBS)

test:
	./obstacle_c_shared 6
	[ -x ./obstacle_c_static ] && ./obstacle_c_static 6 || true
	@echo "-------------------------------------------------------------"
	@echo "---- demo-size test passed: trying larger instances next ----"
	@echo "-------------------------------------------------------------"
	./obstacle_c_shared 20
	[ -x ./obstacle_c_static ] && ./obstacle_c_static 20 || true
