ROOTDIR=..
CFLAGS=-g `xml2-config --cflags` -I$(ROOTDIR)/C++/include
CXXFLAGS=-g `xml2-config --cflags` -I$(ROOTDIR)/C++/include
LDFLAGS=`xml2-config --libs`
SRC=CSP-verifier.cc CSPInstanceInformation.cc CSP-normalizer.cc

all: CSP-verifier CSPInstanceInformation CSP-normalizer

test: test-information test-verifier

test-information: CSPInstanceInformation
	for f in $(ROOTDIR)/tests/parser/*.xml ; do echo $$f ; ./CSPInstanceInformation $$f ; done

test-verifier: CSP-verifier
	for f in $(ROOTDIR)/tests/verifier/*.xml ; do echo $$f ; cat $$f.sol | ./CSP-verifier --list $$f ; done


CSP-verifier: CSP-verifier.o
	g++ $(LDFLAGS) -o CSP-verifier CSP-verifier.o

MCSP-verifier: CSP-verifier
	cp CSPverifier MCSP-verifier

CSPInstanceInformation: CSPInstanceInformation.o
	g++ $(LDFLAGS) -o CSPInstanceInformation CSPInstanceInformation.o

CSP-normalizer: CSP-normalizer.o
	g++ $(LDFLAGS) -o CSP-normalizer CSP-normalizer.o

%.o: %.cc
	g++ $(CXXFLAGS) -Dtmpdebug -c $< -o $@

# automatic dependencies
%.d: %.cc
	$(SHELL) -ec '$(CC) -MM $(CFLAGS) $< \
	| sed -e '\''s@$*\.o[ :]*@$@ &@g'\'' > $@'

include $(SRC:.cc=.d) 

clean:
	rm -f $(SRC:.cc=.d) $(SRC:.cc=.o) $(SRC:.cc=)
