https://github.com/ITensor/ITensor
Raw File
Tip revision: 7c0a20602668796c706c5911d4203582d6bed9e6 authored by Miles Stoudenmire on 22 October 2013, 11:46:06 UTC
Fixed complex case of tieIndices, fixes #46.
Tip revision: 7c0a206
Makefile
include ../this_dir.mk
include ../options.mk
include unittest_options.mk
################################################################

REPORT_LEVEL=confirm
#REPORT_LEVEL=detailed

HEADERS=test.h
SOURCES = test.cc
SOURCES+= matrix_test.cc
SOURCES+= real_test.cc
SOURCES+= index_test.cc
SOURCES+= itensor_test.cc
SOURCES+= itsparse_test.cc
SOURCES+= combiner_test.cc
SOURCES+= iqindex_test.cc
SOURCES+= iqcombiner_test.cc
SOURCES+= iqtensor_test.cc
SOURCES+= mps_test.cc
SOURCES+= mpo_test.cc
SOURCES+= eigensolver_test.cc
SOURCES+= regression_test.cc
SOURCES+= svdalgs_test.cc
SOURCES+= iqtsparse_test.cc
SOURCES+= webpage_test.cc
SOURCES+= localmpo_test.cc
SOURCES+= option_test.cc
SOURCES+= indexset_test.cc

##################################################################

OBJECTS=$(patsubst %.cc,%.o, $(SOURCES))
GOBJECTS=$(patsubst %.cc,.debug_objs/%.o, $(SOURCES))

#Define Flags ----------
CCFLAGS= -I. $(ITENSOR_INCLUDEFLAGS) $(CPPFLAGS) $(OPTIMIZATIONS)
CCGFLAGS= -I. $(ITENSOR_INCLUDEFLAGS) -I$(BOOST_UNITTEST_INCLUDEDIR) $(DEBUGFLAGS)
LIBFLAGS=-L$(ITENSOR_LIBDIR) -L$(BOOST_UNITTEST_LIBDIR) $(BOOST_UNITTEST_LIBFLAGS) $(ITENSOR_LIBFLAGS)
LIBGFLAGS=-L$(ITENSOR_LIBDIR) -L$(BOOST_UNITTEST_LIBDIR) $(BOOST_UNITTEST_LIBFLAGS) $(ITENSOR_LIBGFLAGS)

#Rules ------------------

%.o: %.cc $(ITENSOR_LIBS)
	$(CCCOM) -c $(CCFLAGS) -o $@ $<

.debug_objs/%.o: %.cc $(ITENSOR_GLIBS)
	$(CCCOM) -c $(CCGFLAGS) -o $@ $<

#Targets -----------------

run: test-g
	@echo 
	@echo Running all tests...
	@echo 
	@./test-g --report_level=$(REPORT_LEVEL)

growl:
	@make run && growlnotify -m "Tests Passed" || growlnotify -m "Test Failed"

build: test

debug: test-g

test: test.o $(ITENSOR_LIBS) $(OBJECTS)
	$(CCCOM) $(CCFLAGS) $(OBJECTS) -o test $(LIBFLAGS)

test-g: mkdebugdir .debug_objs/test.o $(ITENSOR_GLIBS) $(GOBJECTS)
	$(CCCOM) $(CCGFLAGS) $(GOBJECTS) -o test-g $(LIBGFLAGS)


mkdebugdir:
	mkdir -p .debug_objs

clean:
	rm -fr *.o .debug_objs test test-g

LIBHEADERS=$(ITENSOR_INCLUDEDIR)/matrix.h
matrix_test.o: $(LIBHEADERS)
.debug/matrix_test.o: $(LIBHEADERS)

LIBHEADERS=$(ITENSOR_INCLUDEDIR)/real.h
real_test.o: $(LIBHEADERS)
.debug/real_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/index.h
index_test.o: $(LIBHEADERS)
.debug_objs/index_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/itensor.h
itensor_test.o: $(LIBHEADERS)
.debug_objs/itensor_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/itsparse.h
itsparse_test.o: $(LIBHEADERS)
.debug_objs/itsparse_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/combiner.h
combiner_test.o: $(LIBHEADERS)
.debug_objs/combiner_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/iqcombiner.h
iqcombiner_test.o: $(LIBHEADERS)
.debug_objs/iqcombiner_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/iqtsparse.h
iqtensor_test.o: $(LIBHEADERS)
.debug_objs/iqtensor_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/iqtsparse.h
iqtsparse_test.o: $(LIBHEADERS)
.debug_objs/iqtsparse_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/mps.h
mps_test.o: $(LIBHEADERS)
.debug_objs/mps_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/mpo.h
mpo_test.o: $(LIBHEADERS)
.debug_objs/mpo_test.o: $(LIBHEADERS)

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/svdalgs.h
svdalgs_test.o: $(LIBHEADERS)
.debug_objs/svdworker_test.o: $(LIBHEADERS)

regression_test.o: $(LIBHEADERS)
.debug_objs/regression_test.o: $(LIBHEADERS)

eigensolver_test.o: $(ITENSOR_INCLUDEDIR)/eigensolver.h
.debug_objs/eigensolver_test.o: $(ITENSOR_INCLUDEDIR)/eigensolver.h

webpage_test.o: $(ITENSOR_INCLUDEDIR)/iqtensor.h
.debug_objs/webpage_test.o: $(ITENSOR_INCLUDEDIR)/iqtensor.h

LIBHEADERS+= $(ITENSOR_INCLUDEDIR)/localmpo.h
localmpo_test.o: $(LIBHEADERS)
.debug_objs/localmpo_test.o: $(LIBHEADERS)

back to top