#!/usr/bin/make
name="airoscript"
version="2.1.1"

# Binary install programs
INSTALL = install -c
INSTALLDATA = install -c -m 644

# Destdirs. 
	# prefixes
datarootdir=$(prefix)/share
execprefix=$(prefix)

	# main
bindir=$(execprefix)/sbin/
datadir=$(datarootdir)/$(name)/
docdir=$(datarootdir)/doc/$(name)
sysconfdir=$(prefix)/etc
localedir=$(datarootdir)/locale
mandir=$(datarootdir)/man
srcdir=./src

# Manpages

###############################################################################
#		                    install                                   #
###############################################################################

install: installdirs\
	 install-airoscript install-themes \
	 install-tools \
	 install-locale \
	 install-docs

installdirs:
	@$(SHELL) $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
        			$(docdir)/html/images $(sysconfdir) \
                                $(mandir)/man1 $(localedir) \
				$(datadir)/themes \
				$(datadir)/airosperl \
				$(docdir)/tools
	
install-airoscript:
	@echo "Installing airoscript"
	@$(INSTALL) $(srcdir)/airoscript.sh $(bindir)/airoscript
	@$(INSTALL) $(srcdir)/conffiles/airoscript.conf $(sysconfdir)
	@$(INSTALL) $(srcdir)/functions/*func* $(datadir)
	@$(INSTALLDATA) $(srcdir)/conffiles/screenrc $(sysconfdir)


install-themes:
	@echo "Installing themes"
	@$(INSTALLDATA) $(srcdir)/themes/*.theme $(datadir)/themes

	
install-tools:
	@echo "Installing tools:"
	@# Binary files	
	@#echo -e "\t airosconf"
	@#$(INSTALL) $(srcdir)/tools/airosconf.sh $(bindir)/airosconf
	@echo -e "\t airoscwordlist"
	@$(INSTALL) $(srcdir)/tools/airoscwordlist.pl $(bindir)/airoscwordlist
	@echo -e "\t airopdate"
	@$(INSTALL) $(srcdir)/tools/airopdate.sh $(bindir)/airopdate
	@#echo -e "\t airosperl"
	@#$(INSTALL) $(srcdir)/tools/airosperl/airosperl.pl\
	 #$(bindir)/airosperl.pl
	
	@# Data files.
	@#$(INSTALLDATA) $(srcdir)/conffiles/airosperl.conf $(sysconfdir)
	@#$(INSTALLDATA) $(srcdir)/tools/airosperl/airosperl.glade $(datadir)
	
	@# Airosperl configuration
	@#$(SHELL) $(srcdir)/tools/airosconf.sh --set --to-airosperl apppath\
	 #"$(datadir)" --force-yes


install-docs: install-main-docs install-manpages

install-main-docs:
	@ echo "Installing documentation"
	@ echo -e "\t Installing standard documentation"
	@ for i in doc/* ; do if [ -d $$i ] && [ $$i != "." ] && [ $$i != ".." ]; then make -s -C $$i docdir="$(docdir)" INSTALLDATA="$(INSTALLDATA)" ; else $(INSTALLDATA) $$i $(docdir) ;fi ; done

install-manpages: 
	@# This will install any manpage on manpages dir. (Just man1 manpages)
	@ echo -e "\t Installing manpages"
	@for i in $(srcdir)/manpages/*.1 ; do $(INSTALLDATA) $$i $(mandir)/man1/ ; done


###############################################################################
#		                    locale                                   #
###############################################################################
generate-locale:
	@ echo "Installing locales"
	@for i in $(srcdir)/locale/* ; do \
		if [ -d $$i ] && [ $$i != "." ] && [ $$i != ".." ]; then \
			make -s -C $$i &> /dev/null ; \
		fi ; \
	done

 
install-locale: generate-locale
	@for i in $(srcdir)/locale/* ; do \
		if [ -d $$i ] && [ $$i != "." ] && [ $$i != ".." ]; then \
			make -s -C $$i install localedir="$(localedir)" INSTALLDATA="$(INSTALLDATA)" &>/dev/null ; \
		fi ; \
	done

###############################################################################
#		                    uninstall                                 #
###############################################################################

uninstall: uninstall-binary uninstall-data uninstall-docs uninstall-locale
	@echo "Uninstalled succesfully"

uninstall-binary:
	@rm  $(bindir)/airoscript
	@rm $(bindir)/airopdate

uninstall-data: uninstall-locale
	@rm $(sysconfdir)/airosperl.conf $(sysconfdir)/airoscript.conf
	@rm -r $(datadir)

uninstall-docs:
	@rm -r $(docdir)

uninstall-locale:
	@for i in $(srcdir)/locale/* ; do \
		if [ -d $$i ] && [ $$i != "." ] && [ $$i != ".." ]; then \
			make -s -C $$i uninstall localedir=$(localedir) ; \
		fi ; \
	done
	

###############################################################################
#		                    Patch                                 #
###############################################################################

slackware: install
	@echo "Applying wifi(way/slax) patch"
	@patch $(DESTDIR)/etc/airoscript.conf \
	$(CURDIR)/src/patches/wifislax.conf.patch

debian: install
	@echo "
		Applying debian config patch 
		(asuming your aircrack-ng is from debian packaging, 
		if not, don't call make debian, just call make
		"
	
	@patch $(DESTDIR)/etc/airoscript.conf \
	 $(CURDIR)/src/patches/debian.conf.patch

all: install 

.PHONY: all install uninstall slackware debian-package airosperl locale manpages
