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

CFLAGS      =  -Wall -Wextra -Werror -O3 -march=native
LDFLAGS     = -lm

WWW_DIR     = maths

all :: genffttest genlinregtest example_fft example_linreg fftplot linregplot dataplot dat2wav decimate

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

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

fftplot :
	bash man/fftplot.1.sh

linregplot :
	bash man/linregplot.1.sh

dataplot :
	bash man/dataplot.1.sh

dat2wav :
	bash man/dat2wav.1.sh

decimate :
	bash man/decimate.1.sh

example_fft: genffttest
	./src/genffttest --sincos examples/sincos.dat
	./src/genffttest --cosines examples/cosines.dat
	./src/genffttest --alias examples/alias.dat
	./src/genffttest --slopes examples/slopes.dat
	./src/genffttest --spectrum examples/spectrum.dat
	./src/genffttest --noise examples/noise.dat
	./src/genffttest --dchum examples/dchum.dat

example_linreg:
	./src/genlinregtest --long examples/lrlong.dat
	./src/genlinregtest --medium examples/lrmedium.dat
	./src/genlinregtest --short examples/lrshort.dat

examples: example_fft example_linreg

.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 src/genffttest examples/* man/*.bz2 man/*.html
	rm -rf www

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

	mkdir -p $(BINDIR) $(MAN1DIR) $(DOCDIR)
	install        src/genffttest  src/genlinregtest   $(BINDIR)
	install        src/fftplot.py                      $(BINDIR)/fftplot
	install        src/linregplot.py                   $(BINDIR)/linregplot
	install        src/dataplot.py                     $(BINDIR)/dataplot
	install        src/dat2wav.py                      $(BINDIR)/dat2wav
	install        src/decimate.sh                     $(BINDIR)/decimate
	install  -m644 src/fftplot.bashcompletion          $(BASHCOMPDIR)/fftplot
	install  -m644 man/*bz2                            $(MAN1DIR)
	install  -m644 LICENSE.txt README.txt index.html   $(DOCDIR)

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

	rm -f $(BINDIR)/genffttest
	rm -f $(BINDIR)/fftplot
	rm -f $(BINDIR)/genlinregtest
	rm -f $(BINDIR)/linregplot
	rm -f $(BINDIR)/dataplot
	rm -f $(BINDIR)/dat2wav
	rm -f $(BASHCOMPDIR)/fftplot
	rm -f $(BINDIR)/decimate
	rm -f $(MAN1DIR)/fftplot.1.bz2
	rm -f $(MAN1DIR)/genffttest.1.bz2 
	rm -f $(MAN1DIR)/linregplot.1.bz2 
	rm -f $(MAN1DIR)/genlinregtest.1.bz2 
	rm -f $(MAN1DIR)/dataplot.1.bz2 
	rm -f $(MAN1DIR)/dat2wav.1.bz2
	rm -f $(MAN1DIR)/decimate.1.bz2
	rm -rf $(DOCDIR)
