include ../../cpp/config.mak
include ../config.mak

#CXXFLAGS+=-DNO_CTL
CXXFLAGS+=-DNEED_CHILDENV	# Needed if your CTL does not export setChildEnv()
CFLAGS=$(CXXFLAGS)

CTLMEX=./ctlmex.py
MEX=./mex.sh
include mex.mak

TARGETS=mexhelper.o add.mexglx add2.mexglx foo.mexglx foo2.mexglx persist.mexglx \
	test1.mexglx use.mexglx explore.mexglx test_mexhelper.mexglx fun_test mat_test \
	lineq lineq_test lineq_mlab.mexglx lineq_test2 matrix matrix_mlab.mexglx
#TARGETS+=lineq_mlab.cpp

.PHONY: all clean gen run

all: $(TARGETS)

clean:
	rm -rf fun_mcr libfun_mcr
	rm -f *.mexglx *.o *.ctf *.exports mcc* *mcc_component_data.c fun_main.c \
		fun_test_main.c libfun* fun_test fun *.pyc mat_test lineq lineq_test \
		log/* lineq_test2 matrix

mat_test.o: gauss.h mexhelper.h

mexhelper.o: mexhelper.h

libfun.so: fun.m
	$(MCC) -g -W cpplib:libfun -T link:lib $^

fun: fun.m
	$(MCC) -m $^

fun_test: fun_test.cpp libfun.so
	$(MCC) -g -W none -T link:exe $^ -o $@

gen:
	@./gen.sh

lineq_test2: lineq_test2.o ./lineq_mlab.so ./libfun.so

lineq.o: lineq.cpp gauss.h

run: all
	./lineq_test2
