PREFIX      = $(DESTDIR)/usr/local
BINDIR      = $(PREFIX)/bin
DATAROOTDIR = $(PREFIX)/share
DOCDIR      = $(DATAROOTDIR)/doc/hawaiisim
MANDIR      = $(DATAROOTDIR)/man
MAN1DIR     = $(MANDIR)/man1
BASHCOMPDIR = /etc/bash_completion.d

CFLAGS      = -Wall -Wextra -Werror -O3 -march=native -ffast-math -std=gnu99
LDFLAGS     = -lm -ltiff -lrt

WWW_DIR     = hawaiisim

all ::	hawaiisim

hawaiisim: 
	$(CC) $(CFLAGS) -o src/hawaiisim src/hawaiisim.c $(LDFLAGS)
	strip src/hawaiisim
	bash man/hawaiisim.1.sh

install:
	@[ `whoami` = root ] || (echo "Error, please be root"; exit 1)

	mkdir -p $(BINDIR) $(MAN1DIR) $(DOCDIR)

	install        src/hawaiisim                  $(BINDIR)
	install  -m644 src/hawaiisim.bashcompletion   $(BASHCOMPDIR)/hawaiisim
	install  -m644 README.txt LICENSE.txt index.html $(DOCDIR)
	install  -m644 man/*.bz2                      $(MAN1DIR)
	cp -r          examples/*                     $(DOCDIR)

	@/bin/echo -e "\nSuccess. Hawaiisim is now installed."

test_image:
	@echo "creating a test image. (uses cam2tiff, and display from ImageMagick)"
	 ./src/hawaiisim -xq -t -o examples/test.cam
	cam2tiff examples/test.cam examples/test.tiff && display examples/test.tiff

demo:
	@echo "running demonstration. Uses pb_parse and cam2tiff."
	pb_parse -i examples/frame-reset-read.pbsrc -xg
	./src/hawaiisim -i examples/frame-reset-read.pbsim -xqo examples/test.cam -a hum -e debug
	cam2tiff examples/test.cam examples/test.tiff && display examples/test.tiff

.PHONY: www
www:
	rm -rf   www .www
	mkdir -p .www/$(WWW_DIR)/$(WWW_DIR)
	cp -r *  .www/$(WWW_DIR)/$(WWW_DIR)
	mv       .www www	
	make -C  www/$(WWW_DIR)/$(WWW_DIR) clean
	tar -czf www/$(WWW_DIR)/$(WWW_DIR).tgz -C www/$(WWW_DIR) $(WWW_DIR)
	make -C  www/$(WWW_DIR)/$(WWW_DIR)
	cp       www/$(WWW_DIR)/$(WWW_DIR)/man/*.html  www/$(WWW_DIR)
	rm -rf   www/$(WWW_DIR)/$(WWW_DIR)
	cp       index.html README.txt www/$(WWW_DIR)/
	@echo "Now, upload www/$(WWW_DIR)/ and link to www/$(WWW_DIR)/index.html"

clean:
	rm -f examples/*.dat examples/*.cam examples/*.tiff examples/frame-reset-read.pbsim
	rm -f src/hawaiisim
	rm -f man/*.bz2 man/*.html
	rm -rf www

uninstall:
	@[ `whoami` = root ] || (echo "Error, please be root"; exit 1)

	rm -rf $(DOCDIR)
	rm -f  $(BINDIR)/hawaiisim
	rm -f  $(BASHCOMPDIR)/hawaiisim
	rm -f  $(MAN1DIR)/hawaiisim.1.bz2
