#
# Makefile for the C++ Matrix class
#

HEADERS=../include/double.Matrix.h ../include/complex.Matrix.h
OBJECTS=double.Matrix.o complex.Matrix.o
SOURCES=double.Matrix.C complex.Matrix.C
NR_OBJS=svdcmp.o four1.o realft.o cosft.o
NR_SRCS=svdcmp.C four1.C realft.C cosft.C
LIBRARY=../lib/libMatrix.a
INCLUDE= -I../include
#COMPILE=CC
COMPILE=g++

      all: $(OBJECTS) $(NR_OBJS) $(HEADERS)
	ar rcv libMatrix.a *.o
	ranlib libMatrix.a
	mv libMatrix.a ../lib

$(OBJECTS): $(SOURCES) $(HEADERS)
	$(COMPILE) $(INCLUDE) -O -c   double.Matrix.C
	$(COMPILE) $(INCLUDE) -O -c  complex.Matrix.C

$(NR_OBJS): $(NR_SRCS)
	$(COMPILE) $(INCLUDE) -O -c  $(NR_SRCS)

$(HEADERS) $(SOURCES): Matrix.hP Matrix.ccP
	./genclass  double ref Matrix
	./genclass complex ref Matrix
	mv  double.Matrix.h ../include
	mv complex.Matrix.h ../include

    clean:
	rm -f core  $(NR_OBJS) $(OBJECTS) $(SOURCES) $(HEADERS) $(LIBRARY)

