include nessus.tmpl

all: $(CLIENT) server plugins

client: $(LIBCIPHERDEP) libs/libnessus.so bin/nessus
server: $(LIBCIPHERDEP) libs/libhosts_gatherer.a libs/libnessus.so \
	libs/libpcap-nessus.so bin/nessusd plugins

bin/nessus :
	cd src/nessus && $(MAKE)

bin/nessusd :
	cd src/nessusd && $(MAKE)

libs/libhosts_gatherer.a:
	cd src/hosts_gatherer && $(MAKE)

libs/libnessus.so :
	cd src/nessuslib && $(MAKE)
	
libs/libpcap-nessus.so :
	cd src/libpcap && $(MAKE) 
	
libs/libnessusc.so :
	cd src/cipher && $(MAKE)

plugins :
	cd src/plugins && ./make_world

client-install : $(CLIENT)
	$(INSTALL) -d -o root -m $(REPORTSDIRMODE) ${exec_prefix}/bin
	$(INSTALL) -c -o root -m $(CLIENTMODE) bin/nessus ${exec_prefix}/bin/nessus

server-install : server
	$(INSTALL) -d -o root -m $(REPORTSDIRMODE) ${exec_prefix}/bin
	$(INSTALL) -c -o root -m $(SERVERMODE) bin/nessusd ${exec_prefix}/bin/nessusd
	
cipher-install : $(LIBCIPHERDEP)
	$(INSTALL) -d -o root -m $(REPORTSDIRMODE) ${exec_prefix}/lib
	cd src/cipher && make install
	
install : server $(CLIENT_INSTALL) $(CIPHER_INSTALL) server-install plugins
	$(INSTALL) -d -o root -m $(REPORTSDIRMODE) ${exec_prefix}/lib
	cd src/nessuslib && make install
	cd src/libpcap && make install
	cd src/hosts_gatherer && make install
	$(INSTALL) -c -o root -m $(CLIENTMODE) bin/nsr2html ${prefix}/bin/nsr2html
	$(INSTALL) -d -o root -m $(PLUGINSDIRMODE) ${exec_prefix}/nessus/plugins
	$(INSTALL) -d -o root -m $(REPORTSDIRMODE) ${prefix}/nessus/reports
	for plugs in bin/plugins/*.nes ; do \
	$(INSTALL) -c -o root -m $(PLUGINSMODE) $$plugs \
	${exec_prefix}/nessus/plugins/ ; done
	$(INSTALL) -c -o root -m $(PLUGINSMODE) doc/Manual ${prefix}/nessus/Manual
	$(INSTALL) -c -o root -m $(PLUGINSMODE) doc/queso.conf ${prefix}/nessus/queso.conf
	$(INSTALL) -d ${prefix}/man/man1
	$(INSTALL) -c -o root -m $(PLUGINSMODE) doc/nessus.1 ${prefix}/man/man1/nessus.1
	@echo "Nessus is now properly installed on your system"
        
uninstall :
	rm -f ${prefix}/lib/libnessus.*
	rm -f ${prefix}/lib/libnessusc.*
	rm -f ${prefix}/lib/libpcap-nessus.*
	rm -f ${prefix}/bin/nessus ${prefix}/bin/nessusd
	rm -fr ${prefix}/nessus
	rm -f ${prefix}/man/man1/nessus.1
        
clean:
	cd src/cipher && ${MAKE} clean
	cd src/hosts_gatherer && ${MAKE} clean	
	cd src/nessus && ${MAKE} clean
	cd src/nessuslib && ${MAKE} clean
	cd src/nessusd && ${MAKE} clean
	cd src/libpcap && ${MAKE} clean
	cd src/plugins && ./make_world clean
	rm -f libs/lib*
	rm -f $(bindir)/nessusd  $(bindir)/nessus
	rm -f src/nessusd/OBJ/nessusd
	rm -f src/nessus/OBJ/nessus
	rm -f src/nessusd/OBJ/*.o
	rm -f src/nessus/OBJ/*.o
	rm -f $(bindir)/plugins/*.nes
      
distclean: clean
	cd src/libpcap && ${MAKE} distclean
	rm -f ${rootdir}/include/config.h libtool config.cache config.status config.log
	rm -f nessus.tmpl
	rm -f $(bindir)/nessus*
	

.PHONY: bin/nessus bin/nessusd libs/libhosts_gatherer.a libs/libnessus.so
