#%ARCHIVE = libd2_vector.a
#%DEPENDS = angle math_extension float_traits

CXX = ../../bin/g++w
MAKE_ARCHIVE = ../../bin/make-archive
RM = rm

INCLUDES = -I../angle/include -I../math_extension/include \
	   -I../float_traits/include

CXXFLAGS = -g $(CCXXOPTFLAGS) $(CXXOPTFLAGS) $(INCLUDES) \
	      $(CCXXADDITIONALFLAGS) $(CXXADDITIONALFLAGS)
#PROFFLAGS = -pg -g3 -a -ggdb3

LDFLAGS = -lm $(PROFFLAGS) $(LDADDITIONALFLAGS)


all: d2_vector-performance-test

library: libd2_vector.a

library-lean: library
	$(RM) -f *.o d2_vector-test

d2_vector-test: d2_vector.h d2_vector.cc ../angle/angle.h
	$(CXX) -o d2_vector-test d2_vector.cc $(CXXFLAGS) $(LDFLAGS) \
		-DD2_VECTOR_TEST

d2_vector-performance-test: d2_vector-performance-test.o libd2_vector.a
	$(CXX) $(CXXFLAGS) -o d2_vector-performance-test \
		d2_vector-performance-test.o libd2_vector.a $(LDFLAGS) \
		$(PROFFLAGS)

libd2_vector.a: d2_vector.o
	$(MAKE_ARCHIVE) libd2_vector.a d2_vector.o

clean:
	$(RM) -f *.o *.gmon libd2_vector.a \
		 d2_vector-test d2_vector-performance-test

.PHONY: all library library-lean clean


##
d2_vector.o: d2_vector.h d2_vector_inline.cc d2_vector.cc ../angle/angle.h

D2_VECTOR_DEPEND_HEADERS = d2_vector.h d2_vector_inline.cc ../angle/angle.h
d2_vector-performance-test.o: $(D2_VECTOR_DEPEND_HEADERS)
