include ../Configuration

EXE = gen-pose pose-stats hack-pose invert-pose tweak-pose pose-to-trans mrml-to-pose
TEST = mat-test rmat-test timing quaternion-test pose-test trans-3d-test

all: $(EXE)

vision medical: all

test: $(TEST)

OBJECTS = mat.o pose.o rmat.o nr.o quaternion.o zalloc.o trans-3d.o
NROBJS = nr/ludcmp.o nr/lubksb.o nr/nrutil.o

libvec-mat.$(SO): $(OBJECTS) nrobjs ../etc/etc.o
	cd nr; make all
	$(LINK_LIB) libvec-mat.$(SO) $(OBJECTS) $(NROBJS) ../etc/etc.o


.SUFFIXES:
.SUFFIXES: .o .cc .c 
.cc.o:
	g++ $(CFLAGS) -c $<
.c.o:
	gcc $(CFLAGS) -c $<
.o: 
	g++ $(LDFLAGS) -o $@ $@.o -L. -lvec-mat -lm

$(EXE) $(TEST): libvec-mat.$(SO)

neat:
	- rm -f *.o core *~ a.out *.bak $(EXE) $(TEST)

clean: neat
	- rm -f *.a
	- rm -f *.$(SO)*
	cd nr; make clean

BINDIR=../bin/$(HOSTTYPE)

install: $(EXE) libvec-mat.$(SO) 
	mv $(EXE) libvec-mat.$(SO) $(BINDIR)

depend: 
	g++ -MM $(CFLAGS) *.cc *.c > dependencies

include dependencies


###########################################################################
# old junk:
#	ld -shared -o libvec-mat.$(SO) $(OBJECTS) $(NROBJS) ../etc/etc.o
