all:
	gcc -c exit.c -o exit.o
	gcc -c conditions.c -o conditions.o
	gcc -c xalloc.c -o xalloc.o
	gcc -c getstats.c -o getstats.o
	make -C parseopt/ all
	gcc -c mainloop.c -o mainloop.o
	gcc -c log.c -o log.o
	gcc -c sysfence.c -o sysfence.o
	gcc sysfence.o exit.o xalloc.o getstats.o conditions.o mainloop.o log.o \
		parseopt/lex.o parseopt/parse.o parseopt/confread.o -lpthread \
		-o sysfence
	strip sysfence
debug:
	gcc -DDEBUG -ggdb -c exit.c -o exit.o
	gcc -DDEBUG -ggdb -c conditions.c -o conditions.o
	gcc -DDEBUG -ggdb -c xalloc.c -o xalloc.o
	gcc -DDEBUG -ggdb -c getstats.c -o getstats.o
	make -C parseopt/ debug
	gcc -DDEBUG -ggdb -c mainloop.c -o mainloop.o
	gcc -DDEBIG -ggdb -c log.c -o log.o
	gcc -DDEBUG -ggdb -c sysfence.c -o sysfence.o
	gcc -ggdb sysfence.o exit.o xalloc.o getstats.o conditions.o mainloop.o log.o \
		parseopt/lex.o parseopt/parse.o parseopt/confread.o -lpthread \
		-o sysfence
clean:
	make -C parseopt/ clean
	rm -f *.o sysfence
install:
	install -d $(DESTDIR)$(PREFIX)/bin
	install -d $(DESTDIR)/usr/share/doc/sysfence
	install -m 0755 sysfence $(DESTDIR)$(PREFIX)/bin
	install -m 0644 README doc/example.conf $(DESTDIR)/usr/share/doc/sysfence
