CC    = g++ -I/usr/include/c++/4.4
#FLAGS = -lm  -o
#CCFLAGS = -DLINUX -O2
FLAGS = -lm  -o
CCFLAGS = -DLINUX -O2
#-fno-stack-protector

SOURCE1 = mainDC.cpp GDB.cpp PDB.cpp SVD.cpp SVD2.cpp DC.cpp DB.cpp CmdArgParser.cpp MatVec.cpp DCListData.cpp DTensor.cpp SVDWorkData.cpp FitWorkData.cpp Anneal_opt.cpp LM.cpp powell.cpp RCSAListData.cpp
SOURCE2 = mainSubMaxDC.cpp GDB.cpp PDB.cpp SVD.cpp DC.cpp DB.cpp CmdArgParser.cpp MatVec.cpp DCListData.cpp DTensor.cpp SVDWorkData.cpp FitWorkData.cpp Anneal_opt.cpp LM.cpp SVD2.cpp powell.cpp RCSAListData.cpp

OBJECT1 = ${SOURCE1:.cpp=.o}
OBJECT2 = ${SOURCE2:.cpp=.o}

.cpp.o:
	$(CC) -c -g $< -o $@ $(CCFLAGS)


DC  : $(OBJECT1)
	$(CC) $(OBJECT1) $(FLAGS) DC++

maxSubDC : $(OBJECT2)
	$(CC) $(OBJECT2) $(FLAGS) maxSubDC

$(OBJECT1) : GDB.h PDB.h SVD.h SVD2.h DC.h DB.h CmdArgParser.h MatVec.h tools.h DCListData.h DTensor.h SVDWorkData.h FitWorkData.h Anneal_opt.h LM.h powell.h RCSAListData.h
$(OBJECT2) : GDB.h PDB.h SVD.h DC.h DB.h CmdArgParser.h MatVec.h tools.h DCListData.h DTensor.h SVDWorkData.h FitWorkData.h Anneal_opt.h LM.h SVD2.h powell.h RCSAListData.h

clean:
	rm -f $(OBJECT1)

show:
	echo $(SOURCE1)
