all:
	@if [ ! -f include/tpcc.h ]; then \
		echo "Can't find include/tpcc.h"; \
		false; \
	fi
	@if [ ! -f SOURCES/clitran.c ]; then \
		echo "Can't find SOURCES/clitran.c "; \
		false; \
	fi
	@echo "Compling clitran.c ..."; 
	gcc SOURCES/clitran.c -o bin/clien -lm;
	@if [ ! -f SOURCES/tm.c ]; then \
		echo "Can't find SOURCES/tm.c "; \
		false; \
	fi
	@echo "Compiling tm.c ..."; 
	ecpg SOURCES/tm.c -o SOURCES/pru.c;
	gcc -I /usr/local/pgsql/include -o bin/tm SOURCES/pru.c -L /usr/local/pgsql/lib  -lecpg -lpq -lm;
	@if [ ! -f SOURCES/bench.c ]; then \
		echo "Can't find SOURCES/bench.c "; \
		false; \
	fi 
	@echo "Compiling bench.c ..."; 
	ecpg SOURCES/bench.c -o SOURCES/pru.c;
	gcc -I /usr/local/pgsql/include -o bin/bench SOURCES/pru.c -L /usr/local/pgsql/lib -lecpg -lpq -lm;
	@if [ ! -f SOURCES/check.c ]; then \
		echo "Can't find SOURCES/check.c "; \
		false; \
	fi 
	@echo "Compiling check.c ..."; 
	ecpg SOURCES/check.c -o SOURCES/pru.c;
	gcc -I /usr/local/pgsql/include -o bin/check SOURCES/pru.c -L /usr/local/pgsql/lib -lecpg -lpq -lm;
	@rm SOURCES/pru.c;
	@if [ ! -f SOURCES/vacuum.c ]; then \
		echo "Can't find SOURCES/vacuum.c "; \
		false; \
	fi 
	@echo "Compiling vacuum.c ..."; 
	ecpg SOURCES/vacuum.c -o SOURCES/pru.c;
	gcc -I /usr/local/pgsql/include -o bin/vacuum SOURCES/pru.c -L /usr/local/pgsql/lib -lecpg -lpq -lm;
	@rm SOURCES/pru.c;
	@echo "Compilation completed."; 
install:
	@if [ -d /usr/share ] ; then \
		if [ ! -d /usr/share/bin/ ]; then \
			mkdir /usr/share/bin/; \
		fi; \
		cp bin/check /usr/share/bin; \
		cp bin/tm /usr/share/bin; \
		cp bin/clien /usr/share/bin; \
		cp bin/bench /usr/share/bin; \
		cp bin/vacuum /usr/share/bin; \
		if [ ! -d /usr/share/var ]; then \
			mkdir /usr/share/var; \
		fi; \
		if [ ! -d /usr/share/var/tpcc ]; then \
			mkdir /usr/share/var/tpcc; \
		fi; \
	else \
		echo "Error: directory /usr/share not exists"; \
		false; \
	fi;
	@if [ -d /usr/share/man/man1 ] ; then \
		cp man/check.1.gz /usr/share/man/man1; \
		cp man/tm.1.gz /usr/share/man/man1; \
		cp man/clien.1.gz /usr/share/man/man1; \
		cp man/bench.1.gz /usr/share/man/man1; \
		cp man/vacuum.1.gz /usr/share/man/man1; \
	else \
		echo "Error: directory /usr/share/man/man1 not exists"; \
		false; \
	fi;

uninstall:
	@if [ -f /usr/share/bin/check ]; then \
		"rm" /usr/share/bin/check; \
	else \
		echo "Error: file /usr/share/check can't be removed"; \
	fi
	@if [ -f /usr/share/bin/tm ]; then \
		"rm" /usr/share/bin/tm; \
	else \
		echo "Error: file /usr/share/tm can't be removed"; \
	fi
	@if [ -f /usr/share/bin/clien ]; then \
		"rm" /usr/share/bin/clien; \
	else \
		echo "Error: file /usr/share/bench can't be removed"; \
	fi
	@if [ -f /usr/share/bin/bench ]; then \
		"rm" /usr/share/bin/bench; \
	else \
		echo "Error: file /usr/share/bench can't be removed"; \
	fi
	@if [ -f /usr/share/bin/vacuum ]; then \
		"rm" /usr/share/bin/vacuum; \
	else \
		echo "Error: file /usr/share/vacuum can't be removed"; \
	fi
	@if [ -f /usr/share/man/man1/check.1.gz ]; then \
		"rm" /usr/share/man/man1/check.1.gz; \
	else \
		echo "Error: file /usr/share/check can't be removed"; \
	fi
	@if [ -f /usr/share/man/man1/tm.1.gz ]; then \
		"rm" /usr/share/man/man1/tm.1.gz; \
	else \
		echo "Error: file /usr/share/tm can't be removed"; \
	fi
	@if [ -f /usr/share/man/man1/clien.1.gz ]; then \
		"rm" /usr/share/man/man1/clien.1.gz; \
	else \
		echo "Error: file /usr/share/bench can't be removed"; \
	fi
	@if [ -f /usr/share/man/man1/bench.1.gz ]; then \
		"rm" /usr/share/man/man1/bench.1.gz; \
	else \
		echo "Error: file /usr/share/bench can't be removed"; \
	fi
	@if [ -f /usr/share/man/man1/vacuum.1.gz ]; then \
		"rm" /usr/share/man/man1/vacuum.1.gz; \
	else \
		echo "Error: file /usr/share/vacuum can't be removed"; \
	fi
clean:
	@if [ -f bin/bench ]; then \
		rm bin/bench; \
	fi
	@if [ -f bin/tm ]; then \
		rm bin/tm; \
	fi
	@if [ -f bin/clien ]; then \
		rm bin/clien; \
	fi
	@if [ -f bin/check ]; then \
		rm bin/check; \
	fi
	@if [ -f bin/vacuum ]; then \
		rm bin/vacuum; \
	fi
