all: pph.out pph_function.out

pph.out : tree.o stackar.o queue.o build_tree.o string.o pph_menu.o write_output1.o write_output2.o
	g++ -Wall -o pph.out tree.o stackar.o queue.o build_tree.o string.o pph_menu.o write_output1.o write_output2.o

pph_function.out : pph.o tree.o stackar.o queue.o build_tree.o string.o
	g++ -Wall -o pph_function.out pph.o tree.o stackar.o queue.o build_tree.o string.o

pph_menu.o : pph_menu.cpp write_output1.cpp write_output2.cpp pph.h
	g++ -Wall -c pph_menu.cpp

tree.o : tree.c fatal.h tree.h
	g++ -Wall -c tree.c

stackar.o : stackar.c fatal.h stackar.h
	g++ -Wall -c stackar.c

queue.o : queue.c fatal.h queue.h
	g++ -Wall -c queue.c

pph.o : pph.cpp tree.h queue.h build_tree.h
	g++ -Wall -c pph.cpp

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

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

write_output1 : write_output1.cpp pph.h
	g++ -Wall -c write_output1.cpp

write_output2 : write_output2.cpp pph.h
	g++ -Wall -c write_output2.cpp
