
.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 CVS -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
	mkdir -p $(DESTDIR)/usr/lib/warewulf/modules
	mkdir -p $(DESTDIR)/etc/warewulf
	mkdir -p $(DESTDIR)/etc/sysconfig
	mkdir -p $(DESTDIR)/etc/warewulf/vnfs
	mkdir -p $(DESTDIR)/etc/rc.d/init.d/
	mkdir -p $(DESTDIR)/srv/vnfsd/
	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/
	install -m 755 etc/rc.d/init.d/warewulfd           $(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 644 etc/sysconfig/wulfd                 $(DESTDIR)/etc/sysconfig/
	install -m 644 etc/warewulf/wwinitrd.config        $(DESTDIR)/etc/warewulf
	install -m 644 etc/warewulf/master.conf            $(DESTDIR)/etc/warewulf
	install -m 644 etc/warewulf/nodes.conf             $(DESTDIR)/etc/warewulf
	install -m 644 etc/warewulf/client.conf            $(DESTDIR)/etc/warewulf
	install -m 644 etc/warewulf/vnfs/excludes          $(DESTDIR)/etc/warewulf/vnfs
	install -m 644 etc/warewulf/vnfs/excludes-aggressive $(DESTDIR)/etc/warewulf/vnfs
	install -m 644 etc/warewulf/vnfs/includes          $(DESTDIR)/etc/warewulf/vnfs
	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 sbin/warewulfd                      $(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/wwvnfs                         $(DESTDIR)/usr/sbin/
	install -m 755 sbin/wwdebug                        $(DESTDIR)/usr/sbin/
	install -m 644 lib/Warewulf.pm                     $(DESTDIR)/usr/lib/warewulf/
	install -m 644 lib/logo.xpm                        $(DESTDIR)/usr/lib/warewulf/
	install -m 644 lib/wwinitrc                        $(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/
	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/wwmkinitrd -c "Warewulf cluster toolkit" -s 8 > $(DESTDIR)/usr/share/man/man8/wwmkinitrd.8
	pod2man man/nodes.conf -c "Warewulf cluster toolkit" -s 5 > $(DESTDIR)/usr/share/man/man5/nodes.conf.5
	pod2man man/master.conf -c "Warewulf cluster toolkit" -s 5 > $(DESTDIR)/usr/share/man/man5/master.conf.5

