
.PHONY all: vnfsd wwinitrd wulfd

clean:
	make -C src/wulfd clean
	make -C src/thttpd clean
	make -C src/busybox clean
	make -C src/detect clean
	rm -rf wwinitrd/

wulfd:
	make -C src/wulfd

vnfsd:
	(cd src/; tar xvzf thttpd.tar.gz)
	(cd src/thttpd; ./configure)
	make -C src/thttpd

wwinitrd:
	(cd src/; tar xvzf busybox.tar.gz)
	cp src/configs/busybox.config src/busybox/.config
	while true; do echo; done | make -C src/busybox
	make -C src/busybox install
	make -C src/detect
	make -C src/mac-addr
	rm -rf wwinitrd
	mkdir wwinitrd/
	mkdir wwinitrd/proc
	mkdir wwinitrd/sys
	mkdir wwinitrd/etc
	mkdir wwinitrd/etc/init.d
	rm -f wwinitrd/linuxrc
	mkdir wwinitrd/dev/               2>/dev/null
	mkdir wwinitrd/dev/pts/           2>/dev/null
	find wwinitrd -name .svn -print | xargs rm -rf
	mv src/busybox/_install/* wwinitrd/
	cp -rap src/detect/etc wwinitrd/etc/detect
	> wwinitrd/etc/fstab
	install -m 755 lib/linuxrc               wwinitrd/
	install -m 755 sbin/dhcp-script              wwinitrd/sbin/
	install -m 755 sbin/rcS                     wwinitrd/etc/init.d/
	install -m 755 src/detect/detect wwinitrd/sbin/
	install -m 755 src/mac-addr/mac-addr wwinitrd/sbin/

install:
	mkdir -p $(DESTDIR)/var/warewulf/wwinitrd
	mkdir -p $(DESTDIR)/var/warewulf/syncs
	mkdir -p $(DESTDIR)/usr/sbin/
	mkdir -p $(DESTDIR)/usr/bin/
	mkdir -p $(DESTDIR)/usr/share/man/man8
	mkdir -p $(DESTDIR)/usr/share/man/man5
	mkdir -p $(DESTDIR)/usr/lib/warewulf/Warewulf
	mkdir -p $(DESTDIR)/usr/lib/warewulf/modules
	mkdir -p $(DESTDIR)/usr/share/warewulf/vnfs-scripts
	mkdir -p $(DESTDIR)/usr/share/warewulf/wwinitrd-extras
	mkdir -p $(DESTDIR)/usr/share/warewulf/images
	mkdir -p $(DESTDIR)/usr/share/warewulf/wol
	mkdir -p $(DESTDIR)/usr/share/warewulf/cgi
	mkdir -p $(DESTDIR)/etc/warewulf
	mkdir -p $(DESTDIR)/etc/sysconfig
	mkdir -p $(DESTDIR)/etc/rc.d/init.d/
	mkdir -p $(DESTDIR)/srv/vnfsd/
	mkdir -p $(DESTDIR)/etc/httpd/conf.d/
	install -m 755 src/thttpd/thttpd                   $(DESTDIR)/usr/sbin/vnfsd
	install -m 755 src/wulfd/wulfd                     $(DESTDIR)/usr/sbin/
	cp -rap wwinitrd/*                                 $(DESTDIR)/var/warewulf/wwinitrd/
	cp -rap etc/warewulf/*                             $(DESTDIR)/etc/warewulf/
	install -m 755 etc/rc.d/init.d/warewulf            $(DESTDIR)/etc/rc.d/init.d/
	install -m 755 etc/rc.d/init.d/wwnewd              $(DESTDIR)/etc/rc.d/init.d/
	install -m 755 etc/rc.d/init.d/wulfd               $(DESTDIR)/etc/rc.d/init.d/
	install -m 755 etc/rc.d/init.d/vnfsd               $(DESTDIR)/etc/rc.d/init.d/
	install -m 755 etc/rc.d/init.d/wwproxy             $(DESTDIR)/etc/rc.d/init.d/
	install -m 644 etc/sysconfig/wulfd                 $(DESTDIR)/etc/sysconfig/
	install -m 644 etc/sysconfig/wwproxy               $(DESTDIR)/etc/sysconfig/
	install -m 644 etc/sysconfig/vnfsd                 $(DESTDIR)/etc/sysconfig/
	ln -s /etc/sysconfig/wwproxy                       $(DESTDIR)/etc/warewulf/wwproxy.config
	install -m 644 etc/httpd/conf.d/warewulf.conf      $(DESTDIR)/etc/httpd/conf.d/
	install -m 755 bin/wwlist                          $(DESTDIR)/usr/bin/
	install -m 755 bin/wwstats                         $(DESTDIR)/usr/bin/
	install -m 755 bin/wwsummary                       $(DESTDIR)/usr/bin/
	install -m 755 bin/wwtop                           $(DESTDIR)/usr/bin/
	install -m 755 bin/wwps                            $(DESTDIR)/usr/bin/
	install -m 755 bin/wwmpirun                        $(DESTDIR)/usr/bin/
	install -m 755 sbin/warewulfd                      $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwproxy                        $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwinit                         $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwmkinitrd                     $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwnodes                        $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwnewd                         $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwvnfs                         $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwdebug                        $(DESTDIR)/usr/sbin/
	install -m 644 lib/Warewulf/Config.pm              $(DESTDIR)/usr/lib/warewulf/Warewulf/
	install -m 644 lib/Warewulf/PXE.pm                 $(DESTDIR)/usr/lib/warewulf/Warewulf/
	install -m 644 lib/Warewulf/Status.pm              $(DESTDIR)/usr/lib/warewulf/Warewulf/
	install -m 644 lib/Warewulf/Util.pm                $(DESTDIR)/usr/lib/warewulf/Warewulf/
	install -m 644 lib/wwinitrc                        $(DESTDIR)/usr/lib/warewulf/
	install -m 644 lib/wwpostrc                        $(DESTDIR)/usr/lib/warewulf/
	install -m 755 lib/modules/sync_defaults           $(DESTDIR)/usr/lib/warewulf/modules
	install -m 755 lib/modules/sync_nodegroup          $(DESTDIR)/usr/lib/warewulf/modules
	install -m 755 share/vnfs-scripts/caos2-vnfs.sh    $(DESTDIR)/usr/share/warewulf/vnfs-scripts/
	install -m 755 share/vnfs-scripts/centos3-vnfs.sh  $(DESTDIR)/usr/share/warewulf/vnfs-scripts/
	install -m 755 share/vnfs-scripts/centos4-vnfs.sh  $(DESTDIR)/usr/share/warewulf/vnfs-scripts/
	install -m 755 share/vnfs-scripts/rh9-vnfs.sh      $(DESTDIR)/usr/share/warewulf/vnfs-scripts/
	install -m 755 share/vnfs-scripts/tao-1.0-vnfs.sh  $(DESTDIR)/usr/share/warewulf/vnfs-scripts/
	install -m 755 share/vnfs-scripts/vnfs-remote.pl   $(DESTDIR)/usr/share/warewulf/vnfs-scripts
	install -m 755 share/wwinitrd-extras/Makefile      $(DESTDIR)/usr/share/warewulf/wwinitrd-extras
	install -m 755 share/wwinitrd-extras/README        $(DESTDIR)/usr/share/warewulf/wwinitrd-extras
	install -m 755 share/wwinitrd-extras/dolly.c       $(DESTDIR)/usr/share/warewulf/wwinitrd-extras
	install -m 755 share/wwinitrd-extras/fnn_router.c  $(DESTDIR)/usr/share/warewulf/wwinitrd-extras
	install -m 755 share/wwinitrd-extras/fnn_router.h  $(DESTDIR)/usr/share/warewulf/wwinitrd-extras
	install -m 755 share/wwinitrd-extras/peeraddr.c    $(DESTDIR)/usr/share/warewulf/wwinitrd-extras
	install -m 755 share/images/*                      $(DESTDIR)/usr/share/warewulf/images/
	install -m 755 share/wol/*                         $(DESTDIR)/usr/share/warewulf/wol/
	install -m 755 share/cgi/warewulf.cgi              $(DESTDIR)/usr/share/warewulf/cgi/
	install -m 755 share/cgi/template.html             $(DESTDIR)/usr/share/warewulf/cgi/
	pod2man man/wwinit -c "Warewulf cluster toolkit" -s 8 >     $(DESTDIR)/usr/share/man/man8/wwinit.8
	pod2man man/wwnodes -c "Warewulf cluster toolkit" -s 8 >    $(DESTDIR)/usr/share/man/man8/wwnodes.8
	pod2man man/wwvnfs -c "Warewulf cluster toolkit" -s 8 >     $(DESTDIR)/usr/share/man/man8/wwvnfs.8
	pod2man man/wwstats -c "Warewulf cluster toolkit" -s 8 >    $(DESTDIR)/usr/share/man/man8/wwstats.8
	pod2man man/wwtop -c "Warewulf cluster toolkit" -s 8 >      $(DESTDIR)/usr/share/man/man8/wwtop.8
	pod2man man/wwlist -c "Warewulf cluster toolkit" -s 8 >     $(DESTDIR)/usr/share/man/man8/wwlist.8
	pod2man man/wwmpirun -c "Warewulf cluster toolkit" -s 8 >   $(DESTDIR)/usr/share/man/man8/wwmpirun.8
	pod2man man/wwmkinitrd -c "Warewulf cluster toolkit" -s 8 > $(DESTDIR)/usr/share/man/man8/wwmkinitrd.8
	pod2man man/master.conf -c "Warewulf cluster toolkit" -s 5 > $(DESTDIR)/usr/share/man/man5/master.conf.5
	find $(DESTDIR) -name .svn -print | xargs rm -rf

