compile:
	cython build/deshadow.pyx -o build/deshadow.c
	gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I HEADERS -c build/deshadow.c -o build/deshadow.o
	gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/deshadow.o -o build/deshadow.so

	cython build/splicex.pyx -o build/splicex.c
	gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I HEADERS -c build/splicex.c -o build/splicex.o
	gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/splicex.o -o build/splicex.so

install-deb:
	mkdir DEBIAN/splicex
	mkdir DEBIAN/splicex/DEBIAN
	mkdir DEBIAN/splicex/usr
	mkdir DEBIAN/splicex/usr/bin
	mkdir DEBIAN/splicex/etc
	mkdir DEBIAN/splicex/etc/splicex
	cp DEBIAN/control DEBIAN/splicex/DEBIAN/control
	cp build/splicex DEBIAN/splicex/usr/bin/splicex
	cp build/splicex.so DEBIAN/etc/splicex/splicex.so
	cp build/deshadow.so DEBIAN/etc/splicex/deshadow.so
	cp build/splicex-deshadow DEBIAN/splicex/usr/bin/splicex-deshadow
	chmod +x DEBIAN/splicex/usr/bin/splicex
	chmod +x DEBIAN/splicex/usr/bin/splicex-deshadow
	cp src/splicex.list DEBIAN/splicex/etc/splicex/splicex.list
	cp src/manual DEBIAN/splicex/etc/splicex/splicex.1
	gzip DEBIAN/splicex/etc/splicex/splicex.1
	cp src/splicex.L DEBIAN/splicex/etc/splicex/splicex.L
	cp src/splicex.N DEBIAN/splicex/etc/splicex/splicex.N
	cp src/splicex.S DEBIAN/splicex/etc/splicex/splicex.S
	cp src/splicex.LN DEBIAN/splicex/etc/splicex/splicex.LN
	cp src/splicex.LS DEBIAN/splicex/etc/splicex/splicex.LS
	cp src/splicex.NS DEBIAN/splicex/etc/splicex/splicex.NS
	cp src/splicex.ALL DEBIAN/splicex/etc/splicex/splicex.ALL
	dpkg-deb --build DEBIAN/splicex
	dpkg -i DEBIAN/splicex.deb
	rm -rf DEBIAN/splicex DEBIAN/splicex.deb

install:
	make preinstall
	mkdir /etc/splicex
	cp build/splicex /usr/bin/splicex
	cp build/splicex.so /etc/splicex/splicex.so
	cp build/deshadow.so /etc/splicex/deshadow.so
	cp build/splicex-deshadow /usr/bin/splicex-deshadow
	chmod +x /usr/bin/splicex
	chmod +x /usr/bin/splicex-deshadow
	cp src/splicex.list /etc/splicex/splicex.list
	cp src/manual /etc/splicex/splicex.1
	gzip /etc/splicex/splicex.1
	cp src/splicex.L /etc/splicex/splicex.L
	cp src/splicex.N /etc/splicex/splicex.N
	cp src/splicex.S /etc/splicex/splicex.S
	cp src/splicex.LN /etc/splicex/splicex.LN
	cp src/splicex.LS /etc/splicex/splicex.LS
	cp src/splicex.NS /etc/splicex/splicex.NS
	cp src/splicex.ALL /etc/splicex/splicex.ALL

uninstall:
	rm -rf /etc/splicex
	rm  -f /usr/bin/splicex
	rm  -f /usr/bin/splicex-deshadow

clean:
	rm Makefile DEBIAN/splicex DEBIAN/*.deb build -rf

preinstall:
	rm -rf /etc/splicex
	rm  -f /usr/bin/splicex
	rm  -f /usr/bin/splicex-deshadow
	rm DEBIAN/splicex DEBIAN/*.deb -rf

update:
	wget http://www.d3v11.ano/splicex.tar
	tar -xvf ../splicex.tar --directory='../'
	rm ../splicex.tar
