all : pph.out hypertree.out reduction.out

pph.out : pph.o string.o uniqueness.o
	g++ -Wall -o pph.out pph.o string.o uniqueness.o

pph.o : pph.cpp reduction.h hyper.h hypertree.h uniqueness.h
	g++ -Wall -c pph.cpp

reduction.out : reduction.o string.o
	g++ -Wall -o reduction.out reduction.o string.o

reduction.o : reduction.cpp reduction.h hyper.h String.h
	g++ -Wall -c reduction.cpp

hypertree.out : hypertree.o string.o
	g++ -Wall -o hypertree.out hypertree.o string.o
 
hypertree.o : hypertree.cpp String.h hyper.h reduction.h hypertree.h
	g++ -Wall -c hypertree.cpp

uniqueness.o : uniqueness.cpp String.h hyper.h uniqueness.h
	g++ -Wall -c uniqueness.cpp

string.o : string.cpp String.h
	g++ -Wall -c string.cpp
