[Cluster-devel] cluster ./Makefile ./configure ccs/Makefile cc ...

fabbione at sourceware.org fabbione at sourceware.org
Mon Apr 30 11:23:00 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	fabbione at sourceware.org	2007-04-30 12:22:23

Modified files:
	.              : Makefile configure 
	ccs            : Makefile 
	ccs/ccs_test   : Makefile 
	ccs/ccs_tool   : Makefile 
	ccs/daemon     : Makefile 
	ccs/lib        : Makefile 
	ccs/man        : Makefile 
	cman           : Makefile 
	cman/cman_tool : Makefile 
	cman/daemon    : Makefile 
	cman/init.d    : Makefile 
	cman/lib       : Makefile 
	cman/man       : Makefile 
	cman/qdisk     : Makefile 
	cman/tests     : Makefile 
	dlm/lib        : Makefile 
	fence          : Makefile 
	fence/agents   : Makefile 
	fence/agents/apc: Makefile 
	fence/agents/bladecenter: Makefile 
	fence/agents/brocade: Makefile 
	fence/agents/bullpap: Makefile 
	fence/agents/drac: Makefile 
	fence/agents/egenera: Makefile 
	fence/agents/ilo: Makefile 
	fence/agents/ipmilan: Makefile 
	fence/agents/manual: Makefile 
	fence/agents/mcdata: Makefile 
	fence/agents/rps10: Makefile 
	fence/agents/rsa: Makefile 
	fence/agents/rsb: Makefile 
	fence/agents/sanbox2: Makefile 
	fence/agents/scsi: Makefile 
	fence/agents/vixel: Makefile 
	fence/agents/wti: Makefile 
	fence/agents/xvm: Makefile vm_states.c 
	fence/fence_node: Makefile 
	fence/fence_tool: Makefile 
	fence/fenced   : Makefile 
	fence/man      : Makefile 
	gfs            : Makefile 
	gfs/gfs_debug  : Makefile 
	gfs/gfs_edit   : Makefile 
	gfs/gfs_fsck   : Makefile 
	gfs/gfs_grow   : Makefile 
	gfs/gfs_jadd   : Makefile 
	gfs/gfs_mkfs   : Makefile 
	gfs/gfs_quota  : Makefile layout.c 
	gfs/gfs_tool   : Makefile 
	gfs/init.d     : Makefile 
	gfs/libgfs     : Makefile 
	gfs/man        : Makefile 
	gfs-kernel/src/gfs: Makefile 
	gfs2           : Makefile 
	gfs2/convert   : Makefile 
	gfs2/edit      : Makefile 
	gfs2/fsck      : Makefile 
	gfs2/init.d    : Makefile 
	gfs2/libgfs2   : Makefile 
	gfs2/man       : Makefile 
	gfs2/mkfs      : Makefile 
	gfs2/mount     : Makefile 
	gfs2/quota     : Makefile 
	gfs2/tool      : Makefile 
	gnbd           : Makefile 
	gnbd/client    : Makefile 
	gnbd/man       : Makefile 
	gnbd/server    : Makefile 
	gnbd/tools     : Makefile 
	gnbd/tools/fence_gnbd: Makefile 
	gnbd/tools/gnbd_export: Makefile gnbd_export.c 
	gnbd/tools/gnbd_import: Makefile 
	gnbd-kernel/src: Makefile 
	group          : Makefile 
	group/daemon   : Makefile 
	group/dlm_controld: Makefile 
	group/gfs_controld: Makefile 
	group/lib      : Makefile libgroup.c 
	group/tool     : Makefile 
	rgmanager      : Makefile 
	rgmanager/init.d: Makefile 
	rgmanager/man  : Makefile 
	rgmanager/src  : Makefile 
	rgmanager/src/clulib: Makefile clulog.c 
	rgmanager/src/daemons: Makefile 
	rgmanager/src/resources: Makefile 
	rgmanager/src/utils: Makefile 
Added files:
	config         : copyright.cf 
	gnbd/utils     : Makefile 
	make           : defines.mk.input release.mk.input 
	scripts        : define2var uninstall.pl 
Removed files:
	ccs            : configure 
	ccs/config     : copyright.cf 
	ccs/make       : ccs.spec.in defines.mk.input release.mk.input 
	ccs/scripts    : uninstall.pl 
	clumon         : configure 
	clumon/make    : clumon.spec.in defines.mk.input 
	                 release.mk.input version.input 
	clumon/scripts : build_srpm.pl uninstall.pl 
	cman           : configure 
	cman/config    : copyright.cf 
	cman/make      : cman.spec.in defines.mk.input flags.mk 
	                 release.mk.input 
	cman/scripts   : cman.init uninstall.pl 
	cmirror        : configure 
	cmirror/make   : defines.mk.input release.mk.input 
	cmirror/scripts: uninstall.pl 
	csnap          : configure 
	csnap/config   : copyright.cf 
	csnap/make     : defines.mk.input release.mk.input 
	csnap/scripts  : uninstall.pl 
	csnap-kernel   : configure 
	csnap-kernel/make: defines.mk.input release.mk.input 
	csnap-kernel/scripts: uninstall.pl 
	dlm            : Makefile configure 
	dlm/config     : copyright.cf 
	dlm/make       : defines.mk.input dlm.spec.in flags.mk 
	                 release.mk.input 
	dlm/scripts    : uninstall.pl 
	fence          : configure 
	fence/agents/xvm: Makefile.tmp 
	fence/config   : copyright.cf 
	fence/make     : defines.mk.input fence.spec.in release.mk.input 
	fence/scripts  : define2var uninstall.pl 
	gfs            : configure 
	gfs/config     : copyright.cf 
	gfs/make       : defines.mk.input flags.mk gfs.spec.in 
	                 release.mk.input 
	gfs/scripts    : gfs_safe.pl uninstall.pl 
	gfs-kernel     : Makefile configure 
	gfs-kernel/make: defines.mk.input gfs-kernel.spec.in 
	                 release.mk.input 
	gfs-kernel/scripts: uninstall.pl 
	gfs-kernel/src : Makefile 
	gfs2           : configure 
	gfs2/config    : copyright.cf 
	gfs2/make      : defines.mk.input flags.mk gfs2.spec.in 
	                 release.mk.input 
	gfs2/scripts   : uninstall.pl 
	gnbd           : configure 
	gnbd/config    : copyright.cf 
	gnbd/make      : defines.mk.input release.mk.input 
	gnbd/scripts   : find_executable linuxver uninstall.pl 
	gnbd-kernel    : Makefile configure 
	gnbd-kernel/make: defines.mk.input gnbd-kernel.spec.in 
	                  release.mk.input 
	gnbd-kernel/scripts: uninstall.pl 
	group          : configure 
	group/make     : defines.mk.input release.mk.input 
	group/scripts  : uninstall.pl 
	rgmanager      : configure 
	rgmanager/make : defines.mk.input release.mk.input 
	                 rgmanager.spec.in 
	rgmanager/scripts: uninstall.pl 
	scripts        : build_srpms.pl latest_tag.pl 

Log message:
	Commit new build system as proposed and discussed on cluster-devel mailing list:
	
	https://www.redhat.com/archives/cluster-devel/2007-April/msg00139.html
	
	and following thread with acknoledge from other developers on IRC.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/Makefile.diff?cvsroot=cluster&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/configure.diff?cvsroot=cluster&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/Makefile.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/configure.diff?cvsroot=cluster&r1=1.6&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/ccs_test/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/ccs_tool/Makefile.diff?cvsroot=cluster&r1=1.8&r2=1.9
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/config/copyright.cf.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/daemon/Makefile.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/lib/Makefile.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/make/ccs.spec.in.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/make/defines.mk.input.diff?cvsroot=cluster&r1=1.4&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/man/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/ccs/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/clumon/configure.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/clumon/make/clumon.spec.in.diff?cvsroot=cluster&r1=1.6&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/clumon/make/defines.mk.input.diff?cvsroot=cluster&r1=1.3&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/clumon/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/clumon/make/version.input.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/clumon/scripts/build_srpm.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/clumon/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/Makefile.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/configure.diff?cvsroot=cluster&r1=1.9&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/cman_tool/Makefile.diff?cvsroot=cluster&r1=1.18&r2=1.19
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/config/copyright.cf.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/Makefile.diff?cvsroot=cluster&r1=1.47&r2=1.48
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/init.d/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/lib/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/make/cman.spec.in.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/make/defines.mk.input.diff?cvsroot=cluster&r1=1.5&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/make/flags.mk.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/man/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/qdisk/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/scripts/cman.init.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/tests/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cmirror/configure.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cmirror/make/defines.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cmirror/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cmirror/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/config/copyright.cf.diff?cvsroot=cluster&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap/configure.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap/config/copyright.cf.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap/make/defines.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap-kernel/configure.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap-kernel/make/defines.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap-kernel/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/csnap-kernel/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/Makefile.diff?cvsroot=cluster&r1=1.7&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/configure.diff?cvsroot=cluster&r1=1.4&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/config/copyright.cf.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/lib/Makefile.diff?cvsroot=cluster&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/make/defines.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/make/dlm.spec.in.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/make/flags.mk.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/configure.diff?cvsroot=cluster&r1=1.8&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/Makefile.diff?cvsroot=cluster&r1=1.15&r2=1.16
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/apc/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/bladecenter/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/brocade/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/bullpap/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/drac/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/egenera/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/ilo/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/ipmilan/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/manual/Makefile.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/mcdata/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/rps10/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/rsa/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/rsb/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/sanbox2/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/scsi/Makefile.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/vixel/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/wti/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/xvm/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/xvm/vm_states.c.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/xvm/Makefile.tmp.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/config/copyright.cf.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/fence_node/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/fence_tool/Makefile.diff?cvsroot=cluster&r1=1.12&r2=1.13
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/fenced/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/make/defines.mk.input.diff?cvsroot=cluster&r1=1.5&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/make/fence.spec.in.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/man/Makefile.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/scripts/define2var.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/Makefile.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/configure.diff?cvsroot=cluster&r1=1.6&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/config/copyright.cf.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_debug/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_edit/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_fsck/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_grow/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_jadd/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_mkfs/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_quota/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_quota/layout.c.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/gfs_tool/Makefile.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/init.d/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/libgfs/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/make/defines.mk.input.diff?cvsroot=cluster&r1=1.3&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/make/flags.mk.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/make/gfs.spec.in.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/man/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/scripts/gfs_safe.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/Makefile.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/configure.diff?cvsroot=cluster&r1=1.4&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/make/defines.mk.input.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/make/gfs-kernel.spec.in.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/Makefile.diff?cvsroot=cluster&r1=1.5&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/Makefile.diff?cvsroot=cluster&r1=1.14&r2=1.15
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/Makefile.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/configure.diff?cvsroot=cluster&r1=1.3&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/config/copyright.cf.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/convert/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/edit/Makefile.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/fsck/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/init.d/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/libgfs2/Makefile.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/make/defines.mk.input.diff?cvsroot=cluster&r1=1.3&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/make/flags.mk.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/make/gfs2.spec.in.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/man/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/mkfs/Makefile.diff?cvsroot=cluster&r1=1.13&r2=1.14
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/mount/Makefile.diff?cvsroot=cluster&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/quota/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/tool/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/configure.diff?cvsroot=cluster&r1=1.7&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/client/Makefile.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/config/copyright.cf.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/make/defines.mk.input.diff?cvsroot=cluster&r1=1.4&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/man/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/scripts/find_executable.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/scripts/linuxver.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/server/Makefile.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/tools/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/tools/fence_gnbd/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/tools/gnbd_export/Makefile.diff?cvsroot=cluster&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/tools/gnbd_export/gnbd_export.c.diff?cvsroot=cluster&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/tools/gnbd_import/Makefile.diff?cvsroot=cluster&r1=1.8&r2=1.9
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd/utils/Makefile.diff?cvsroot=cluster&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/Makefile.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/configure.diff?cvsroot=cluster&r1=1.3&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/make/defines.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/make/gnbd-kernel.spec.in.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gnbd-kernel/src/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/configure.diff?cvsroot=cluster&r1=1.3&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/daemon/Makefile.diff?cvsroot=cluster&r1=1.16&r2=1.17
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/dlm_controld/Makefile.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/gfs_controld/Makefile.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/lib/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/lib/libgroup.c.diff?cvsroot=cluster&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/make/defines.mk.input.diff?cvsroot=cluster&r1=1.5&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/tool/Makefile.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/make/defines.mk.input.diff?cvsroot=cluster&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/make/release.mk.input.diff?cvsroot=cluster&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/Makefile.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/configure.diff?cvsroot=cluster&r1=1.4&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/init.d/Makefile.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/make/defines.mk.input.diff?cvsroot=cluster&r1=1.7&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/make/release.mk.input.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/make/rgmanager.spec.in.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/man/Makefile.diff?cvsroot=cluster&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/scripts/uninstall.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/Makefile.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/Makefile.diff?cvsroot=cluster&r1=1.12&r2=1.13
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/clulog.c.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/Makefile.diff?cvsroot=cluster&r1=1.18&r2=1.19
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/resources/Makefile.diff?cvsroot=cluster&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/utils/Makefile.diff?cvsroot=cluster&r1=1.14&r2=1.15
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/scripts/define2var.diff?cvsroot=cluster&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/scripts/uninstall.pl.diff?cvsroot=cluster&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/scripts/build_srpms.pl.diff?cvsroot=cluster&r1=1.6&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/scripts/latest_tag.pl.diff?cvsroot=cluster&r1=1.1&r2=NONE

--- cluster/Makefile	2007/02/27 20:17:15	1.25
+++ cluster/Makefile	2007/04/30 11:21:58	1.26
@@ -8,133 +8,91 @@
 ##
 ###############################################################################
 ###############################################################################
-# Order is important
-LATEST_TAG=scripts/latest_tag.pl
-BUILD_SRPMS=scripts/build_srpms.pl
-BUILDDIR = $(shell pwd)/build
-MAKELINE =  sbindir=${BUILDDIR}/sbin libdir=${BUILDDIR}/lib mandir=${BUILDDIR}/man incdir=${BUILDDIR}/incdir module_dir=${BUILDDIR}/module sharedir=${BUILDDIR} slibdir=${BUILDDIR}/slib DESTDIR=${BUILDDIR}
 
+include make/defines.mk
 
-all:
-	${MAKE} -C gnbd-kernel all
+KERNEL=gnbd-kernel gfs-kernel
+USERLAND=cman-lib ccs cman group dlm fence gfs gfs2 gnbd rgmanager
+
+MODULES=${KERNEL} ${USERLAND}
+
+KSUBDIRS=gnbd-kernel/src gfs-kernel/src/gfs
+SUBDIRS=ccs cman group dlm/lib fence gfs gfs2 gnbd rgmanager
+
+all: build
+
+build: kernel-modules userland
+
+# scripts details
+scripts:
+	chmod 755 ${BUILDDIR}/scripts/*.pl
+	chmod 755 ${BUILDDIR}/scripts/define2var
+
+# kernel stuff
+
+kernel-modules: ${KERNEL}
+
+gnbd-kernel:
+	${MAKE} -C gnbd-kernel/src all
+
+gfs-kernel:
+	 ${MAKE} -C gfs-kernel/src/gfs
+
+# userland stuff
+# make all target can't be folded in a for loop otherwise make -j breaks
+# because we can't express dependencies.
+
+userland: scripts ${USERLAND}
+
+cman-lib:
 	${MAKE} -C cman/lib all
+
+ccs: cman-lib
 	${MAKE} -C ccs all
+
+cman: ccs
 	${MAKE} -C cman all
+
+group: ccs
 	${MAKE} -C group all
-	${MAKE} -C dlm all
+
+dlm:
+	${MAKE} -C dlm/lib all
+
+fence: group dlm
 	${MAKE} -C fence all
-	${MAKE} -C gfs-kernel all
+
+gfs:
 	${MAKE} -C gfs all
+
+gfs2:
 	${MAKE} -C gfs2 all
+
+gnbd: cman-lib
 	${MAKE} -C gnbd all
+
+rgmanager: ccs dlm
 	${MAKE} -C rgmanager all
-#	${MAKE} -C cmirror all
+
+# end of build
 
 clean:
+	set -e && for i in ${KSUBDIRS} ${SUBDIRS}; do ${MAKE} -C $$i $@; done
+
+distclean: clean
+	rm -f make/defines.mk
 	rm -f *tar.gz
 	rm -rf build
-	${MAKE} -C gfs-kernel clean
-	${MAKE} -C gnbd-kernel clean
-	${MAKE} -C ccs clean
-	${MAKE} -C cman clean
-	${MAKE} -C group clean
-	${MAKE} -C dlm clean
-	${MAKE} -C fence clean
-	${MAKE} -C gfs clean
-	${MAKE} -C gfs2 clean
-	${MAKE} -C gnbd clean
-	${MAKE} -C rgmanager clean
-#	${MAKE} -C cmirror clean
-
-distclean:
-	${MAKE} -C gfs-kernel distclean
-	${MAKE} -C gnbd-kernel distclean
-	${MAKE} -C ccs distclean
-	${MAKE} -C cman distclean
-	${MAKE} -C group distclean
-	${MAKE} -C dlm distclean
-	${MAKE} -C fence distclean
-	${MAKE} -C gfs distclean
-	${MAKE} -C gfs2 distclean
-	${MAKE} -C gnbd distclean
-	${MAKE} -C rgmanager distclean
-#	${MAKE} -C cmirror distclean
-
-install: all
-	${MAKE} -C gfs-kernel install
-	${MAKE} -C gnbd-kernel install
-	${MAKE} -C ccs install
-	${MAKE} -C cman install
-	${MAKE} -C group install
-	${MAKE} -C dlm install
-	${MAKE} -C fence install
-	${MAKE} -C gfs install
-	${MAKE} -C gfs2 install
-	${MAKE} -C gnbd install
-	${MAKE} -C rgmanager install
-#	${MAKE} -C cmirror install
+
+kernel-install: kernel-modules
+	set -e && for i in ${KSUBDIRS}; do ${MAKE} -C $$i install; done
+
+userland-install: userland
+	set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i install; done
+
+install: kernel-install userland-install
 
 uninstall:
-	${MAKE} -C gfs-kernel uninstall
-	${MAKE} -C gnbd-kernel uninstall
-	${MAKE} -C ccs uninstall
-	${MAKE} -C cman uninstall
-	${MAKE} -C group uninstall
-	${MAKE} -C dlm uninstall
-	${MAKE} -C fence uninstall
-	${MAKE} -C gfs uninstall
-	${MAKE} -C gfs2 uninstall
-	${MAKE} -C gnbd uninstall
-	${MAKE} -C rgmanager uninstall
-#	${MAKE} -C cmirror uninstall
-
-latest_tags:
-	${LATEST_TAG} gfs-kernel
-	${LATEST_TAG} gnbd-kernel
-	${LATEST_TAG} ccs
-	${LATEST_TAG} cman
-	${LATEST_TAG} dlm
-	${LATEST_TAG} fence
-	${LATEST_TAG} gfs
-	${LATEST_TAG} gfs2
-	${LATEST_TAG} gnbd
-	${LATEST_TAG} rgmanager
-	echo "Beware, your directories are now in sync with their last tag." > TAG
-#	${LATEST_TAG} cmirror
-
-setrelease:
-	for i in `ls */make/release.mk.input`; do ${EDITOR} $$i; done
-
-.PHONY: srpms
-
-srpms:
-	$(BUILD_SRPMS)
-
-tarballs: TAG
-	make -s COMPONENT=gfs-kernel RELEASE_FILE=gfs-kernel/make/release.mk.input tarball
-	make -s COMPONENT=gnbd-kernel RELEASE_FILE=gnbd-kernel/make/release.mk.input tarball
-	make -s COMPONENT=ccs RELEASE_FILE=ccs/make/release.mk.input tarball
-	make -s COMPONENT=cman RELEASE_FILE=cman/make/release.mk.input tarball
-	make -s COMPONENT=dlm RELEASE_FILE=dlm/make/release.mk.input tarball
-	make -s COMPONENT=fence RELEASE_FILE=fence/make/release.mk.input tarball
-	make -s COMPONENT=gfs RELEASE_FILE=gfs/make/release.mk.input tarball
-	make -s COMPONENT=gfs2 RELEASE_FILE=gfs2/make/release.mk.input tarball
-	make -s COMPONENT=gnbd RELEASE_FILE=gnbd/make/release.mk.input tarball
-	make -s COMPONENT=rgmanager RELEASE_FILE=rgmanager/make/release.mk.input tarball
-#	make -s COMPONENT=cmirror RELEASE_FILE=cmirror/make/release.mk.input tarball
-
-ifdef RELEASE_FILE
-include ${RELEASE_FILE}
-endif
-
-ifneq (${RELEASE_MAJOR}, DEVEL)
-tarball:
-	cp -r ${COMPONENT} ${COMPONENT}-${RELEASE_MAJOR}.${RELEASE_MINOR}
-	rm -rf `find ${COMPONENT}-${RELEASE_MAJOR}.${RELEASE_MINOR} -name CVS`;
-	tar -zcvf ${COMPONENT}-${RELEASE_MAJOR}.${RELEASE_MINOR}.tar.gz \
-	${COMPONENT}-${RELEASE_MAJOR}.${RELEASE_MINOR}
-	rm -rf ${COMPONENT}-${RELEASE_MAJOR}.${RELEASE_MINOR}
-else
-tarball:
-	echo "${COMPONENT}:: Version number not set."
-endif
+	set -e && for i in ${KSUBDIRS} ${SUBDIRS}; do ${MAKE} -C $$i $@; done
+
+.PHONY: scripts ${MODULES}
--- cluster/configure	2007/02/27 20:17:15	1.21
+++ cluster/configure	2007/04/30 11:21:58	1.22
@@ -1,37 +1,349 @@
-#!/bin/sh
+#!/usr/bin/perl
 
-echo "configure gnbd-kernel"
-(cd gnbd-kernel; ./configure $@)
+###############################################################################
+###############################################################################
+##
+##  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
+##  Copyright (C) 2004 Red Hat, Inc.  All rights reserved.
+##  
+##  This copyrighted material is made available to anyone wishing to use,
+##  modify, copy, or redistribute it subject to the terms and conditions
+##  of the GNU General Public License v.2.
+##
+###############################################################################
+###############################################################################
+
+use Getopt::Long;
+
+print "\nConfiguring Makefiles for your system...\n";
+
+# Set a bunch of variables
+
+$ret = 0;
+
+%options = (
+	help => \$help,
+	cc => \$cc,
+	cflags => \$cflags,
+	extracflags => \$extracflags,
+	ldflags => \$ldflags,
+	extraldflags => \$extraldflags,
+	kernel_src => \$kernel_src,
+	module_dir => \$module_dir,
+	gfskincdir => \$gfskincdir,
+	gnbdkincdir => \$gnbdkincdir,
+        incdir => \$incdir,
+	libdir => \$libdir,
+        ccsincdir => \$ccsincdir,
+	ccslibdir => \$ccslibdir,
+	cmanincdir => \$cmanincdir,
+	cmanlibdir => \$cmanlibdir,
+	dlmincdir => \$dlmincdir,
+	dlmlibdir => \$dlmlibdir,
+	volidincdir => \$volidincdir,
+	volidlibdir => \$volidlibdir,
+	ncursesincdir => \$ncursesincdir,
+	ncurseslibdir => \$ncurseslibdir,
+	readlineincdir => \$readlineincdir,
+	readlinelibdir => \$readlinelibdir,
+	openaisncdir => \$openaisincdir,
+	openaislibdir => \$openaislibdir,
+	virtincdir => \$virtincdir,
+	virtlibdir => \$virtlibdir,
+	nssincdir => \$nssincdir,
+	nsslibdir => \$nsslibdir,
+	nsprincdir => \$nsprincdir,
+	nsprlibdir => \$nsprlibdir,
+	xenincdir => \$xenincdir,
+	xenlibdir => \$xenlibdir,
+	libexecdir => \$libexecdir,
+	mandir  => \$mandir,
+	prefix => \$prefix,
+	sbindir => \$sbindir,
+	sharedir => \$sharedir,
+	enable_xen => \$enable_xen,
+	release_major => \$release_major,
+	release_minor => \$release_minor,
+);
+
+$err = &GetOptions (\%options,
+		    'help',
+		    'cc=s',
+		    'cflags=s',
+		    'ldflags=s',
+		    'kernel_src=s',
+		    'module_dir=s',
+		    'gfskincdir=s',
+		    'gnbdkincdir=s',
+		    'incdir=s',
+		    'libdir=s',
+		    'ccsincdir=s',
+		    'ccslibdir=s',
+		    'cmanincdir=s',
+		    'cmanlibdir=s',
+		    'dlmincdir=s',
+		    'dlmlibdir=s',
+		    'volidincdir=s',
+		    'volidlibdir=s',
+		    'ncursesincdir=s',
+		    'ncurseslibdir=s',
+		    'readlineincdir=s',
+		    'readlinelibdir=s',
+		    'openaisincdir=s',
+		    'openaislibdir=s',
+		    'virtincdir=s',
+		    'virtlibdir=s',
+		    'nssincdir=s',
+		    'nsslibdir=s',
+		    'nsprincdir=s',
+		    'nsprlibdir=s',
+		    'xenincdir=s',
+		    'xenlibdir=s',
+		    'libexecdir=s',
+		    'mandir=s',
+		    'prefix=s',
+		    'sbindir=s',
+		    'sharedir=s',
+		    'release_major=s',
+		    'release_minor=s',
+		    'enable_xen');
+
+if(!$err) {
+  $ret = 1;
+  print "*** ERROR: Invalid option detected ***\n";
+}
+
+# Check for the --help flag
+if ($help || !$err) {
+  $_ = $0;
+  s/.*\.\/(.*)/\1/;
+  print "Usage: $_ [flags]\n";
+  print "--help\t\tPrints this usage information\n\n";
+  print "install flags:\n";
+  print "--prefix=\tthe base directory to install into.  (Default: /)\n";
+  print "--sbindir=\tthe base directory for system binaries.  (Default: {prefix}/sbin)\n";
+  print "--libdir=\tthe base directory for libraries.  (Default: {prefix}/usr/lib)\n";
+  print "--libexecdir=\tthe base directory for executable components.  (Default: {prefix}/usr/libexec)\n";
+  print "--sharedir=\tthe base directory for misc cluster files.  (Default: {prefix}/usr/share/cluster)\n";
+  print "--mandir=\tthe base directory for man pages.  (Default:  {prefix}/usr/share/man)\n";
+  print "--module_dir=\tthe base directory for kernel modules.  (Default:  /lib/modules/`uname -r`/kernel\n";
+  print "\nbuild flags:\n";
+  print "--cc=\t\tcompiler to use.  (Default: gcc)\n";
+  print "--cflags=\toverride default CFLAGS settings.  (Default: -Wall)\n";
+  print "--extracflags=\tadd extra compiler options to default CFLAGS setting.  (Default: none)\n";
+  print "--ldflags=\toverride default LDFLAGS settings.  (Default: -L/lib -L/usr/lib)\n";
+  print "--extraldflags=\tadd extra linking options to default LDFLAGS settings.  (Default: none)\n";
+  print "--kernel_src=\tthe directory containing the kernel source you wish to\n\t\tcompile against. (Default: /lib/modules/`uname -r`/build)\n";
+  print "--incdir=\tthe base directory for include files.  (Default: {prefix}/usr/include)\n";
+  print "--ccsincdir=\tthe base directory for ccs include files.  (Default: ./ccs/lib)\n";
+  print "--ccslibdir=\tthe base directory for ccs libraries.  (Default: ./ccs/lib)\n";
+  print "--cmanincdir=\tthe base directory for cman include files.  (Default: ./cman/lib)\n";
+  print "--cmanlibdir=\tthe base directory for cman libraries.  (Default: ./cman/lib)\n";
+  print "--dlmincdir=\tthe base directory for dlm include files.  (Default: ./dlm/lib)\n";
+  print "--dlmlibdir=\tthe base directory for dlm libraries.  (Default: ./dlm/lib)\n";
+  print "--volidincdir=\tthe base directory for volume_id include files.  (Default: {incdir})\n";
+  print "--volidlibdir=\tthe base directory for volume_id libraries.  (Default: {libdir})\n";
+  print "--ncursesincdir=\tthe base directory for ncurses include files.  (Default: {incdir})\n";
+  print "--ncurseslibdir=\tthe base directory for ncurses libraries.  (Default: {libdir})\n";
+  print "--readlineincdir=\tthe base directory for readline include files.  (Default: {incdir})\n";
+  print "--readlinelibdir=\tthe base directory for readline libraries.  (Default: {libdir})\n";
+  print "--openaisincdir=\tthe base directory for openais include files.  (Default: {incdir})\n";
+  print "--openaislibdir=\tthe base directory for openais libraries.  (Default: {libdir}/openais)\n";
+  print "--nssincdir=\tthe base directory for libnss include files.  (Default: {incdir}/nss3)\n";
+  print "--nsslibdir=\tthe base directory for libnss libraries.  (Default: {libdir})\n";
+  print "--nsprincdir=\tthe base directory for libnspr include files.  (Default: {incdir}/nspr4)\n";
+  print "--nsprlibdir=\tthe base directory for libnspr libraries.  (Default: {libdir})\n";
+  print "--virtincdir=\tthe base directory for libvirt include files.  (Default: {incdir}/libvirt)\n";
+  print "--virtlibdir=\tthe base directory for libvirt libraries.  (Default: {libdir})\n";
+  print "--xenincdir=\tthe base directory for xen include files.  (Default: {incdir}/xen)\n";
+  print "--xenlibdir=\tthe base directory for xen libraries.  (Default: {libdir})\n";
+  print "--enable_xen\t\tEnable building of Xen-specific pieces\n";
+  exit $ret;
+}
+
+$pwd = `pwd`;
+chomp($pwd);
+
+if (!$cc) {
+  $cc="gcc";
+}
+if (!$cflags) {
+  $cflags="-Wall"
+}
+if ($extracflags) {
+  $cflags="${cflags} ${extracflags}"
+}
+if (!$ldflags) {
+  $ldflags="-L/lib -L/usr/lib"
+}
+if ($extraldflags) {
+  $ldflags="${ldflags} ${extraldflags}"
+}
+if (!$kernel_src) {
+  $kernel_src="/lib/modules/`uname -r`/build"
+}
+if (!$module_dir) {
+  $module_dir="/lib/modules/`uname -r`/kernel"
+}
+if (!$gfskincdir) {
+  $gfskincdir="${pwd}/gfs-kernel/src/gfs"
+}
+if (!$gnbdkincdir) {
+  $gnbdkincdir="${pwd}/gnbd-kernel/src"
+}
+if (!$incdir) {
+  $incdir="${prefix}/usr/include";
+}
+if (!$libdir) {
+  $libdir="${prefix}/usr/lib";
+}
+if (!$ccsincdir) {
+  $ccsincdir="${pwd}/ccs/lib";
+}
+if (!$ccslibdir) {
+  $ccslibdir="${pwd}/ccs/lib";
+}
+if (!$cmanincdir) {
+  $cmanincdir="${pwd}/cman/lib";
+}
+if (!$cmanlibdir) {
+  $cmanlibdir="${pwd}/cman/lib";
+}
+if (!$dlmincdir) {
+  $dlmincdir="${pwd}/dlm/lib";
+}
+if (!$dlmlibdir) {
+  $dlmlibdir="${pwd}/dlm/lib";
+}
+if (!$volidincdir) {
+  $volidincdir="${incdir}";
+}
+if (!$volidlibdir) {
+  $volidlibdir="${libdir}";
+}
+if (!$readlineincdir) {
+  $readlineincdir="${incdir}";
+}
+if (!$readlinelibdir) {
+  $readlinelibdir="${libdir}";
+}
+if (!$ncursesincdir) {
+  $ncursesincdir="${incdir}";
+}
+if (!$ncurseslibdir) {
+  $ncurseslibdir="${libdir}";
+}
+if (!$openaisincdir) {
+  $openaisincdir="${incdir}";
+}
+if (!$openaislibdir) {
+  $openaislibdir="${libdir}/openais";
+}
+if (!$nssincdir) {
+  $nssincdir="${incdir}/nss3";
+}
+if (!$nsslibdir) {
+  $nsslibdir="${libdir}";
+}
+if (!$nsprincdir) {
+  $nsprincdir="${incdir}/nspr4";
+}
+if (!$nsprlibdir) {
+  $nsprlibdir="${libdir}";
+}
+if (!$virtincdir) {
+  $virtincdir="${incdir}/libvirt";
+}
+if (!$virtlibdir) {
+  $virtlibdir="${libdir}";
+}
+if (!$xenincdir) {
+  $xenincdir="${incdir}/xen";
+}
+if (!$xenlibdir) {
+  $xenlibdir="${libdir}";
+}
+if (!$libexecdir) {
+  $libexecdir="${prefix}/usr/libexec";
+}
+if (!$mandir) {
+  $mandir="${prefix}/usr/share/man";
+}
+if (!$sbindir) {
+  $sbindir="${prefix}/sbin";
+}
+if (!$sharedir) {
+  $sharedir="${prefix}/usr/share/cluster";
+}
+
+open IFILE, "<make/defines.mk.input" or die "Can't redirect stdin";
+open OFILE, ">make/defines.mk" or die "Can't redirect stdout";
+
+print OFILE "# This file was generated by configure from defines.mk.input\n";
+
+while (<IFILE>) {
+  chomp;
+  $_ =~ s/\@BUILDDIR\@/$pwd/;
+  $_ =~ s/\@CC\@/$cc/;
+  $_ =~ s/\@CFLAGS\@/$cflags/;
+  $_ =~ s/\@LDFLAGS\@/$ldflags/;
+  $_ =~ s/\@KERNEL_SRC\@/$kernel_src/;
+  $_ =~ s/\@MODULE_DIR\@/$module_dir/;
+  $_ =~ s/\@GFSKINCDIR\@/$gfskincdir/;
+  $_ =~ s/\@GNBDKINCDIR\@/$gnbdkincdir/;
+  $_ =~ s/\@INCDIR\@/$incdir/;
+  $_ =~ s/\@LIBDIR\@/$libdir/;
+  $_ =~ s/\@CCSINCDIR\@/$ccsincdir/;
+  $_ =~ s/\@CCSLIBDIR\@/$ccslibdir/;
+  $_ =~ s/\@CMANINCDIR\@/$cmanincdir/;
+  $_ =~ s/\@CMANLIBDIR\@/$cmanlibdir/;
+  $_ =~ s/\@DLMINCDIR\@/$dlmincdir/;
+  $_ =~ s/\@DLMLIBDIR\@/$dlmlibdir/;
+  $_ =~ s/\@VOLIDINCDIR\@/$volidincdir/;
+  $_ =~ s/\@VOLIDLIBDIR\@/$volidlibdir/;
+  $_ =~ s/\@READLINEINCDIR\@/$readlineincdir/;
+  $_ =~ s/\@READLINELIBDIR\@/$readlinelibdir/;
+  $_ =~ s/\@NCURSESINCDIR\@/$ncursesincdir/;
+  $_ =~ s/\@NCURSESLIBDIR\@/$ncurseslibdir/;
+  $_ =~ s/\@OPENAISINCDIR\@/$openaisincdir/;
+  $_ =~ s/\@OPENAISLIBDIR\@/$openaislibdir/;
+  $_ =~ s/\@XENINCDIR\@/$xenincdir/;
+  $_ =~ s/\@XENLIBDIR\@/$xenlibdir/;
+  $_ =~ s/\@NSSINCDIR\@/$nssincdir/;
+  $_ =~ s/\@NSSLIBDIR\@/$nsslibdir/;
+  $_ =~ s/\@NSPRINCDIR\@/$nsprincdir/;
+  $_ =~ s/\@NSPRLIBDIR\@/$nsprlibdir/;
+  $_ =~ s/\@VIRTINCDIR\@/$virtincdir/;
+  $_ =~ s/\@VIRTLIBDIR\@/$virtlibdir/;
+  $_ =~ s/\@LIBEXECDIR\@/$libexecdir/;
+  $_ =~ s/\@MANDIR\@/$mandir/;
+  $_ =~ s/\@SBINDIR\@/$sbindir/;
+  $_ =~ s/\@SHAREDIR\@/$sharedir/;
+  $_ =~ s/\@ENABLE_XEN\@/$enable_xen/;
+  print OFILE "$_\n";
+}
+
+close IFILE;
+if ((not length $release_major) || (not length $release_minor)) {
+  open IFILE, "<make/release.mk.input" or die "Can't redirect stdin";
+  while (<IFILE>) {
+    chomp;
+    if($_ =~ /RELEASE_MAJOR\s=\s(.*)/){
+        $release_major = $1;
+    } elsif($_ =~ /RELEASE_MINOR\s=\s(.*)/){
+        $release_minor = $1;
+    }
+  }
+
+  if($release_minor =~ m/DATE/i){
+      $release_minor = `date +%s`;
+      chomp $release_minor;
+  }
+}
+
+print OFILE "RELEASE_MAJOR = $release_major\n";
+print OFILE "RELEASE_MINOR = $release_minor\n";
+print OFILE "RELEASE = $release_major.$release_minor\n";
+close OFILE;
 
-echo "configure ccs"
-(cd ccs; ./configure $@)
-
-echo "configure cman"
-(cd cman; ./configure $@ --ccsincdir=`pwd`/../ccs/lib --ccslibdir=`pwd`/../ccs/lib)
-
-echo "configure group"
-(cd group; ./configure $@ --cmanlibdir=`pwd`/../cman/lib)
-
-echo "configure dlm"
-(cd dlm; ./configure $@)
-
-echo "configure fence"
-(cd fence; ./configure $@ -ccslibdir=`pwd`/../ccs/lib --ccsincdir=`pwd`/../ccs/lib --cmanincdir=`pwd`/../cman/lib)
-
-echo "configure gfs-kernel"
-(cd gfs-kernel; ./configure $@ --dlmkincdir=`pwd`/../dlm-kernel/src2)
-
-echo "configure gfs"
-(cd gfs; ./configure $@ --gfskincdir=`pwd`/../gfs-kernel/src/gfs)
-
-echo "configure gfs2"
-(cd gfs2; ./configure $@)
-
-echo "configure gnbd"
-(cd gnbd; ./configure $@ --gnbdkincdir=`pwd`/../gnbd-kernel/src --cmanincdir=`pwd`/../cman/lib)
-
-echo "configure rgmanager"
-(cd rgmanager; ./configure $@) 
-
-#echo "configure cmirror"
-#(cd cmirror; ./configure $@)
+print "Completed Makefile configuration\n\n";
--- cluster/ccs/Makefile	2006/08/11 15:18:03	1.10
+++ cluster/ccs/Makefile	2007/04/30 11:21:58	1.11
@@ -10,32 +10,14 @@
 ###############################################################################
 ###############################################################################
 
-all:
-	${MAKE} -C daemon all
-	${MAKE} -C lib all
-	${MAKE} -C ccs_test all
-	${MAKE} -C ccs_tool all
+include ../make/defines.mk
 
-clean:
-	${MAKE} -C daemon clean
-	${MAKE} -C lib clean
-	${MAKE} -C ccs_test clean
-	${MAKE} -C ccs_tool clean
-	rm -f *~
+SUBDIRS=daemon lib ccs_test ccs_tool man
 
-distclean: clean
-	rm -f make/defines.mk
+all: ${SUBDIRS}
 
-install: all
-	${MAKE} -C daemon install 
-	${MAKE} -C lib install
-	${MAKE} -C ccs_test install
-	${MAKE} -C ccs_tool install
-	${MAKE} -C man install
-
-uninstall:
-	${MAKE} -C daemon uninstall 
-	${MAKE} -C lib uninstall
-	${MAKE} -Cccs_test  uninstall
-	${MAKE} -C ccs_tool uninstall
-	${MAKE} -Cman  uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/ccs/ccs_test/Makefile	2006/08/11 15:18:03	1.3
+++ cluster/ccs/ccs_test/Makefile	2007/04/30 11:21:59	1.4
@@ -10,38 +10,37 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
+TARGET= ccs_test
 
-ccs_libdir=${top_srcdir}/lib
-INCLUDE+= -I. -I${top_srcdir}/include -I${ccs_libdir} -I${top_srcdir}/config
+OBJS=	ccs_test.o
+
+CFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -I${ccsincdir}
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -O2 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DDEBUG -g \
-	-DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O0 -DDEBUG -g
 else
-CFLAGS+= -O2 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
 endif
 
-LDFLAGS+= -L${ccs_libdir}
-LOADLIBES+= -lccs
+LDFLAGS += -L${ccslibdir} -lccs
 
-all: ccs_test
+all: ${TARGET}
 
-ccs_test: ccs_test.c ${ccs_libdir}/libccs.a
-	${CC} ${CFLAGS} ${INCLUDE} ccs_test.c ${LDFLAGS} ${LOADLIBES} ${LDLIBS}-o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-${ccs_libdir}/libccs.a:
-	${MAKE} -C ${ccs_libdir} libccs.a
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	install -d ${sbindir}
-	install ccs_test ${sbindir}
+	install ${TARGET} ${sbindir}
 
 uninstall:
-	${UNINSTALL} ccs_test ${sbindir}
+	${UNINSTALL} ${TARGET} ${sbindir}
 
 clean:
-	rm -rf *.o ccs_test *~
+	rm -rf *.o ${TARGET} *~
--- cluster/ccs/ccs_tool/Makefile	2006/04/20 18:46:54	1.8
+++ cluster/ccs/ccs_tool/Makefile	2007/04/30 11:21:59	1.9
@@ -9,30 +9,38 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
-include ${top_srcdir}/make/defines.mk
-
-ccs_libdir=${top_srcdir}/lib
-INCLUDE= -I. -I${top_srcdir}/config -I${top_srcdir}/include -I${ccs_libdir} -I${incdir} \
-	 -I../../cman/lib
+
+include ../../make/defines.mk
+
+TARGET= ccs_tool
+
+OBJS=	ccs_tool.o \
+	update.o \
+	upgrade.o \
+	old_parser.o \
+	editconf.o
+
+CFLAGS += -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+CFLAGS += -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -I${ccsincdir} -I${cmanincdir} `xml2-config --cflags`
+CFLAGS += -I../include
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DDEBUG -g \
-        `xml2-config --cflags` -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O0 -DDEBUG -g
 else
-CFLAGS+= -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE \
-        `xml2-config --cflags` -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
 endif
 
-LDFLAGS+= -L${ccs_libdir} `xml2-config --libs` -L${libdir}
-LOADLIBES+= -lccs -ldl
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
+LDFLAGS += `xml2-config --libs` -L${libdir} -ldl
+
+all: ${TARGET}
 
-all: ccs_tool
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-ccs_tool: ccs_tool.c update.c upgrade.c old_parser.c editconf.c
-	${CC} ${CFLAGS} ${INCLUDE} -o $@ $^ ${LDFLAGS} ${LOADLIBES} \
-	../../cman/lib/libcman.a
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 clean:
 	rm -f *.o ccs_tool *~
--- cluster/ccs/daemon/Makefile	2006/08/11 15:18:03	1.9
+++ cluster/ccs/daemon/Makefile	2007/04/30 11:21:59	1.10
@@ -10,29 +10,40 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
-
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= ccsd
-INCLUDE= -I. -I../include -I../common -I${top_srcdir}/config -I../../cman/lib
+
+OBJS=	ccsd.o \
+	cnx_mgr.o \
+	cluster_mgr.o \
+	misc.o \
+	log.o \
+	globals.o
+
+CFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -Wall
+CFLAGS += -I${cmanincdir} `xml2-config --cflags`
+CFLAGS += -I. -I../include -I../common
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DDEBUG -g \
-	`xml2-config --cflags` -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O0 -DDEBUG -g
 else
-CFLAGS+= -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE \
-	`xml2-config --cflags` -DCCS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
 endif
 
-LDFLAGS+= -L${libdir} `xml2-config --libs` -lpthread -ldl
+LDFLAGS += -L${cmanlibdir} -lcman -L${libdir} `xml2-config --libs` -lpthread -ldl
 
 all: ${TARGET}
 
-ccsd: ccsd.c cnx_mgr.c cluster_mgr.c misc.c ../common/log.c globals.c
-	${CC} ${CFLAGS} ${INCLUDE} -o $@ $^ ${LDFLAGS} \
-	../../cman/lib/libcman.a
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
+
+log.c:
+	ln -sf ../common/log.c log.c
 
 install: all
 	install -d ${sbindir}
@@ -42,4 +53,4 @@
 	${UNINSTALL} ${TARGET} ${sbindir}
 
 clean:
-	rm -rf *.o ${TARGET} *~
+	rm -rf *.o ${TARGET} *~ log.c
--- cluster/ccs/lib/Makefile	2006/08/11 15:18:03	1.4
+++ cluster/ccs/lib/Makefile	2007/04/30 11:21:59	1.5
@@ -9,40 +9,44 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
 
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
-INCLUDE = -I../include -I../common
+TARGET=libccs.a
+
+OBJS=	libccs.o \
+	log.o
+
+CFLAGS += -D_FILE_OFFSET_BITS=64
+CFLAGS += -fPIC
+CFLAGS += -I../include -I../common
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -O2 -fPIC -D_FILE_OFFSET_BITS=64 -DDEBUG -g
+CFLAGS += -O0 -DDEBUG -g
 else
-CFLAGS+= -O2 -fPIC -D_FILE_OFFSET_BITS=64
+CFLAGS += -O2
 endif
 
-all: libccs.a
+all: ${TARGET}
 
-libccs.a: libccs.o log.o
-	${AR} cr libccs.a libccs.o log.o
+${TARGET}: ${OBJS}
+	${AR} cr ${TARGET} ${OBJS}
 
-libccs.o: libccs.c ccs.h
-	${CC} -c ${CFLAGS} ${INCLUDE} $^
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
-log.o: ../common/log.c
-	${CC} -c ${CFLAGS} ${INCLUDE} $^
+log.c:
+	ln -sf ../common/log.c log.c
 
 install: all
 	install -d ${libdir}
-	install -m644 libccs.a ${libdir}
+	install -m644 ${TARGET} ${libdir}
 	install -d ${incdir}
 	install -m644 ccs.h ${incdir}
 
 uninstall:
-	${UNINSTALL} libccs.a ${libdir} 
+	${UNINSTALL} ${TARGET} ${libdir} 
 	${UNINSTALL} ccs.h ${incdir} 
-	rm -f /lib/libccs.a
 
 clean:
-	rm -rf *~ *.o libccs.a
+	rm -rf *~ *.o ${TARGET} ccs.h.gch log.c
--- cluster/ccs/man/Makefile	2005/01/13 17:16:24	1.3
+++ cluster/ccs/man/Makefile	2007/04/30 11:21:59	1.4
@@ -10,10 +10,8 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
 
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 install:
 	install -d ${mandir}/man5
@@ -28,3 +26,6 @@
 	${UNINSTALL} ccs.7 ${mandir}/man7
 	${UNINSTALL} ccsd.8 ccs_test.8 ccs_tool.8 ${mandir}/man8
 
+all:
+
+clean:
--- cluster/cman/Makefile	2006/08/11 15:18:04	1.10
+++ cluster/cman/Makefile	2007/04/30 11:22:00	1.11
@@ -11,33 +11,14 @@
 ###############################################################################
 ###############################################################################
 
-all:
-	${MAKE} -C lib all
-	${MAKE} -C cman_tool all
-	${MAKE} -C daemon all
-	${MAKE} -C qdisk all
+include ../make/defines.mk
 
-clean:
-	${MAKE} -C lib clean
-	${MAKE} -C cman_tool clean
-	${MAKE} -C daemon clean
-	${MAKE} -C qdisk clean
+SUBDIRS=lib cman_tool daemon qdisk init.d man
 
-distclean: clean
-	rm -f make/defines.mk
+all: ${SUBDIRS}
 
-install: all
-	${MAKE} -C lib install
-	${MAKE} -C cman_tool install
-	${MAKE} -C daemon install
-	${MAKE} -C qdisk install
-	${MAKE} -C init.d install
-	${MAKE} -C man install
-
-uninstall:
-	${MAKE} -C lib uninstall
-	${MAKE} -C cman_tool uninstall
-	${MAKE} -C daemon uninstall
-	${MAKE} -C qdisk uninstall
-	${MAKE} -C init.d uninstall
-	${MAKE} -C man uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/cman/cman_tool/Makefile	2006/08/11 15:18:04	1.18
+++ cluster/cman/cman_tool/Makefile	2007/04/30 11:22:00	1.19
@@ -10,40 +10,40 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
+TARGET=cman_tool
+
+OBJS=	main.o \
+	join.o
 
-CFLAGS+= -I${ccsincdir} -I${incdir} -I${top_srcdir}/config \
-	-DCMAN_RELEASE_NAME=\"${RELEASE}\" -I../lib
+CFLAGS += -DCMAN_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -DSBINDIR=\"${sbindir}\"
+CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${incdir}
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -O0 -g -DDEBUG
+CFLAGS += -O0 -g -DDEBUG
 else
-CFLAGS+= -O2
+CFLAGS += -O2
 endif
 
-TARGET=cman_tool
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
 
 all: ${TARGET}
 
-cman_tool: main.o join.o ../lib/libcman.a
-	$(CC) $(LDFLAGS) -L$(ccslibdir) -o $@ $^ -L../lib -lccs
-
-main.o: main.c cman_tool.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-join.o: join.c cman_tool.h
-	$(CC) $(CFLAGS) -c -o $@ $< -DSBINDIR=\"${sbindir}\"
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	install -d ${sbindir}
-	install cman_tool ${sbindir}
+	install ${TARGET} ${sbindir}
 
 uninstall:
-	${UNINSTALL} cman_tool ${sbindir}
+	${UNINSTALL} ${TARGET} ${sbindir}
 
 clean:
-	rm -f *.o cman_tool
+	rm -f *.o ${TARGET}
 
--- cluster/cman/daemon/Makefile	2006/08/11 15:18:04	1.47
+++ cluster/cman/daemon/Makefile	2007/04/30 11:22:00	1.48
@@ -10,63 +10,45 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
-
-CFLAGS+= -fPIC -I${ccsincdir} -I${incdir} -I${top_srcdir}/config \
-	-DCMAN_RELEASE_NAME=\"${RELEASE}\" -I../lib -DOPENAIS_EXTERNAL_SERVICE
+CFLAGS += -DCMAN_RELEASE_NAME=\"${RELEASE}\" -DOPENAIS_EXTERNAL_SERVICE
+CFLAGS += -fPIC
+CFLAGS += -I${ccsincdir} -I${incdir} -I${openaisincdir} -I${cmanincdir}
+CFLAGS += -I${openaisincdir}/openais/service
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -O0 -g -DDEBUG
+CFLAGS += -O0 -g -DDEBUG
 else
-CFLAGS+= -O2
+CFLAGS += -O2
 endif
 
-TARGET=service_cman.lcrso
-CMAN_OBJS=daemon.o config.o logging.o ais.o commands.o barrier.o cmanccs.o
-
-all:  ${TARGET}
-
-service_cman.lcrso: ${CMAN_OBJS}
-	$(CC) $(CFLAGS) -shared -Wl,-soname,service_cman.lcrso -o $@ ${CMAN_OBJS} -L../lib -L${ccslibdir} -lccs
-
-daemon.o: daemon.c list.h cnxman-socket.h cnxman-private.h \
-  daemon.h logging.h commands.h barrier.h cmanccs.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
 
-cnxman.o: cnxman.c list.h cnxman-socket.h cnxman-private.h \
-  daemon.h barrier.h commands.h logging.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+TARGET= service_cman.lcrso
 
-config.o: config.c
-	$(CC) $(CFLAGS) -c -o $@ $<
+OBJS=	daemon.o \
+	config.o \
+	logging.o \
+	ais.o \
+	commands.o \
+	barrier.o \
+	cmanccs.o
 
-cmanccs.o: cmanccs.c cmanccs.h
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-barrier.o: barrier.c list.h cnxman-socket.h cnxman-private.h \
-  daemon.h logging.h barrier.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+all:  ${TARGET}
 
-commands.o: commands.c list.h cnxman-socket.h cnxman-private.h \
-  daemon.h barrier.h  logging.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+${TARGET}: ${OBJS}
+	$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)
 
-logging.o: logging.c list.h cnxman-socket.h cnxman-private.h 
-	$(CC) $(CFLAGS) -c -o $@ $<
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	install -d ${libexecdir}/lcrso
-	install -s service_cman.lcrso ${libexecdir}/lcrso
+	install -s ${TARGET} ${libexecdir}/lcrso
 
 uninstall:
-	rm -f ${libexecdir}/lcrso/service_cman.lcrso
+	rm -f ${libexecdir}/lcrso/${TARGET}
 
 clean:
-	rm -f *.o service_cman.lcrso
-
-reallyclean: clean
-	rm -rf ${AISDIR}
-
+	rm -f *.o ${TARGET}
--- cluster/cman/init.d/Makefile	2006/08/11 15:18:05	1.3
+++ cluster/cman/init.d/Makefile	2007/04/30 11:22:01	1.4
@@ -10,13 +10,9 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= cman qdiskd
-
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-top_srcdir=..
-
-include ${top_srcdir}/make/defines.mk
+TARGET= cman qdiskd
 
 all:
 
--- cluster/cman/lib/Makefile	2006/08/11 15:18:05	1.7
+++ cluster/cman/lib/Makefile	2007/04/30 11:22:01	1.8
@@ -11,49 +11,46 @@
 ###############################################################################
 ###############################################################################
 
-SOURCE=libcman.c
+include ../../make/defines.mk
 
-LIBNAME=libcman
-SHAREDLIB=$(LIBNAME).so.${RELEASE_MAJOR}.${RELEASE_MINOR}
-STATICLIB=$(LIBNAME).a
+TARGET=libcman
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+SHAREDLIB=$(TARGET).so.${RELEASE_MAJOR}.${RELEASE_MINOR}
+STATICLIB=$(TARGET).a
 
-include ${top_srcdir}/make/defines.mk
-
-CFLAGS += -g -I. -fPIC -I../daemon
+CFLAGS += -g -I. -fPIC
+CFLAGS += -I../daemon
 
 all: $(STATICLIB) $(SHAREDLIB)
 
-$(LIBNAME).a: libcman.o
-	${AR} r libcman.a libcman.o
-	${RANLIB} libcman.a 
-
-
-$(LIBNAME).so.${RELEASE_MAJOR}.${RELEASE_MINOR}: libcman.o
-	$(CC) -shared -o $@ -Wl,-soname=$(LIBNAME).so.$(RELEASE_MAJOR) $^
+$(TARGET).a: $(TARGET).o
+	${AR} r $@ $^
+	${RANLIB} $@
+
+$(TARGET).so.${RELEASE_MAJOR}.${RELEASE_MINOR}: $(TARGET).o
+	$(CC) -shared -o $@ -Wl,-soname=$(TARGET).so.$(RELEASE_MAJOR) $^
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) $(TARGET).so
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) $(TARGET).so.$(RELEASE_MAJOR)
 
-libcman.o: libcman.c
-	$(CC) $(CFLAGS) -c -o $@ $< -I../daemon
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
 
 install: all
 	install -d ${incdir}
-	install libcman.h ${incdir}
+	install $(TARGET).h ${incdir}
 	install -d ${libdir}
-	install $(LIBNAME).a ${libdir}
-	install $(LIBNAME).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
-	ln -sf $(LIBNAME).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(LIBNAME).so
-	ln -sf $(LIBNAME).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(LIBNAME).so.$(RELEASE_MAJOR)
+	install $(TARGET).a ${libdir}
+	install $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(TARGET).so
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(TARGET).so.$(RELEASE_MAJOR)
 
 uninstall:
-	${UNINSTALL} libcman.h ${incdir}
+	${UNINSTALL} $(TARGET).h ${incdir}
 	${UNINSTALL} \
-		${LIBNAME}.a \
-		$(LIBNAME).so \
-		$(LIBNAME).so.$(RELEASE_MAJOR) \
-		${LIBNAME}.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir} \
-	rm -f /lib/${LIBNAME}.*
+		${TARGET}.a \
+		$(TARGET).so \
+		$(TARGET).so.$(RELEASE_MAJOR) \
+		${TARGET}.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
 
 clean:
 	rm -f *.o *.a *.so *.so.*
--- cluster/cman/man/Makefile	2006/07/21 17:55:04	1.2
+++ cluster/cman/man/Makefile	2007/04/30 11:22:01	1.3
@@ -10,10 +10,14 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
 
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
+
+all:
+
+clean:
+
+distclean:
 
 install:
 	install -d ${mandir}/man5
--- cluster/cman/qdisk/Makefile	2007/01/22 22:51:05	1.7
+++ cluster/cman/qdisk/Makefile	2007/04/30 11:22:02	1.8
@@ -10,36 +10,50 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
+CFLAGS += -D_GNU_SOURCE
+CFLAGS += -Wall -Werror -Wstrict-prototypes -Wshadow -g
+CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${incdir}
+CFLAGS += -I.
 
-INCLUDES+=-I. -I../lib
-CFLAGS +=-I${ccsincdir} -I${incdir} -I${top_srcdir}/config \
-         -Wall -Werror -Wstrict-prototypes -Wshadow -D_GNU_SOURCE -g
+EXTRA_LDFLAGS += -L${cmanlibdir} -L${ccslibdir} -lcman -lccs
+EXTRA_LDFLAGS += -lpthread
 
-TARGET=qdiskd mkqdisk
+TARGET1= qdiskd
+TARGET2= mkqdisk
 
-all: ${TARGET}
+OBJS1=	main.o \
+	score.o \
+	bitmap.o \
+	clulog.o \
+	gettid.o \
+	daemon_init.o
+
+OBJS2=	mkqdisk.o
+
+SHAREDOBJS= disk.o \
+	    crc32.o \
+	    disk_util.o \
+	    proc.o
+
+all: ${TARGET1} ${TARGET2}
+
+${TARGET1}: ${SHAREDOBJS} ${OBJS1}
+	$(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS)
+
+${TARGET2}: ${SHAREDOBJS} ${OBJS2}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 install: all
 	install -d ${sbindir}
-	install ${TARGET} ${sbindir}
-
-qdiskd: disk.o crc32.o disk_util.o main.o score.o bitmap.o clulog.o \
-	gettid.o proc.o daemon_init.o  ../lib/libcman.a
-	gcc -o $@ $^ -lpthread -L../lib -L${ccslibdir} -lccs
-
-mkqdisk: disk.o crc32.o disk_util.o \
-	 proc.o mkqdisk.o
-	gcc -o $@ $^ 
+	install ${TARGET1} ${TARGET2} ${sbindir}
 
 %.o: %.c
-	$(CC) -c -o $@ $^ $(INCLUDES) $(CFLAGS)
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 clean:
-	rm -f *.o ${TARGET}
+	rm -f *.o ${TARGET1} ${TARGET2}
 
 uninstall:
-	${UNINSTALL} ${TARGET} ${sbindir}
+	${UNINSTALL} ${TARGET1} ${TARGET2} ${sbindir}
--- cluster/cman/tests/Makefile	2006/08/11 15:18:05	1.5
+++ cluster/cman/tests/Makefile	2007/04/30 11:22:02	1.6
@@ -1,13 +1,8 @@
+include ../../make/defines.mk
 
+CFLAGS+= -g -I${cmanincdir}
 
-top_srcdir=..
-
-include ${top_srcdir}/make/defines.mk
-include ${top_srcdir}/make/flags.mk
-
-CFLAGS+= -g -I${top_srcdir}/config -I ../lib
-
-LDFLAGS+= -L../lib -lcman
+LDFLAGS+= -L${cmanlibdir} -lcman
 
 TARGET=client libtest sysman sysmand
 
@@ -21,4 +16,3 @@
 clean:
 	rm -f *.o ${TARGET}
 
-
/cvs/cluster/cluster/config/copyright.cf,v  -->  standard output
revision 1.1
--- cluster/config/copyright.cf
+++ -	2007-04-30 12:22:30.855890000 +0100
@@ -0,0 +1,22 @@
+/******************************************************************************
+*******************************************************************************
+**
+**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
+**  Copyright (C) Red Hat, Inc. 2004-2007  All rights reserved.
+**
+**  This copyrighted material is made available to anyone wishing to use,
+**  modify, copy, or redistribute it subject to the terms and conditions
+**  of the GNU General Public License v.2.
+**
+*******************************************************************************
+******************************************************************************/
+
+#ifndef __COPYRIGHT_DOT_CF__
+#define __COPYRIGHT_DOT_CF__
+
+#define REDHAT_COPYRIGHT ("Copyright (C) Red Hat, Inc.  2004-2007  All rights reserved.")
+
+#endif  /*  __COPYRIGHT_DOT_CF__  */
+
+
+
--- cluster/dlm/lib/Makefile	2007/04/18 08:06:54	1.17
+++ cluster/dlm/lib/Makefile	2007/04/30 11:22:05	1.18
@@ -11,36 +11,38 @@
 ###############################################################################
 ###############################################################################
 
-SOURCE=libdlm.c libaislock.c
+include ../../make/defines.mk
 
-LIBNAME=libdlm
-SHAREDLIB=$(LIBNAME).so.${RELEASE_MAJOR}.${RELEASE_MINOR} $(LIBNAME)_lt.so.${RELEASE_MAJOR}.${RELEASE_MINOR}
-STATICLIB=$(LIBNAME).a $(LIBNAME)_lt.a
+TARGET= libdlm
+AISTARGET= libaislock
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+SHAREDLIB=$(TARGET).so.${RELEASE_MAJOR}.${RELEASE_MINOR} $(TARGET)_lt.so.${RELEASE_MAJOR}.${RELEASE_MINOR}
+STATICLIB=$(TARGET).a $(TARGET)_lt.a
 
-include ${top_srcdir}/make/defines.mk
+CFLAGS += -g -O2 
+CFLAGS += -I.
 
-CFLAGS += -g -I. -O2 
 LDFLAGS += -lpthread 
 
 all: $(STATICLIB) $(SHAREDLIB)
 
-
-$(LIBNAME).a: libdlm.o libaislock.o
-	${AR} cr libdlm.a $^
-	${RANLIB} libdlm.a 
-
-$(LIBNAME)_lt.a: libdlm_lt.o
-	${AR} r libdlm_lt.a $^
-	${RANLIB} libdlm_lt.a 
-
-$(LIBNAME).so.${RELEASE_MAJOR}.${RELEASE_MINOR}: libdlm.po libaislock.po
-	$(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname=$(LIBNAME).so.$(RELEASE_MAJOR) $^
-
-$(LIBNAME)_lt.so.${RELEASE_MAJOR}.${RELEASE_MINOR}: libdlm_lt.po
-	$(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname=$(LIBNAME)_lt.so.$(RELEASE_MAJOR) $^
+$(TARGET).a: $(TARGET).o $(AISTARGET).o
+	${AR} r $@ $^
+	${RANLIB} $@
+
+$(TARGET)_lt.a: $(TARGET)_lt.o
+	${AR} r $@ $^
+	${RANLIB} $@
+
+$(TARGET).so.${RELEASE_MAJOR}.${RELEASE_MINOR}: $(TARGET).po $(AISTARGET).po
+	$(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname=$(TARGET).so.$(RELEASE_MAJOR) $^
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) $(TARGET).so
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) $(TARGET).so.$(RELEASE_MAJOR)
+
+$(TARGET)_lt.so.${RELEASE_MAJOR}.${RELEASE_MINOR}: $(TARGET)_lt.po
+	$(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname=$(TARGET)_lt.so.$(RELEASE_MAJOR) $^
+	ln -sf $(TARGET)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) $(TARGET)_lt.so
+	ln -sf $(TARGET)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) $(TARGET)_lt.so.$(RELEASE_MAJOR)
 
 %_lt.o: %.c
 	$(CC) $(CFLAGS) -c -o $@ $<
@@ -56,32 +58,31 @@
 
 install: all
 	install -d ${incdir}
-	install -m644 libdlm.h ${incdir}
+	install -m644 $(TARGET).h ${incdir}
 	install -d ${libdir}
 	install -d ${DESTDIR}/etc/udev/rules.d
 	install -m644 ../scripts/51-dlm.rules ${DESTDIR}/etc/udev/rules.d
-	install $(LIBNAME).a ${libdir}
-	install $(LIBNAME)_lt.a ${libdir}
-	install $(LIBNAME).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
-	install $(LIBNAME)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
-	ln -sf $(LIBNAME).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(LIBNAME).so
-	ln -sf $(LIBNAME).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(LIBNAME).so.$(RELEASE_MAJOR)
-	ln -sf $(LIBNAME)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(LIBNAME)_lt.so
-	ln -sf $(LIBNAME)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(LIBNAME)_lt.so.$(RELEASE_MAJOR)
+	install $(TARGET).a ${libdir}
+	install $(TARGET)_lt.a ${libdir}
+	install $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
+	install $(TARGET)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(TARGET).so
+	ln -sf $(TARGET).so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(TARGET).so.$(RELEASE_MAJOR)
+	ln -sf $(TARGET)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(TARGET)_lt.so
+	ln -sf $(TARGET)_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}/$(TARGET)_lt.so.$(RELEASE_MAJOR)
 
 uninstall:
-	${UNINSTALL} libdlm.h ${incdir}
-	$(UNINSTALL} ${DESTDIR}/etc/udev/rules.d/51-dlm.rules
+	${UNINSTALL} $(TARGET).h ${incdir}
+	${UNINSTALL} 51-dlm.rules ${DESTDIR}/etc/udev/rules.d
 	${UNINSTALL} \
-		${LIBNAME}.a \
-		${LIBNAME}_lt.a \
-		$(LIBNAME).so \
-		$(LIBNAME)_lt.so \
-		$(LIBNAME).so.$(RELEASE_MAJOR) \
-		${LIBNAME}.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir} \
-		$(LIBNAME)_lt.so.$(RELEASE_MAJOR) \
-		${LIBNAME}_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
-	rm -f /lib/${LIBNAME}.*
+		${TARGET}.a \
+		${TARGET}_lt.a \
+		$(TARGET).so \
+		$(TARGET)_lt.so \
+		$(TARGET).so.$(RELEASE_MAJOR) \
+		${TARGET}.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) \
+		$(TARGET)_lt.so.$(RELEASE_MAJOR) \
+		${TARGET}_lt.so.$(RELEASE_MAJOR).$(RELEASE_MINOR) ${libdir}
 
 clean:
 	rm -f *.o *.a *.so *.so.* *.po
--- cluster/fence/Makefile	2006/08/11 15:18:06	1.7
+++ cluster/fence/Makefile	2007/04/30 11:22:06	1.8
@@ -10,34 +10,15 @@
 ##
 ###############################################################################
 ###############################################################################
-all:
-	${MAKE} -C agents all
-	${MAKE} -C fence_node all
-	${MAKE} -C fence_tool all
-	${MAKE} -C fenced all
 
-clean:
-	${MAKE} -C agents clean
-	${MAKE} -C fence_node clean
-	${MAKE} -C fence_tool clean
-	${MAKE} -C fenced clean
+include ../make/defines.mk
 
-distclean: clean
-	rm -f make/defines.mk
+SUBDIRS=agents fence_node fence_tool fenced man
 
-install: all
-	if [ ! -d ${sbindir} ]; then \
-		install -d ${sbindir}; \
-	fi
-	${MAKE} -C agents install
-	${MAKE} -C fence_node install
-	${MAKE} -C fence_tool install
-	${MAKE} -C fenced install
-	${MAKE} -C man install
+all: ${SUBDIRS}
 
-uninstall:
-	${MAKE} -C agents uninstall
-	${MAKE} -C fence_node uninstall
-	${MAKE} -C fence_tool uninstall
-	${MAKE} -C fenced uninstall
-	${MAKE} -C man uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/fence/agents/Makefile	2006/10/05 18:48:58	1.15
+++ cluster/fence/agents/Makefile	2007/04/30 11:22:06	1.16
@@ -10,81 +10,23 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
 
+include ../../make/defines.mk
 
-all:
-	${MAKE} -C apc all
-	${MAKE} -C bladecenter all
-	${MAKE} -C brocade all
-	${MAKE} -C bullpap all
-	# ${MAKE} -C cpint all
-	${MAKE} -C drac all
-	${MAKE} -C egenera all
-	# ${MAKE} -C ibmblade all
-	${MAKE} -C ilo all
-	${MAKE} -C ipmilan all
-	${MAKE} -C manual all
-	${MAKE} -C mcdata all
-	# ${MAKE} -C rackswitch all
-	${MAKE} -C rps10 all
-	${MAKE} -C rsa all
-	${MAKE} -C rsb all
-	${MAKE} -C scsi all
-	${MAKE} -C sanbox2 all
-	${MAKE} -C vixel all
-	${MAKE} -C wti all
-	# ${MAKE} -C xcat all
-	[ "${enable_xen}" != "1" ] || ${MAKE} -C xvm all
-	# ${MAKE} -C zvm all
+SUBDIRS  = apc bladecenter brocade bullpap drac egenera ilo ipmilan
+SUBDIRS += manual mcdata rps10 rsa rsb scsi sanbox2 vixel wti xvm
 
-install: all
-	${MAKE} -C apc install
-	${MAKE} -C bladecenter install
-	${MAKE} -C brocade install
-	${MAKE} -C bullpap install
-	# ${MAKE} -C cpint install
-	${MAKE} -C drac install
-	${MAKE} -C egenera install
-	# ${MAKE} -C ibmblade install
-	${MAKE} -C ilo install
-	${MAKE} -C ipmilan install
-	${MAKE} -C manual install
-	${MAKE} -C mcdata install
-	# ${MAKE} -C rackswitch install
-	${MAKE} -C rps10 install
-	${MAKE} -C rsa install
-	${MAKE} -C rsb install
-	${MAKE} -C scsi install
-	${MAKE} -C sanbox2 install
-	${MAKE} -C vixel install
-	${MAKE} -C wti install
-	# ${MAKE} -C xcat install
-	[ "${enable_xen}" != "1" ] || ${MAKE} -C xvm install
-	# ${MAKE} -C zvm install
+DISABLEDSUBDIRS  = baytech cpint ibmblade primergy rackswitch 
+DISABLEDSUBDIRS += rib vmware xcat xen zvm
 
-clean:
-	${MAKE} -C apc clean
-	${MAKE} -C bladecenter clean
-	${MAKE} -C brocade clean
-	${MAKE} -C bullpap clean
-	# ${MAKE} -C cpint clean
-	${MAKE} -C drac clean
-	${MAKE} -C egenera clean
-	# ${MAKE} -C ibmblade clean
-	${MAKE} -C ilo clean
-	${MAKE} -C ipmilan clean
-	${MAKE} -C manual clean
-	${MAKE} -C mcdata clean
-	# ${MAKE} -C rackswitch clean
-	${MAKE} -C rps10 clean
-	${MAKE} -C rsa clean
-	${MAKE} -C rsb clean
-	${MAKE} -C scsi clean
-	${MAKE} -C sanbox2 clean
-	${MAKE} -C vixel clean
-	${MAKE} -C wti clean
-	# ${MAKE} -C xcat clean
-	[ "${enable_xen}" != "1" ] || ${MAKE} -C xvm clean
-	# ${MAKE} -C zvm clean
+all: ${SUBDIRS}
+
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		if [ "$$i" = "xvm" ] && [ "${enable_xen}" != "1" ] && [ "$@" != "clean" ]; then \
+			continue; \
+		else \
+			${MAKE} -C $$i $@; \
+		fi; \
+	done
--- cluster/fence/agents/apc/Makefile	2007/01/31 20:47:19	1.3
+++ cluster/fence/agents/apc/Makefile	2007/04/30 11:22:07	1.4
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_apc.py
 TARGET= fence_apc
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 fence_apc: fence_apc.py
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf sh REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf sh REDHAT_COPYRIGHT >> $(TARGET)
 	echo "BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,5 +33,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
--- cluster/fence/agents/bladecenter/Makefile	2006/08/11 15:18:07	1.3
+++ cluster/fence/agents/bladecenter/Makefile	2007/04/30 11:22:07	1.4
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_bladecenter.pl
 TARGET= fence_bladecenter
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 fence_bladecenter: fence_bladecenter.pl
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,5 +33,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
--- cluster/fence/agents/brocade/Makefile	2006/08/11 15:18:07	1.2
+++ cluster/fence/agents/brocade/Makefile	2007/04/30 11:22:07	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_brocade.pl
 TARGET= fence_brocade
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 $(TARGET): $(SOURCE)
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,6 +33,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
 
--- cluster/fence/agents/bullpap/Makefile	2006/08/11 15:18:07	1.3
+++ cluster/fence/agents/bullpap/Makefile	2007/04/30 11:22:07	1.4
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_bullpap.pl
 TARGET= fence_bullpap
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 $(TARGET): $(SOURCE)
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,6 +33,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
 
--- cluster/fence/agents/drac/Makefile	2006/08/11 15:18:07	1.2
+++ cluster/fence/agents/drac/Makefile	2007/04/30 11:22:07	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_drac.pl
 TARGET= fence_drac
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 fence_drac: fence_drac.pl
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,5 +33,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
--- cluster/fence/agents/egenera/Makefile	2006/08/11 15:18:07	1.2
+++ cluster/fence/agents/egenera/Makefile	2007/04/30 11:22:07	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_egenera.pl
 TARGET= fence_egenera
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 fence_egenera: fence_egenera.pl
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,5 +33,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
--- cluster/fence/agents/ilo/Makefile	2006/08/11 15:18:08	1.2
+++ cluster/fence/agents/ilo/Makefile	2007/04/30 11:22:07	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_ilo.pl
 TARGET= fence_ilo
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 fence_ilo: $(SOURCE)
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,5 +33,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
--- cluster/fence/agents/ipmilan/Makefile	2006/08/11 15:18:08	1.3
+++ cluster/fence/agents/ipmilan/Makefile	2007/04/30 11:22:08	1.4
@@ -11,24 +11,22 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= fence_ipmilan
-
-fence_ipmilan_SOURCE= expect.c ipmilan.c
-
-top_srcdir=../..
-
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config
+include ../../../make/defines.mk
 
+TARGET= fence_ipmilan
 
-include ${top_srcdir}/make/defines.mk
+OBJS=	expect.o \
+	ipmilan.o
 
-CFLAGS+= -DFENCE_RELEASE_NAME=\"${RELEASE}\" -DFENCE
+CFLAGS += -DFENCE_RELEASE_NAME=\"${RELEASE}\" -DFENCE
 
 all: ${TARGET}
 
-fence_ipmilan: ${fence_ipmilan_SOURCE:.c=.o}
-	${CC} ${CFLAGS} ${LDFLAGS} ${fence_ipmilan_SOURCE:.c=.o} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -36,5 +34,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
--- cluster/fence/agents/manual/Makefile	2007/02/13 19:05:42	1.9
+++ cluster/fence/agents/manual/Makefile	2007/04/30 11:22:08	1.10
@@ -11,19 +11,9 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= fence_ack_manual
-
-top_srcdir=../..
-
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${incdir} -I../../../cman/lib -I../../../group/lib
-
+include ../../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
-
-CFLAGS+= -DFENCE_RELEASE_NAME=\"${RELEASE}\"
-
-LDFLAGS+= -L../../../cman/lib
+TARGET= fence_ack_manual
 
 all: ${TARGET}
 
@@ -39,5 +29,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
--- cluster/fence/agents/mcdata/Makefile	2006/08/11 15:18:08	1.2
+++ cluster/fence/agents/mcdata/Makefile	2007/04/30 11:22:08	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_mcdata.pl
 TARGET= fence_mcdata
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 $(TARGET): $(SOURCE)
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,6 +33,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
 
--- cluster/fence/agents/rps10/Makefile	2006/08/11 15:18:08	1.2
+++ cluster/fence/agents/rps10/Makefile	2007/04/30 11:22:08	1.3
@@ -11,24 +11,21 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= fence_rps10
-
-fence_rps10_SOURCE= rps10.c
-
-top_srcdir=../..
-
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config
+include ../../../make/defines.mk
 
+TARGET= fence_rps10
 
-include ${top_srcdir}/make/defines.mk
+OBJS=	rps10.o
 
 CFLAGS+= -DFENCE_RELEASE_NAME=\"${RELEASE}\"
 
 all: ${TARGET}
 
-fence_rps10: ${fence_rps10_SOURCE:.c=.o}
-	${CC} ${CFLAGS} ${LDFLAGS} ${fence_rps10_SOURCE:.c=.o} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -36,5 +33,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
--- cluster/fence/agents/rsa/Makefile	2006/08/11 15:18:08	1.3
+++ cluster/fence/agents/rsa/Makefile	2007/04/30 11:22:08	1.4
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_rsa.py
 TARGET= fence_rsa
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 fence_rsa: fence_rsa.py
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf sh REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf sh REDHAT_COPYRIGHT >> $(TARGET)
 	echo "BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,5 +33,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
--- cluster/fence/agents/rsb/Makefile	2007/02/15 15:49:02	1.3
+++ cluster/fence/agents/rsb/Makefile	2007/04/30 11:22:09	1.4
@@ -11,31 +11,30 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_rsb.py
 TARGET= fence_rsb
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 fence_rsb: fence_rsb.py
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf sh REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf sh REDHAT_COPYRIGHT >> $(TARGET)
 	echo "BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
 
-copytobin: ${TARGET}
-	cp ${TARGET} ${top_srcdir}/bin/${TARGET}
-
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
--- cluster/fence/agents/sanbox2/Makefile	2006/08/11 15:18:08	1.2
+++ cluster/fence/agents/sanbox2/Makefile	2007/04/30 11:22:10	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_sanbox2.pl
 TARGET= fence_sanbox2
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 $(TARGET): $(SOURCE)
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,6 +33,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
 
--- cluster/fence/agents/scsi/Makefile	2007/03/20 18:13:52	1.10
+++ cluster/fence/agents/scsi/Makefile	2007/04/30 11:22:10	1.11
@@ -10,6 +10,8 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_scsi.pl
 TARGET= fence_scsi
 SCRIPT= scsi_reserve
@@ -17,16 +19,13 @@
 TEST_SOURCE= fence_scsi_test.pl
 TEST_TARGET= fence_scsi_test
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET) $(TEST_TARGET)
 
 fence_scsi: fence_scsi.pl
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -35,7 +34,7 @@
 	: > $(TEST_TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(TEST_SOURCE) >> $(TEST_TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TEST_TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TEST_TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TEST_TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TEST_TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(TEST_SOURCE) >> $(TEST_TARGET)
 	chmod +x $(TEST_TARGET)
@@ -46,10 +45,14 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 	install -m755 ${TEST_TARGET} ${sbindir}
-	if [ ! -d ${initdir} ]; then \
-		install -d ${initdir}; \
+	if [ ! -d ${DESTDIR}/etc/init.d ]; then \
+		install -d ${DESTDIR}/etc/init.d; \
 	fi
-	install -m755 ${SCRIPT} ${initdir}
+	install -m755 ${SCRIPT} ${DESTDIR}/etc/init.d
+
+uninstall:
+	${UNINSTALL} ${TARGET} ${TEST_TARGET} ${sbindir}
+	${UNINSTALL} ${SCRIPT} ${DESTDIR}/etc/init.d
 
 clean:
 	rm -f $(TARGET) $(TEST_TARGET)
--- cluster/fence/agents/vixel/Makefile	2006/08/11 15:18:09	1.2
+++ cluster/fence/agents/vixel/Makefile	2007/04/30 11:22:10	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_vixel.pl
 TARGET= fence_vixel
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 $(TARGET): $(SOURCE)
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,6 +33,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
 
--- cluster/fence/agents/wti/Makefile	2006/08/11 15:18:09	1.2
+++ cluster/fence/agents/wti/Makefile	2007/04/30 11:22:10	1.3
@@ -11,19 +11,18 @@
 ###############################################################################
 ###############################################################################
 
+include ../../../make/defines.mk
+
 SOURCE= fence_wti.pl
 TARGET= fence_wti
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
-
 all: $(TARGET)
 
 $(TARGET): $(SOURCE)
 	: > $(TARGET)
 	awk "{print}(\$$1 ~ /#BEGIN_VERSION_GENERATION/){exit 0}" $(SOURCE) >> $(TARGET)
 	echo "\$$FENCE_RELEASE_NAME=\"${RELEASE}\";" >> $(TARGET)
-	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
+	${DEF2VAR} ${BUILDDIR}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
 	chmod +x $(TARGET)
@@ -34,6 +33,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f $(TARGET)
 
--- cluster/fence/agents/xvm/Makefile	2006/11/13 20:51:57	1.5
+++ cluster/fence/agents/xvm/Makefile	2007/04/30 11:22:10	1.6
@@ -10,46 +10,56 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
+include ../../../make/defines.mk
 
-TARGETS=fence_xvm fence_xvmd
+TARGET1= fence_xvm
+TARGET2= fence_xvmd
 
-fence_xvm_SOURCE = fence_xvm.c mcast.c ip_lookup.c simple_auth.c tcp.c \
-		   options.c debug.c
-fence_xvmd_SOURCE= fence_xvmd.c mcast.c simple_auth.c tcp.c virt.c \
-		   options.c options-ccs.c vm_states.c debug.c
 
+OBJS1=	fence_xvm.o \
+	ip_lookup.o
 
-INCLUDE=-I${top_srcdir}/include -I${top_srcdir}/config \
-	-I/usr/include/openais -I/usr/include/libvirt \
-	-I/usr/include/nss3 -I/usr/include/nspr4 \
-	-I../../../cman/lib -I../../../ccs/lib
+OBJS2=	fence_xvmd.o \
+	virt.o \
+	options-ccs.o \
+	vm_states.o
 
-CFLAGS+=-DFENCE_RELEASE_NAME=\"${RELEASE}\" \
-	-Wall -Werror -Wstrict-prototypes -Wshadow -ggdb -D_GNU_SOURCE
+SHAREDOBJS=	mcast.o \
+		simple_auth.o \
+		tcp.o \
+		options.o \
+		debug.o
 
-LIBS+=-L../../../cman/lib -L../../../ccs/lib -L${libdir}/openais \
-      -L../../../dlm/lib -lnss3
+CFLAGS += -DFENCE_RELEASE_NAME=\"${RELEASE}\" -D_GNU_SOURCE
+CFLAGS += -Wall -Werror -Wstrict-prototypes -Wshadow -ggdb
+CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${openaisincdir}
+CFLAGS += -I${virtincdir} -I${nssincdir} -I${nsprincdir}
 
-all: ${TARGETS}
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -L${dlmlibdir}
+LDFLAGS += -L${nsslibdir} -L${nsprlibdir} -L${libdir}
+LDFLAGS += -lccs -lcman -ldlm -lnss3 -lnspr4
 
-fence_xvm: ${fence_xvm_SOURCE:.c=.o}
-	gcc -o $@ $^ $(LIBS)
+EXTRA_LDFLAGS += -L${virtlibdir} -lvirt -L${openaislibdir} -lSaCkpt
 
-fence_xvmd: ${fence_xvmd_SOURCE:.c=.o}
-	gcc -o $@ $^ $(LIBS) -lvirt -lccs -lcman -lSaCkpt
+all: ${TARGET1} ${TARGET2}
+
+${TARGET1}: ${SHAREDOBJS} ${OBJS1}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+${TARGET2}: ${SHAREDOBJS} ${OBJS2}
+	$(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS)
 
 %.o: %.c
-	gcc $(CFLAGS) -c -o $@ $^ $(INCLUDES)
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 clean:
-	rm -f $(TARGETS) *~ *.o
+	rm -f ${TARGET1} ${TARGET2} *~ *.o
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	install -m755 ${TARGETS} ${sbindir}
-
+	install -m755 ${TARGET1} ${TARGET2} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET1} ${TARGET2} ${sbindir}
--- cluster/fence/agents/xvm/vm_states.c	2006/11/13 16:13:50	1.2
+++ cluster/fence/agents/xvm/vm_states.c	2007/04/30 11:22:10	1.3
@@ -27,8 +27,8 @@
 #include <stdlib.h>
 #include <sys/time.h>
 #include <pthread.h>
-#include <saAis.h>
-#include <saCkpt.h>
+#include <openais/saAis.h>
+#include <openais/saCkpt.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <assert.h>
--- cluster/fence/fence_node/Makefile	2006/08/11 15:18:09	1.5
+++ cluster/fence/fence_node/Makefile	2007/04/30 11:22:11	1.6
@@ -11,41 +11,42 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET = fence_node
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
-UNINSTALL=${top_srcdir}/make/uninstall.pl
+OBJS=	../fenced/agent.o \
+	fence_node.o
+
+CFLAGS += -g -D_FILE_OFFSET_BITS=64 -DFENCE_RELEASE_NAME=\"${RELEASE}\"
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -O2 -D_FILE_OFFSET_BITS=64 -DDEBUG -g -DFENCE_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O0 -DDEBUG -g
 else
-CFLAGS+= -O2 -D_FILE_OFFSET_BITS=64 -DFENCE_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
 endif
 
-INCLUDE = -I${top_srcdir}/include -I${ccsincdir} -I${incdir} -I${top_srcdir}/config -I${top_srcdir}/../cman/lib
+CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${incdir}
+CFLAGS += -I../include
 
-LDFLAGS+= -L${ccslibdir} -L${libdir} -L${top_srcdir}/../cman/lib
-LOADLIBES+= -lccs -lcman
-
-FENCE_NODE_SRC = \
-	agent.c \
-	fence_node.c
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
 
 all: ${TARGET}
 
-fence_node: ${FENCE_NODE_SRC:.c=.o}
-	${CC} ${CFLAGS} ${INCLUDE} ${FENCE_NODE_SRC:.c=.o} ${LDFLAGS} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-agent.c:
-	ln -s ${top_srcdir}/fenced/agent.c .
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
-	rm -rf *~ *.o ${TARGET} agent.c
+	rm -rf *~ *.o ${TARGET}
--- cluster/fence/fence_tool/Makefile	2006/10/13 14:57:55	1.12
+++ cluster/fence/fence_tool/Makefile	2007/04/30 11:22:11	1.13
@@ -11,41 +11,42 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET = fence_tool
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
-UNINSTALL=${top_srcdir}/make/uninstall.pl
+OBJS= ../fenced/agent.o \
+	fence_tool.o
+
+CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${incdir}
+CFLAGS += -I../include -I../../group/lib
+CFLAGS += -D_FILE_OFFSET_BITS=64 -DFENCE_RELEASE_NAME=\"${RELEASE}\"
 
 ifeq ($(DEBUG),y)
-CFLAGS+= -O2 -D_FILE_OFFSET_BITS=64 -DDEBUG -g -DFENCE_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O0 -g
 else
-CFLAGS+= -O2 -D_FILE_OFFSET_BITS=64 -DFENCE_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
 endif
 
-INCLUDE = -I${top_srcdir}/include -I${ccsincdir} -I${cmanincdir} -I${incdir} -I${top_srcdir}/config -I${top_srcdir}/../group/lib
-
-LDFLAGS+= -L${ccslibdir} -L${libdir} -L${top_srcdir}/../cman/lib -L${top_srcdir}/../group/lib
-LOADLIBES+= -lccs -lcman -lgroup
-
-FENCE_TOOL_SRC = \
-	agent.c \
-	fence_tool.c
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
+LDFLAGS += -L../../group/lib -lgroup
 
 all: ${TARGET}
 
-fence_tool: ${FENCE_TOOL_SRC:.c=.o} ${top_srcdir}/../group/lib/libgroup.a
-	${CC} ${CFLAGS} ${INCLUDE} ${FENCE_TOOL_SRC:.c=.o} ${LDFLAGS} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-agent.c:
-	ln -s ${top_srcdir}/fenced/agent.c .
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -rf *~ *.o ${TARGET} agent.c
--- cluster/fence/fenced/Makefile	2006/08/11 15:18:10	1.7
+++ cluster/fence/fenced/Makefile	2007/04/30 11:22:11	1.8
@@ -10,49 +10,32 @@
 ##
 ###############################################################################
 ###############################################################################
-TARGET = fenced
-
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
-UNINSTALL=${top_srcdir}/make/uninstall.pl
-
-CFLAGS+= -g -DFENCE_RELEASE_NAME=\"${RELEASE}\" \
-	-I. \
-	-I${top_srcdir}/include \
-	-I${ccsincdir} \
-	-I${incdir} \
-	-I${top_srcdir}/config \
-	-I${top_srcdir}/../cman/lib \
-	-I${top_srcdir}/../group/lib
 
-LDFLAGS += -L${top_srcdir}/../cman/lib
+include ../../make/defines.mk
 
-all: ${TARGET}
+TARGET = fenced
 
-${TARGET}: \
-	main.o \
+OBJS=	main.o \
 	recover.o \
 	group.o \
 	member_cman.o \
-	agent.o \
-	../../ccs/lib/libccs.a \
-	../../group/lib/libgroup.a
-	$(CC) $(LDFLAGS) -o $@ $^ -lcman 
+	agent.o 
 
-main.o: main.c fd.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+CFLAGS += -D_FILE_OFFSET_BITS=64 -DFENCE_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -g
+CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${incdir}
+CFLAGS += -I. -I../include -I../../group/lib
 
-recover.o: recover.c fd.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
+LDFLAGS += -L../../group/lib -l group
 
-group.o: group.c fd.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+all: ${TARGET}
 
-member_cman.o: member_cman.c fd.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-agent.o: agent.c fd.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -61,5 +44,8 @@
 	strip ${TARGET}
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -rf *~ *.o ${TARGET}
--- cluster/fence/man/Makefile	2006/10/05 16:11:36	1.10
+++ cluster/fence/man/Makefile	2007/04/30 11:22:11	1.11
@@ -11,6 +11,8 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET8= \
 	fence.8 \
 	fence_ack_manual.8 \
@@ -35,11 +37,9 @@
 	fence_xvmd.8 \
 	fenced.8
 
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
-
-top_srcdir=..
+all:
 
-include ${top_srcdir}/make/defines.mk
+clean:
 
 install:
 	install -d ${mandir}/man8
--- cluster/gfs/Makefile	2006/08/28 16:51:36	1.10
+++ cluster/gfs/Makefile	2007/04/30 11:22:12	1.11
@@ -11,59 +11,23 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=.
-include ${top_srcdir}/make/defines.mk
+include ../make/defines.mk
 
-all:
-	${MAKE} -C libgfs all
-	${MAKE} -C gfs_debug all
-	${MAKE} -C gfs_edit all
-	${MAKE} -C gfs_fsck all
-	${MAKE} -C gfs_grow all
-	${MAKE} -C gfs_jadd all
-	${MAKE} -C gfs_mkfs all
-	${MAKE} -C gfs_quota all
-	${MAKE} -C gfs_tool all
+SUBDIRS=libgfs gfs_debug gfs_edit gfs_fsck gfs_grow gfs_jadd gfs_mkfs gfs_quota gfs_tool man init.d
 
-clean:
-	${MAKE} -C libgfs clean
-	${MAKE} -C gfs_debug clean
-	${MAKE} -C gfs_edit clean
-	${MAKE} -C gfs_fsck clean
-	${MAKE} -C gfs_grow clean
-	${MAKE} -C gfs_jadd clean
-	${MAKE} -C gfs_mkfs clean
-	${MAKE} -C gfs_quota clean
-	${MAKE} -C gfs_tool clean
+all: ${SUBDIRS}
 
-distclean: clean
-	rm -f make/defines.mk
-
-install: all
-	${MAKE} -C libgfs install
-	${MAKE} -C gfs_debug install
-	${MAKE} -C gfs_edit install
-	${MAKE} -C gfs_fsck install
-	${MAKE} -C gfs_grow install
-	${MAKE} -C gfs_jadd install
-	${MAKE} -C gfs_mkfs install
-	${MAKE} -C gfs_quota install
-	${MAKE} -C gfs_tool install
-	${MAKE} -C man install
-	${MAKE} -C init.d install
-	(cd ${sbindir}; ln -sf mount.gfs2 mount.gfs)
-	(cd ${sbindir}; ln -sf umount.gfs2 umount.gfs)
-
-
-deinstall uninstall:
-	${MAKE} -C libgfs uninstall
-	${MAKE} -C gfs_debug uninstall
-	${MAKE} -C gfs_edit uninstall
-	${MAKE} -C gfs_fsck uninstall
-	${MAKE} -C gfs_grow uninstall
-	${MAKE} -C gfs_jadd uninstall
-	${MAKE} -C gfs_mkfs uninstall
-	${MAKE} -C gfs_quota uninstall
-	${MAKE} -C gfs_tool uninstall
-	${MAKE} -C man uninstall
-	${MAKE} -C init.d uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done; \
+	if [ "$@" = "install" ]; then \
+		cd ${sbindir}; \
+			ln -sf mount.gfs2 mount.gfs; \
+			ln -sf umount.gfs2 umount.gfs; \
+	fi; \
+	if [ "$@" = "uninstall" ]; then \
+		cd ${sbindir}; rm -f mount.gfs umount.gfs; \
+	fi
+		
--- cluster/gfs/gfs_debug/Makefile	2006/08/11 15:18:10	1.5
+++ cluster/gfs/gfs_debug/Makefile	2007/04/30 11:22:12	1.6
@@ -11,41 +11,29 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= gfs_debug
 
-SOURCE=	\
-	block_device.c \
-	basic.c \
-	main.c \
-	ondisk.c \
-	readfile.c \
-	util.c
-
-CFLAGS+= -O2 -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	-DGFS_RELEASE_NAME=\"${RELEASE}\"
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config \
-	-I${gfskincdir} -I${incdir}
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
-
-LDFLAGS+= -L${libdir}
+OBJS=	block_device.o \
+	basic.o \
+	main.o \
+	ondisk.o \
+	readfile.o \
+	util.o
+
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
+CFLAGS += -I${gfskincdir} -I${incdir}
+CFLAGS += -I../include
 
 all: ${TARGET}
 
-gfs_debug: ${SOURCE}
-	${CC} ${CFLAGS} ${INCLUDE} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -53,6 +41,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
 
--- cluster/gfs/gfs_edit/Makefile	2006/08/11 15:18:10	1.6
+++ cluster/gfs/gfs_edit/Makefile	2007/04/30 11:22:12	1.7
@@ -11,34 +11,26 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET= gfs_edit
 
-SOURCE=	\
-	gfshex.c \
-	hexedit.c
-
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
-
-CFLAGS+= -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	 -DGFS_RELEASE_NAME=\"${RELEASE}\"
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${gfskincdir}
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${gfskincdir}'; fi)
-else
-INCLUDE += -I${gfskincdir}
-endif
+OBJS= gfshex.o \
+      hexedit.o
+
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -I${gfskincdir} -I${ncursesincdir}
+CFLAGS += -I../include
+
+LDFLAGS += -L${ncurseslibdir} -lncurses
 
 all: ${TARGET}
 
-gfs_edit: ${SOURCE}
-	${CC} ${CFLAGS} ${INCLUDE} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -lncurses -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -46,7 +38,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
-
-
--- cluster/gfs/gfs_fsck/Makefile	2007/01/19 19:01:31	1.7
+++ cluster/gfs/gfs_fsck/Makefile	2007/04/30 11:22:12	1.8
@@ -10,16 +10,10 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir= ..
- 
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= gfs_fsck
 
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config
-
-.PHONY: all clean
-
 sources = main.c initialize.c pass1.c pass1b.c pass1c.c \
 	  pass2.c pass3.c pass4.c pass5.c \
 	  block_list.c super.c bio.c ondisk.c file.c rgrp.c fs_bits.c util.c \
@@ -27,22 +21,24 @@
 	  inode_hash.c bitmap.c lost_n_found.c inode.c link.c metawalk.c \
 	  eattr.c
 
-CFLAGS+=-D_FILE_OFFSET_BITS=64 -DHELPER_PROGRAM -DGFS_RELEASE_NAME=\"${RELEASE}\" -Wall -O2
+CFLAGS += -D_FILE_OFFSET_BITS=64 -DHELPER_PROGRAM -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -MMD -O2
+CFLAGS += -I../include
 
 all: ${TARGET}
 
-gfs_fsck: $(sources:.c=.o)
-	$(CC) $(CFLAGS) $^ -o $@
+${TARGET}: $(sources:.c=.o)
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 %.o: %.c
-	$(CC) -MMD -c $(INCLUDES) $(CFLAGS) $< -o $@
-
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 test_block_list: block_list.o bitmap.o log.o test_block_list.o
-	$(CC) $(CFLAGS) $^ -o $@
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 test_bitmap: bitmap.o test_bitmap.o log.o
-	$(CC) $(CFLAGS) $^ -o $@
+	$(CC) -o $@ $^ $(LDFLAGS)
+
 clean:
 	@rm -f *.o *~ *.d gfs_fsck
 
@@ -51,7 +47,10 @@
 		install -d ${sbindir}; \
 	fi
 	install -m755 ${TARGET} ${sbindir}
-	(cd ${sbindir}; ln -f gfs_fsck fsck.gfs)
+	(cd ${sbindir}; ln -sf ${TARGET} fsck.gfs)
+
+uninstall:
+	${UNINSTALL} ${TARGET} fsck.gfs ${sbindir}
 
 distclean: clean
 	@rm -f cscope.* test_inode_list *.orig *.rej test_block_list test_bitmap
@@ -61,5 +60,4 @@
 	 --keyword=log_notice --keyword=log_warn --keyword=log_err --keyword=log_crit \
 	 --keyword=log_debug --keyword=log_err --keyword=log_print -d - $(sources) > gfs_fsck.pot	
 
-
 -include $(sources:.c=.d)
--- cluster/gfs/gfs_grow/Makefile	2006/08/11 15:18:10	1.6
+++ cluster/gfs/gfs_grow/Makefile	2007/04/30 11:22:12	1.7
@@ -11,36 +11,26 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= gfs_grow
 
-SOURCE=	main.c \
-	ondisk.c
+OBJS= main.o \
+      ondisk.o
 
-CFLAGS+= -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	-DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -I${gfskincdir} -I${incdir}
+CFLAGS += -I../include -I../libgfs
 
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${top_srcdir}/libgfs -I${gfskincdir} -I${incdir}
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
-
-LDFLAGS+= -L${libdir} -L${top_srcdir}/libgfs
-LOADLIBS+= -lgfs
+LDFLAGS += -L../libgfs -lgfs
 
 all: ${TARGET}
 
-gfs_grow: ${top_srcdir}/libgfs/libgfs.a
-	${CC} ${CFLAGS} ${INCLUDE} main.c ondisk.c ${LDFLAGS} ${LOADLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -48,5 +38,8 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
--- cluster/gfs/gfs_jadd/Makefile	2006/08/11 15:18:10	1.6
+++ cluster/gfs/gfs_jadd/Makefile	2007/04/30 11:22:13	1.7
@@ -11,37 +11,26 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= gfs_jadd
 
-SOURCE=	main.c \
-	ondisk.c
+OBJS= main.o \
+      ondisk.o
 
-CFLAGS+= -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	-DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -I${gfskincdir} -I${incdir}
+CFLAGS += -I../include -I../libgfs
 
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${top_srcdir}/libgfs\
-	-I${gfskincdir} -I${incdir}
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
-
-LDFLAGS+= -L${libdir} -L${top_srcdir}/libgfs
-LOADLIBES+= -lgfs
+LDFLAGS += -L../libgfs -lgfs
 
 all: ${TARGET}
 
-gfs_jadd: ${top_srcdir}/libgfs/libgfs.a
-	${CC} ${CFLAGS} ${INCLUDE} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -49,6 +38,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
 
--- cluster/gfs/gfs_mkfs/Makefile	2006/08/11 15:18:11	1.6
+++ cluster/gfs/gfs_mkfs/Makefile	2007/04/30 11:22:13	1.7
@@ -11,48 +11,42 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= gfs_mkfs
 
-SOURCE=	\
-	device_geometry.c \
-	fs_geometry.c \
-	locking.c \
-	main.c \
-	ondisk.c \
-	structures.c
-
-CFLAGS+= -O2 -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	-DGFS_RELEASE_NAME=\"${RELEASE}\"
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config \
-	-I${gfskincdir} -I${incdir} -I${top_srcdir}/libgfs
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
+OBJS=	device_geometry.o \
+	fs_geometry.o \
+	locking.o \
+	main.o \
+	ondisk.o \
+	structures.o
+
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
+CFLAGS += -I${gfskincdir} -I${incdir} -I${volidincdir}
+CFLAGS += -I../include -I../libgfs
 
-LDFLAGS+=-L${top_srcdir}/libgfs -L${libdir}
+LDFLAGS += -L${volidlibdir} -lvolume_id
+LDFLAGS += -L../libgfs -lgfs
 
 all: ${TARGET}
 
-gfs_mkfs: ${SOURCE} ${top_srcdir}/libgfs/libgfs.a
-	${CC} ${CFLAGS} ${INCLUDE} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@ -lgfs -lvolume_id
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
 	install -m755 ${TARGET} ${sbindir}
-	(cd ${sbindir}; ln -f gfs_mkfs mkfs.gfs)
+	(cd ${sbindir}; ln -f ${TARGET} mkfs.gfs)
+
+uninstall:
+	${UNINSTALL} ${TARGET} mkfs.gfs ${sbindir}
 
 clean:
 	rm -f *.o ${TARGET}
--- cluster/gfs/gfs_quota/Makefile	2007/04/04 21:31:33	1.6
+++ cluster/gfs/gfs_quota/Makefile	2007/04/30 11:22:13	1.7
@@ -10,37 +10,29 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+
+include ../../make/defines.mk
 
 TARGET= gfs_quota
 
-SOURCE=	\
-	check.c \
-	main.c \
-	names.c \
-	ondisk.c \
-	layout.c
-
-CFLAGS+= -O2 -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	-DGFS_RELEASE_NAME=\"${RELEASE}\"
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${gfskincdir}
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
+OBJS=	check.o \
+	main.o \
+	names.o \
+	ondisk.o \
+	layout.o
+
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
+CFLAGS += -I${gfskincdir}
+CFLAGS += -I../include
 
 all: ${TARGET}
 
-gfs_quota: ${SOURCE}
-	${CC} ${CFLAGS} ${INCLUDE} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -48,6 +40,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
 
--- cluster/gfs/gfs_quota/layout.c	2007/04/04 21:31:33	1.2
+++ cluster/gfs/gfs_quota/layout.c	2007/04/30 11:22:13	1.3
@@ -25,8 +25,8 @@
 #include <errno.h>
 
 #define __user
-#include <linux/gfs_ioctl.h>
-#include <linux/gfs_ondisk.h>
+#include "gfs_ioctl.h"
+#include "gfs_ondisk.h"
 
 #include "osi_list.h"
 #include "linux_endian.h"
--- cluster/gfs/gfs_tool/Makefile	2006/08/11 15:18:11	1.9
+++ cluster/gfs/gfs_tool/Makefile	2007/04/30 11:22:13	1.10
@@ -10,40 +10,33 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir= ..
-include ${top_srcdir}/make/defines.mk
+
+include ../../make/defines.mk
 
 TARGET= gfs_tool
 
-SOURCE=	counters.c \
-	df.c \
-	layout.c \
-	main.c \
-	misc.c \
-	ondisk.c \
-	sb.c \
-	tune.c \
-	util.c
-
-CFLAGS+= -O2 -Wall -D_FILE_OFFSET_BITS=64 \
-	-DGFS_RELEASE_NAME=\"${RELEASE}\"
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${gfskincdir}
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
+OBJS=	counters.o \
+	df.o \
+	layout.o \
+	main.o \
+	misc.o \
+	ondisk.o \
+	sb.o \
+	tune.o \
+	util.o
+
+CFLAGS += -D_FILE_OFFSET_BITS=64 -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2 -Wall 
+CFLAGS += -I${gfskincdir}
+CFLAGS += -I../include
 
 all: ${TARGET}
 
-gfs_tool: ${SOURCE}
-	${CC} ${CFLAGS} ${INCLUDE} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -51,6 +44,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
 
--- cluster/gfs/init.d/Makefile	2006/08/21 21:44:28	1.3
+++ cluster/gfs/init.d/Makefile	2007/04/30 11:22:14	1.4
@@ -10,19 +10,17 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= gfs
-
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-top_srcdir=..
+TARGET= gfs
 
-include ${top_srcdir}/make/defines.mk
+all:
 
 clean:
 
 install:
-	install -d ${DESTDIR}/etc/rc.d/init.d
-	install ${TARGET} ${DESTDIR}/etc/rc.d/init.d
+	install -d ${DESTDIR}/etc/init.d
+	install ${TARGET} ${DESTDIR}/etc/init.d
 
 uninstall:
 	${UNINSTALL} ${TARGET} ${DESTDIR}/etc/init.d
--- cluster/gfs/libgfs/Makefile	2006/08/11 15:18:11	1.3
+++ cluster/gfs/libgfs/Makefile	2007/04/30 11:22:14	1.4
@@ -13,33 +13,31 @@
 
 .PHONY: all clean install
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 LIBGFS=libgfs.a
-INCLUDEPATH=-I${top_srcdir}/include -I${top_srcdir}/config -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/ -I${gfskincdir}
 
-INSTALL=install
-CC=gcc -c
-LD=gcc
-CFLAGS=-Wall -ggdb -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
-       -D_GNU_SOURCE -DHELPER_PROGRAM -DGFS_RELEASE_NAME=\"2\" ${INCLUDEPATH}
-
-H=gfs_ondisk.h incore.h libgfs.h
-C=bio.c bitmap.c block_list.c file.c fs_bits.c fs_bmap.c fs_dir.c \
-	fs_inode.c inode.c log.c ondisk.c rgrp.c size.c super.c util.c
-O=$(subst .c,.o,${C})
+CFLAGS += -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/
+CFLAGS += -I${gfskincdir} -I../include
+CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
+CFLAGS += -D_GNU_SOURCE -DHELPER_PROGRAM -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -c -Wall -ggdb 
+
+OBJS=bio.o bitmap.o block_list.o file.o fs_bits.o fs_bmap.o fs_dir.o \
+	fs_inode.o inode.o log.o ondisk.o rgrp.o size.o super.o util.o
 
 all: ${LIBGFS}
 
-${LIBGFS}: ${O}
-	ar cru libgfs.a ${O}
+${LIBGFS}: ${OBJS}
+	ar cru libgfs.a ${OBJS}
 	ranlib libgfs.a
 
-.c.o: $<
-	${CC} ${CFLAGS} -o $@ $^
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 
+uninstall:
+
 clean:
 	rm -f *.o ${LIBGFS}
--- cluster/gfs/man/Makefile	2004/10/05 20:16:24	1.3
+++ cluster/gfs/man/Makefile	2007/04/30 11:22:14	1.4
@@ -11,6 +11,8 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET8= \
 	gfs.8 \
 	gfs_mount.8 \
@@ -21,12 +23,9 @@
 	gfs_quota.8 \
 	gfs_tool.8
 
+all:
 
-top_srcdir = ..
-
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
-
-include ${top_srcdir}/make/defines.mk
+clean:
 
 install:
 	install -d ${mandir}/man8
--- cluster/gfs-kernel/src/gfs/Makefile	2006/08/11 14:32:32	1.14
+++ cluster/gfs-kernel/src/gfs/Makefile	2007/04/30 11:22:15	1.15
@@ -11,18 +11,12 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir = $(shell pwd)/../..
 ifndef USING_KBUILD
-include ${top_srcdir}/make/defines.mk
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../../make/defines.mk
 endif
 
-linux_orig = ${top_srcdir}/src/linux-orig
-linux_patched = ${top_srcdir}/src/linux-patched
-
 PWD := $(shell pwd)
 
-TARGET = gfs.patch
 SYMVERFILE := ${KERNEL_SRC}/Module.symvers
 
 obj-m := gfs.o
@@ -65,8 +59,6 @@
 	unlinked.o \
 	util.o
 
-EXTRA_CFLAGS += -I$(obj) -I${incdir} -I/usr/include 
-
 all:
 	${MAKE} -C ${KERNEL_SRC} M=${PWD} symverfile=${SYMVERFILE} modules USING_KBUILD=yes
 
@@ -85,22 +77,3 @@
 		gfs.ko gfs.mod.c .tmp_versions *~ *~* Modules.symvers
 
 distclean: clean
-
-patches: pre add post
-
-pre:
-	@if [ ! -d ${linux_orig} ] ; then \
-		echo "No linux source directory (${linux_orig})" ; \
-		exit 1; \
-	fi
-	mkdir -p ${linux_patched}
-	rsync -a --delete ${linux_orig}/ ${linux_patched}/
-
-post:
-	( cd ${top_srcdir}/src ; diff -urN linux-orig linux-patched > ${TARGET} ; exit 0 )
-
-add:
-	mkdir -p ${linux_patched}/fs/gfs
-	cp *.[ch] ${linux_patched}/fs/gfs
-	mv ${linux_patched}/fs/gfs/gfs_*.h ${linux_patched}/include/linux
-
--- cluster/gfs2/Makefile	2006/08/11 15:18:12	1.9
+++ cluster/gfs2/Makefile	2007/04/30 11:22:15	1.10
@@ -11,56 +11,14 @@
 ###############################################################################
 ###############################################################################
 
-all: tag_libgfs2 tag_convert tag_edit tag_fsck tag_mkfs tag_mount tag_tool
+include ../make/defines.mk
 
-tag_libgfs2:
-	${MAKE} -C libgfs2 all
-tag_convert:
-	${MAKE} -C convert all
-tag_edit:
-	${MAKE} -C edit all
-tag_fsck:
-	${MAKE} -C fsck all
-tag_mkfs:
-	${MAKE} -C mkfs all
-tag_mount:
-	${MAKE} -C mount all
-tag_quota:
-	${MAKE} -C quota all
-tag_tool:
-	${MAKE} -C tool all
+SUBDIRS=libgfs2 convert edit fsck mkfs mount quota tool man init.d
 
-clean:
-	${MAKE} -C libgfs2 clean
-	${MAKE} -C convert clean
-	${MAKE} -C edit clean
-	${MAKE} -C fsck clean
-	${MAKE} -C mkfs clean
-	${MAKE} -C mount clean
-	${MAKE} -C quota clean
-	${MAKE} -C tool clean
+all: ${SUBDIRS}
 
-distclean: clean
-	rm -f make/defines.mk
-
-install: all
-	${MAKE} -C convert install
-	${MAKE} -C edit install
-	${MAKE} -C fsck install
-	${MAKE} -C init.d install
-	${MAKE} -C man install
-	${MAKE} -C mkfs install
-	${MAKE} -C mount install
-	${MAKE} -C quota install
-	${MAKE} -C tool install
-
-deinstall uninstall:
-	${MAKE} -C convert uninstall
-	${MAKE} -C edit uninstall
-	${MAKE} -C fsck uninstall
-	${MAKE} -C init.d uninstall
-	${MAKE} -C man uninstall
-	${MAKE} -C mkfs uninstall
-	${MAKE} -C mount uninstall
-	${MAKE} -C quota uninstall
-	${MAKE} -C tool uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/gfs2/convert/Makefile	2006/08/11 15:18:12	1.5
+++ cluster/gfs2/convert/Makefile	2007/04/30 11:22:16	1.6
@@ -10,30 +10,35 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= gfs2_convert
 
-INCLUDES=-I${top_srcdir}/include -I${top_srcdir}/config -I${top_srcdir}/libgfs2 -I/usr/include -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/
+OBJS= gfs2_convert.o
 
-LIBS=${top_srcdir}/libgfs2
+CFLAGS += -D_FILE_OFFSET_BITS=64 -DHELPER_PROGRAM -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -Wall -g
+CFLAGS += -I${incdir} -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/
+CFLAGS += -I../include -I../libgfs2
 
-CFLAGS+=-D_FILE_OFFSET_BITS=64 -DHELPER_PROGRAM -DGFS2_RELEASE_NAME=\"2\" -Wall -g
+LDFLAGS += -L../libgfs2 -lgfs2
 
 all: ${TARGET}
 
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
+
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
-gfs2_convert.o: gfs2_convert.c
-	$(CC) $(INCLUDES) $(CFLAGS) -c -o gfs2_convert.o gfs2_convert.c
-
-gfs2_convert: gfs2_convert.o ${LIBS}/libgfs2.a
-	$(CC) $(INCLUDES) -L$(LIBS) $(CFLAGS) -o ${TARGET} gfs2_convert.o -lgfs2
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
 
 clean:
 	@rm -f *.o ${TARGET}
--- cluster/gfs2/edit/Makefile	2006/08/11 15:18:12	1.4
+++ cluster/gfs2/edit/Makefile	2007/04/30 11:22:16	1.5
@@ -11,35 +11,28 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET= gfs2_edit
 
-SOURCE=	\
-	gfs2hex.c \
-	hexedit.c
-
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
-
-CFLAGS+= -ggdb -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	 -DGFS2_RELEASE_NAME=\"${RELEASE}\"
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I../libgfs2 
-LIBS=../libgfs2/
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs2_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
+OBJS=	gfs2hex.o \
+	hexedit.o
+
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -ggdb 
+CFLAGS += -I${ncursesincdir}
+CFLAGS += -I../include -I../libgfs2
+
+LDFLAGS += -L${ncurseslibdir} -lncurses
+LDFLAGS += -L../libgfs2/ -lgfs2
 
-all: gfs2_edit
+all: ${TARGET}
 
-gfs2_edit: ${SOURCE} hexedit.h gfs2hex.h ${LIBS}/libgfs2.a
-	${CC} ${CFLAGS} ${INCLUDE} -L${LIBS} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -lncurses -o $@ -lgfs2
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -47,6 +40,9 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
 
--- cluster/gfs2/fsck/Makefile	2007/01/23 20:55:46	1.7
+++ cluster/gfs2/fsck/Makefile	2007/04/30 11:22:16	1.8
@@ -10,37 +10,37 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
 TARGET= gfs2_fsck
 
-INCLUDES= -I${top_srcdir}/include -I${top_srcdir}/config -I${top_srcdir}/libgfs2 -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/
-LIBS=${top_srcdir}/libgfs2
-
 .PHONY: all clean
 
 sources = main.c initialize.c pass1.c pass1b.c pass1c.c pass2.c pass3.c \
-	pass4.c pass5.c util.c fs_recovery.c \
-	lost_n_found.c link.c eattr.c hash.c inode_hash.c metawalk.c
+	  pass4.c pass5.c util.c fs_recovery.c lost_n_found.c link.c \
+	  eattr.c hash.c inode_hash.c metawalk.c
 
-CFLAGS+=-D_FILE_OFFSET_BITS=64 -DHELPER_PROGRAM -DGFS_RELEASE_NAME=\"${RELEASE}\" -Wall -O2
+CFLAGS += -D_FILE_OFFSET_BITS=64 -DHELPER_PROGRAM -DGFS_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -MMD -Wall -O2
+CFLAGS += -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/
+CFLAGS += -I../include -I../libgfs2
+
+LDFLAGS += -L../libgfs2 -lgfs2
 
 all: ${TARGET}
 
-gfs2_fsck: $(sources:.c=.o) $(LIBS)/libgfs2.a
-	$(CC) $(CFLAGS) -L$(LIBS) $^ -o $@ -lgfs2
+${TARGET}: $(sources:.c=.o)
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 %.o: %.c
-	$(CC) -MMD -c $(INCLUDES) $(CFLAGS) $< -o $@
-
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 test_block_list: log.o test_block_list.o
-	$(CC) $(CFLAGS) $^ -o $@
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 test_bitmap: test_bitmap.o log.o
-	$(CC) $(CFLAGS) $^ -o $@
+	$(CC) -o $@ $^ $(LDFLAGS)
+
 clean:
 	@rm -f gfs2_fsck *.o *~ *.d
 
@@ -48,17 +48,17 @@
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
 	install -m755 ${TARGET} ${sbindir}
 
-distclean: clean
-	@rm -f cscope.* gfs2_fsck test_inode_list *.orig *.rej test_block_list test_bitmap
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
 
+distclean: clean
+	@rm -f cscope.* test_inode_list *.orig *.rej test_block_list test_bitmap
 
 gfs2_fsck.pot: $(sources)
 	@xgettext -C -F --keyword=print_log --keyword=log_debug --keyword=log_info --keyword=_ \
 	 --keyword=log_notice --keyword=log_warn --keyword=log_err --keyword=log_crit \
 	 --keyword=log_debug --keyword=log_err --keyword=log_print -d - $(sources) > gfs2_fsck.pot	
 
-
 -include $(sources:.c=.d)
--- cluster/gfs2/init.d/Makefile	2006/08/11 15:18:13	1.3
+++ cluster/gfs2/init.d/Makefile	2007/04/30 11:22:16	1.4
@@ -10,19 +10,17 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= gfs2
-
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-top_srcdir=..
+TARGET= gfs2
 
-include ${top_srcdir}/make/defines.mk
+all:
 
 clean:
 
 install:
-	install -d ${DESTDIR}/etc/rc.d/init.d
-	install ${TARGET} ${DESTDIR}/etc/rc.d/init.d
+	install -d ${DESTDIR}/etc/init.d
+	install ${TARGET} ${DESTDIR}/etc/init.d
 
 uninstall:
-	${UNINSTALL} ${TARGET} ${DESTDIR}/etc/rc.d/init.d
+	${UNINSTALL} ${TARGET} ${DESTDIR}/etc/init.d
--- cluster/gfs2/libgfs2/Makefile	2006/08/11 15:18:13	1.4
+++ cluster/gfs2/libgfs2/Makefile	2007/04/30 11:22:16	1.5
@@ -13,36 +13,45 @@
 
 .PHONY: all clean install
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
-LIBGFS2=libgfs2.a
-INCLUDEPATH=-I${top_srcdir}/include -I${top_srcdir}/config -I/usr/include -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/
+TARGET= libgfs2.a
 
-INSTALL=install
-CC=gcc -c
-LD=gcc
 ## Bob: add -O2 back in and take -ggdb out
-CFLAGS=-Wall -ggdb -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
-       -D_GNU_SOURCE -DGFS2_RELEASE_NAME=\"2\" ${INCLUDEPATH}
+CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
+CFLAGS += -D_GNU_SOURCE -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -Wall -ggdb
+CFLAGS += -I${incdir} -I${KERNEL_SRC}/fs/gfs2/ -I${KERNEL_SRC}/include/
+CFLAGS += -I../include
+
+OBJS=	bitmap.o \
+	block_list.o \
+	buf.o \
+	device_geometry.o \
+	fs_bits.o \
+	fs_geometry.o \
+	fs_ops.o \
+	locking.o \
+	gfs2_log.o \
+	misc.o \
+	ondisk.o \
+	size.o \
+	structures.o \
+	super.o \
+	rgrp.o
 
-H=gfs2_disk_hash.h libgfs2.h linux_endian.h ondisk.h osi_list.h
-C=bitmap.c block_list.c buf.c device_geometry.c fs_bits.c fs_geometry.c fs_ops.c locking.c gfs2_log.c misc.c ondisk.c size.c structures.c super.c rgrp.c
-O=$(subst .c,.o,${C})
+all: ${TARGET}
 
-all: ${LIBGFS2}
-
-${LIBGFS2}: ${O}
-	ar cru libgfs2.a ${O}
+${TARGET}: ${OBJS}
+	ar cru libgfs2.a ${OBJS}
 	ranlib libgfs2.a
 
-.c.o: $<
-	${CC} ${CFLAGS} -o $@ $^
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 
-clean:
-	rm -f *.o ${LIBGFS2}
+uninstall:
 
-#CFLAGS+= -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-#	 -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+clean:
+	rm -f *.o ${TARGET}
--- cluster/gfs2/man/Makefile	2006/06/28 14:12:02	1.2
+++ cluster/gfs2/man/Makefile	2007/04/30 11:22:16	1.3
@@ -11,6 +11,8 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET8= \
 	gfs2.8 \
 	gfs2_convert.8 \
@@ -22,12 +24,9 @@
 	gfs2_tool.8 \
 	mkfs.gfs2.8
 
+all:
 
-top_srcdir = ..
-
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
-
-include ${top_srcdir}/make/defines.mk
+clean:
 
 install:
 	install -d ${mandir}/man8
--- cluster/gfs2/mkfs/Makefile	2007/03/26 19:41:00	1.13
+++ cluster/gfs2/mkfs/Makefile	2007/04/30 11:22:16	1.14
@@ -3,40 +3,42 @@
 #
 .PHONY: all clean install
 
-top_srcdir=..
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
+TARGET1= mkfs.gfs2
+TARGET2= gfs2_jadd
 
-MKFS=mkfs.gfs2
-JADD=gfs2_jadd
-INCLUDEPATH=-I${KERNEL_SRC}/include/ -I${top_srcdir}/include/ -I${top_srcdir}/libgfs2/ -I${top_srcdir}/config/
+OBJS=	main.o \
+	main_mkfs.o \
+	main_jadd.o
 
-INSTALL=install
-CC=gcc -c
-LD=gcc
-CFLAGS=-Wall -O2 -ggdb -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
-       -D_GNU_SOURCE -DGFS2_RELEASE_NAME=\"2\" ${INCLUDEPATH}
-LDFLAGS=-L${top_srcdir}/libgfs2 -L${libdir}
+CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
+CFLAGS += -D_GNU_SOURCE -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -Wall -O2 -ggdb
+CFLAGS += -I${KERNEL_SRC}/include/
+CFLAGS += -I../include/ -I../libgfs2/
 
-H=gfs2_disk_hash.h gfs2_mkfs.h linux_endian.h ondisk.h osi_list.h
-C=main.c main_mkfs.c main_jadd.c
-O=$(subst .c,.o,${C})
+LDFLAGS += -L${volidlibdir} -lvolume_id
+LDFLAGS += -L../libgfs2 -lgfs2
 
-all: ${MKFS} ${JADD}
+all: ${TARGET1} ${TARGET2}
 
-${MKFS}: ${O} ${top_srcdir}/libgfs2/libgfs2.a
-	${LD} ${LDFLAGS} ${O} -o ${@} -lgfs2 -lvolume_id
+${TARGET1}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-${JADD}: ${MKFS}
-	ln -s ${MKFS} ${JADD}
+${TARGET2}: ${TARGET1}
+	ln -s ${TARGET1} ${TARGET2}
 
-.c.o: $<
-	${CC} ${CFLAGS} -o $@ $^
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
-	${INSTALL} -m 0755 ${MKFS} ${sbindir}
-	ln -f ${sbindir}/${MKFS} ${sbindir}/${JADD}
+	install -m 0755 ${TARGET1} ${sbindir}
+	ln -f ${sbindir}/${TARGET1} ${sbindir}/${TARGET2}
+
+uninstall:
+	${UNINSTALL} ${TARGET1} ${TARGET2} ${sbindir}
 
 clean:
-	rm -f *.o ${MKFS} ${JADD}
+	rm -f *.o ${TARGET1} ${TARGET2}
 
--- cluster/gfs2/mount/Makefile	2006/08/28 16:36:47	1.11
+++ cluster/gfs2/mount/Makefile	2007/04/30 11:22:17	1.12
@@ -10,65 +10,42 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
 TARGET1= mount.gfs2
 TARGET2= umount.gfs2
 
-CFLAGS+= -O2 -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	-DGFS2_RELEASE_NAME=\"${RELEASE}\" -D_GNU_SOURCE
+OBJS1=	mount.gfs2.o
 
-INCLUDE= -I${top_srcdir}/include \
-	  -I${top_srcdir}/config \
-	  -I${gfs2kincdir} \
-	  -I${incdir} \
-	  -I../../gfs-kernel/src/gfs
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs2_ondisk.h ]; then \
-	echo '-I${KERNEL_SRC}/include'; else \
-	echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
+OBJS2=	umount.gfs2.o
 
+SHAREDOBJS= ondisk1.o \
+	    util.o \
+	    mtab.o
+
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64
+CFLAGS += -DGFS2_RELEASE_NAME=\"${RELEASE}\" -D_GNU_SOURCE
+CFLAGS += -O2
+CFLAGS += -I${incdir} -I${gfs2kincdir} -I${gfskincdir}
+CFLAGS += -I../include
 
 all: ${TARGET1} ${TARGET2}
 
-mount.gfs2.o: mount.gfs2.c
-	${CC} ${CFLAGS} ${INCLUDE} -c -o $@ $<
+${TARGET1}: ${SHAREDOBJS} ${OBJS1}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-ondisk1.o: ondisk1.c
-	${CC} ${CFLAGS} ${INCLUDE} -c -o $@ $<
+${TARGET2}: ${SHAREDOBJS} ${OBJS2}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-ondisk2.o: ondisk2.c
-	${CC} ${CFLAGS} ${INCLUDE} -c -o $@ $<
-
-util.o: util.c
-	${CC} ${CFLAGS} ${INCLUDE} -c -o $@ $<
-
-mtab.o: mtab.c
-	${CC} ${CFLAGS} ${INCLUDE} -c -o $@ $<
-
-umount.gfs2.o: umount.gfs2.c
-	${CC} ${CFLAGS} ${INCLUDE} -c -o $@ $<
-
-mount.gfs2: mount.gfs2.o ondisk1.o ondisk2.o util.o mtab.o
-	${CC} ${LDFLAGS} -o $@ $^
-
-umount.gfs2: umount.gfs2.o ondisk1.o ondisk2.o util.o mtab.o
-	${CC} ${LDFLAGS} -o $@ $^
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
-	install mount.gfs2 ${sbindir}
-	install umount.gfs2 ${sbindir}
+	install ${TARGET1} ${sbindir}
+	install ${TARGET2} ${sbindir}
 
 uninstall:
-	${UNINSTALL} mount.gfs2 umount.gfs2 mount.gfs umount.gfs ${sbindir}
+	${UNINSTALL} ${TARGET1} ${TARGET2} ${sbindir}
 
 clean:
 	rm -f *.o ${TARGET1} ${TARGET2}
--- cluster/gfs2/quota/Makefile	2006/12/01 21:28:06	1.6
+++ cluster/gfs2/quota/Makefile	2007/04/30 11:22:17	1.7
@@ -10,43 +10,35 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
 
-TARGET= gfs2_quota
+include ../../make/defines.mk
 
-SOURCE=	main.c names.c check.c
+TARGET= gfs2_quota
 
-INSTALL=install
+OBJS=	main.o \
+	names.o \
+	check.o
+
+CFLAGS += -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64
+CFLAGS += -D_GNU_SOURCE -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
+CFLAGS += -I../include -I../libgfs2/
 
-CFLAGS+= -O2 -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 \
-	-D_GNU_SOURCE -DGFS2_RELEASE_NAME=\"${RELEASE}\"
-LDFLAGS=-L${top_srcdir}/libgfs2 -L${libdir}
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${gfs2kincdir} -I${top_srcdir}/libgfs2/
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs2_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
+LDFLAGS += -L../libgfs2 -lgfs2 -lgfs2
 
-#all:
 all: ${TARGET}
 
-gfs2_quota: ${SOURCE}
-	${CC} ${CFLAGS} ${INCLUDE} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@ -lgfs2
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-copytobin:
-#copytobin: ${TARGET}
-#	cp ${TARGET} ${top_srcdir}/bin
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
-	${INSTALL} -m 0755 ${TARGET} ${sbindir}
+	install -m 0755 ${TARGET} ${sbindir}
+
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
 
 clean:
 	rm -f *.o ${TARGET}
--- cluster/gfs2/tool/Makefile	2006/08/11 15:18:13	1.5
+++ cluster/gfs2/tool/Makefile	2007/04/30 11:22:17	1.6
@@ -10,41 +10,34 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir= ..
 
-include ${top_srcdir}/make/defines.mk
-
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/config -I${gfs2kincdir}
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gfs2_ondisk.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
-
-LIBS=${top_srcdir}/libgfs2
-
-.PHONY: all clean distclean
-
-SOURCES= counters.c df.c layout.c main.c misc.c ondisk.c sb.c tune.c util.c
-
-OBJECTS=$(subst .c,.o,${SOURCES})
+include ../../make/defines.mk
 
 TARGET= gfs2_tool
 
-CFLAGS+= -O2 -Wall -D_FILE_OFFSET_BITS=64 -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+OBJS=	counters.o \
+	df.o \
+	layout.o \
+	main.o \
+	misc.o \
+	ondisk.o \
+	sb.o \
+	tune.o \
+	util.o
+
+CFLAGS += -D_FILE_OFFSET_BITS=64 -DGFS2_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2 -Wall
+CFLAGS += -I../include
+
+LDFLAGS += -L../libgfs2 -lgfs2
 
 all: ${TARGET}
 
-gfs2_tool: ${OBJECTS} $(LIBS)/libgfs2.a
-	$(CC) $(CFLAGS) -L$(LIBS) $^ -o $@ -lgfs2
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 %.o: %.c
-	$(CC) -c $(INCLUDE) $(CFLAGS) $< -o $@
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
@@ -52,8 +45,13 @@
 	fi
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	@rm -f ${TARGET} *.o *~
 
 distclean: clean
 	@rm -f *.d cscope.* *.orig *.rej
+
+.PHONY: all clean distclean
--- cluster/gnbd/Makefile	2006/08/11 15:18:13	1.3
+++ cluster/gnbd/Makefile	2007/04/30 11:22:17	1.4
@@ -11,28 +11,14 @@
 ###############################################################################
 ###############################################################################
 
+include ../make/defines.mk
 
-all:
-	${MAKE} -C client all
-	${MAKE} -C server all
-	${MAKE} -C tools all
+SUBDIRS=utils client server tools man
 
-clean:
-	${MAKE} -C client clean
-	${MAKE} -C server clean
-	${MAKE} -C tools clean
+all: ${SUBDIRS}
 
-distclean: clean
-	rm -f make/defines.mk
-
-install: all
-	${MAKE} -C client install
-	${MAKE} -C server install
-	${MAKE} -C tools install
-	${MAKE} -C man install
-
-deinstall uninstall:
-	${MAKE} -C client uninstall
-	${MAKE} -C server uninstall
-	${MAKE} -C tools uninstall
-	${MAKE} -C man uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/gnbd/client/Makefile	2006/10/13 22:32:30	1.10
+++ cluster/gnbd/client/Makefile	2007/04/30 11:22:18	1.11
@@ -10,46 +10,48 @@
 ##
 ###############################################################################
 ###############################################################################
-TARGET= gnbd_recvd gnbd_monitor
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
-RECV_SOURCE= gnbd_recvd.c $(top_srcdir)/utils/trans.c \
-	$(top_srcdir)/utils/gnbd_utils.c
+TARGET1= gnbd_recvd
+TARGET2= gnbd_monitor
 
-MONITOR_SRC= gnbd_monitor.c monitor_req.c $(top_srcdir)/utils/trans.c \
-	$(top_srcdir)/utils/gnbd_utils.c \
-	$(top_srcdir)/utils/member_cman.c
+OBJS1=	gnbd_recvd.o
 
-INCLUDE= -I$(top_srcdir)/include -I$(top_srcdir)/server -I$(top_srcdir)/utils \
-	-I${top_srcdir}/config -I${gnbdkincdir} -I${incdir} -I${cmanincdir}
+OBJS2=	gnbd_monitor.o \
+	monitor_req.o \
+	../utils/member_cman.o
 
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed -- which is incdir, which is already included
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gnbd.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; fi)
-endif
+SHAREDOBJS= ../utils/trans.o \
+	    ../utils/gnbd_utils.o
 
-LDLIBS+= -L${libdir} -L${cmanincdir} -lcman -ldl -lpthread
+CFLAGS += -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
+CFLAGS += -I${gnbdkincdir} -I${cmanincdir}
+CFLAGS += -I../include -I../server -I../utils
 
-CFLAGS+= -O2 -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+LDFLAGS += -L${libdir} -L${cmanlibdir} -lcman -ldl -lpthread
 
-all: ${TARGET}
+all: ${TARGET1} ${TARGET2}
 
-gnbd_recvd: ${RECV_SOURCE}
-	${CC} ${CFLAGS} ${LDFLAGS} ${RECV_SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET1}: ${SHAREDOBJS} ${OBJS1}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-gnbd_monitor: ${MONITOR_SRC}
-	${CC} ${CFLAGS} ${LDFLAGS} ${MONITOR_SRC} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET2}: ${SHAREDOBJS} ${OBJS2}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
-	install -m755 ${TARGET} ${sbindir}
+	install -m755 ${TARGET1} ${sbindir}
+	install -m755 ${TARGET2} ${sbindir}
+
+uninstall:
+	${UNINSTALL} ${TARGET1} ${TARGET2} ${sbindir}
 
 clean:
-	rm -f *.o *~ ${TARGET}
+	rm -f *.o *~ ${TARGET1} ${TARGET2}
--- cluster/gnbd/man/Makefile	2006/08/11 15:18:14	1.3
+++ cluster/gnbd/man/Makefile	2007/04/30 11:22:18	1.4
@@ -11,6 +11,8 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
+
 TARGET8= \
 	gnbd.8 \
 	gnbd_export.8 \
@@ -18,17 +20,11 @@
 	gnbd_serv.8 \
 	fence_gnbd.8
 
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
-
-top_srcdir=..
-
-include ${top_srcdir}/make/defines.mk
-
 all:
 
 clean:
 
-install: all
+install:
 	install -d ${mandir}/man8
 	install ${TARGET8} ${mandir}/man8
 
--- cluster/gnbd/server/Makefile	2006/10/13 22:32:30	1.10
+++ cluster/gnbd/server/Makefile	2007/04/30 11:22:18	1.11
@@ -11,46 +11,52 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= gnbd_serv gnbd_clusterd
+include ../../make/defines.mk
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+TARGET1= gnbd_serv
+TARGET2= gnbd_clusterd
 
-CLU_SOURCE= gnbd_clusterd.c $(top_srcdir)/utils/gnbd_utils.c \
-	$(top_srcdir)/utils/member_cman.c
+OBJS1=	gnbd_serv.o \
+	local_req.o \
+	extern_req.o \
+	device.o \
+	gserv.o \
+	fence.o \
+	../utils/trans.o
 
-LDLIBS+= -L${libdir} -L${cmanincdir} -lcman -ldl -lpthread
+OBJS2=	gnbd_clusterd.o \
+	../utils/member_cman.o
 
-SRV_SOURCE= gnbd_serv.c local_req.c extern_req.c device.c gserv.c fence.c \
-	$(top_srcdir)/utils/trans.c $(top_srcdir)/utils/gnbd_utils.c
+SHAREDOBJS= ../utils/gnbd_utils.o
 
-INCLUDE= -I$(top_srcdir)/include -I$(top_srcdir)/utils \
-	-I${top_srcdir}/config -I${gnbdkincdir} -I${incdir} -I${cmanincdir}
+CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+CFLAGS += -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
+CFLAGS += -I${gnbdkincdir} -I${incdir} -I${cmanincdir}
+CFLAGS += -I../include -I../utils
 
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed -- which is incdir, which is already included
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gnbd.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; fi)
-endif
+LDFLAGS+= -L${libdir} -L${cmanlibdir} -lcman -ldl -lpthread
 
-CFLAGS+= -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-	-DGNBD_RELEASE_NAME=\"${RELEASE}\"
+all: ${TARGET1} ${TARGET2}
 
-all: ${TARGET}
+${TARGET1}: ${SHAREDOBJS} ${OBJS1}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-gnbd_clusterd: ${CLU_SOURCE}
-	${CC} ${CFLAGS} ${LDFLAGS} ${CLU_SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET2}: ${SHAREDOBJS} ${OBJS2}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-gnbd_serv: ${SRV_SOURCE}
-	${CC} ${CFLAGS} ${LDFLAGS} ${SRV_SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
-	install -m755 ${TARGET} ${sbindir}
+	install -m755 ${TARGET1} ${sbindir}
+	install -m755 ${TARGET2} ${sbindir}
+
+uninstall:
+	${UNINSTALL} ${TARGET1} ${TARGET2} ${sbindir}
 
 clean:
-	rm -f *.o ${TARGET}
+	rm -f *.o ${TARGET1} ${TARGET2}
--- cluster/gnbd/tools/Makefile	2006/08/11 15:18:14	1.2
+++ cluster/gnbd/tools/Makefile	2007/04/30 11:22:19	1.3
@@ -11,18 +11,14 @@
 ###############################################################################
 ###############################################################################
 
+include ../../make/defines.mk
 
-all:
-	${MAKE} -C fence_gnbd all
-	${MAKE} -C gnbd_export all
-	${MAKE} -C gnbd_import all
+SUBDIRS=fence_gnbd gnbd_export gnbd_import
 
-install: all
-	${MAKE} -C fence_gnbd install
-	${MAKE} -C gnbd_export install
-	${MAKE} -C gnbd_import install
+all: ${SUBDIRS}
 
-clean:
-	${MAKE} -C fence_gnbd clean
-	${MAKE} -C gnbd_export clean
-	${MAKE} -C gnbd_import clean
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/gnbd/tools/fence_gnbd/Makefile	2006/08/11 15:18:14	1.2
+++ cluster/gnbd/tools/fence_gnbd/Makefile	2007/04/30 11:22:19	1.3
@@ -11,30 +11,31 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= fence_gnbd
-
-SOURCE= main.c
-
-top_srcdir=../..
+include ../../../make/defines.mk
 
-INCLUDE= -I${top_srcdir}/include -I${top_srcdir}/tools/gnbd_import \
-	-I${top_srcdir}/config
+TARGET= fence_gnbd
 
-include ${top_srcdir}/make/defines.mk
+OBJS= main.o
 
-CFLAGS+= -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -I../../include -I../../tools/gnbd_import
 
 all: ${TARGET}
 
-fence_gnbd: ${SOURCE:.c=.o} 
-	${CC} ${CFLAGS} ${LDFLAGS} ${SOURCE:.c=.o} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
--- cluster/gnbd/tools/gnbd_export/Makefile	2006/08/11 15:18:14	1.11
+++ cluster/gnbd/tools/gnbd_export/Makefile	2007/04/30 11:22:19	1.12
@@ -11,35 +11,38 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= gnbd_export
-
-top_srcdir=../..
-
-SOURCE= gnbd_export.c $(top_srcdir)/utils/gnbd_utils.c \
-	$(top_srcdir)/utils/trans.c
-
-INCLUDE= -I$(top_srcdir)/include -I$(top_srcdir)/server \
-	-I$(top_srcdir)/utils -I${top_srcdir}/config \
-	-I${gnbdkincdir} -I${incdir} -I${cmanincdir}
+include ../../../make/defines.mk
 
-LDLIBS+= -L${libdir} -L${cmanincdir} -lcman -ldl -lpthread
+TARGET= gnbd_export
 
-include ${top_srcdir}/make/defines.mk
+OBJS=	gnbd_export.o \
+	../../utils/gnbd_utils.o \
+	../../utils/trans.o
+
+CFLAGS += -DGNBD_RELEASE_NAME=\"${RELEASE}\" -DDEFAULT_GETUID=\"${sbindir}/gnbd_get_uid\"
+CFLAGS += -O2
+CFLAGS += -I${gnbdkincdir} -I${incdir} -I${cmanincdir}
+CFLAGS += -I../../include -I../../server -I../../utils
 
-CFLAGS+= -O2 -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+LDFLAGS += -L${libdir} -L${cmanlibdir} -lcman -ldl -lpthread
 
 all: ${TARGET}
 
-gnbd_export: ${SOURCE}
-	${CC} ${CFLAGS} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
-install: all gnbd_get_uid
+install: all 
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
 	install -m755 ${TARGET} ${sbindir}
-	install -m755 gnbd_get_uid  ${sbindir}
+	install -m755 gnbd_get_uid ${sbindir}
+
+uninstall:
+	${UNINSTALL} ${TARGET} gnbd_get_uid ${sbindir}
 
 clean:
 	rm -f *.o ${TARGET}
--- cluster/gnbd/tools/gnbd_export/gnbd_export.c	2006/12/15 20:27:00	1.11
+++ cluster/gnbd/tools/gnbd_export/gnbd_export.c	2007/04/30 11:22:19	1.12
@@ -40,7 +40,6 @@
 #define TIMEOUT_DEFAULT 60
 
 #define MAN_MSG "Please see man page for details.\n"
-#define DEFAULT_GETUID "/sbin/gnbd_get_uid %n"
 
 int start_gnbd_clusterd(void)
 {
@@ -675,7 +674,7 @@
 "  -u <uid>         manually set the Unique ID of a device (used with -e)\n"
 "  -U[command]      command to get the Unique ID of a device (used with -e)\n"
 "                   If no command is specificed, the default is\n"
-"                   \"/sbin/gnbd_get_uid %%n\"\n"
+"                   \""DEFAULT_GETUID" %%n\"\n"
 "  -v               verbose output (useful with -l)\n"
 "  -V               version information\n");
   return 0;
--- cluster/gnbd/tools/gnbd_import/Makefile	2006/08/11 15:18:14	1.8
+++ cluster/gnbd/tools/gnbd_import/Makefile	2007/04/30 11:22:19	1.9
@@ -11,43 +11,38 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= gnbd_import
-
-top_srcdir=../..
-include ${top_srcdir}/make/defines.mk
+include ../../../make/defines.mk
 
-SOURCE= gnbd_import.c $(top_srcdir)/utils/gnbd_utils.c \
-	$(top_srcdir)/client/monitor_req.c $(top_srcdir)/utils/trans.c
+TARGET= gnbd_import
 
-INCLUDE= -I$(top_srcdir)/include -I$(top_srcdir)/client \
-	-I$(top_srcdir)/server -I$(top_srcdir)/utils \
-	-I${gnbdkincdir} -I${top_srcdir}/config -I${cmanincdir}
-
-LDLIBS+= -L${libdir} -L${cmanincdir} -lcman -ldl -lpthread
-
-ifneq (${KERNEL_SRC}, )
-# Use the kernel tree if patched, otherwise, look where cluster headers
-#  should be installed
-INCLUDE += $(shell if [ -e ${KERNEL_SRC}/include/linux/gnbd.h ]; then \
-		echo '-I${KERNEL_SRC}/include'; else \
-		echo '-I${incdir}'; fi)
-else
-INCLUDE += -I${incdir}
-endif
+OBJS=	gnbd_import.o \
+	../../utils/gnbd_utils.o \
+	../../client/monitor_req.o \
+	../../utils/trans.o
+
+CFLAGS += -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -O2
+CFLAGS += -I${gnbdkincdir} -I${cmanincdir}
+CFLAGS += -I../../include -I../../client -I../../server -I../../utils
 
-CFLAGS+= -O2 -DGNBD_RELEASE_NAME=\"${RELEASE}\"
+LDFLAGS += -L${libdir} -L${cmanlibdir} -lcman -ldl -lpthread
 
 all: ${TARGET}
 
-gnbd_import: ${SOURCE}
-	${CC} ${CFLAGS} ${LDFLAGS} ${SOURCE} ${LOADLIBES} ${LDLIBS} -o $@
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 	if [ ! -d ${sbindir} ]; then \
 		install -d ${sbindir}; \
 	fi
-	strip ${TARGET}
 	install -m755 ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
+
 clean:
 	rm -f *.o ${TARGET}
/cvs/cluster/cluster/gnbd/utils/Makefile,v  -->  standard output
revision 1.1
--- cluster/gnbd/utils/Makefile
+++ -	2007-04-30 12:22:53.781138000 +0100
@@ -0,0 +1,23 @@
+###############################################################################
+###############################################################################
+##
+##  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
+##  Copyright (C) 2004 Red Hat, Inc.  All rights reserved.
+##
+##  This copyrighted material is made available to anyone wishing to use,
+##  modify, copy, or redistribute it subject to the terms and conditions
+##  of the GNU General Public License v.2.
+##
+###############################################################################
+###############################################################################
+
+include ../../make/defines.mk
+
+all:
+
+install:
+
+uninstall:
+
+clean:
+	rm -f *.o *~
--- cluster/gnbd-kernel/src/Makefile	2006/08/11 15:18:14	1.5
+++ cluster/gnbd-kernel/src/Makefile	2007/04/30 11:22:20	1.6
@@ -11,27 +11,18 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir = ..
 ifndef USING_KBUILD
-include ${top_srcdir}/make/defines.mk
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 endif
 
-linux_orig = ${top_srcdir}/patches/linux-orig
-linux_patched = ${top_srcdir}/patches/linux-patched
+PWD = $(shell pwd)
 
-
-PATCH_TARGET = gnbd.patch
-
-PWD := $(shell pwd)
+SYMVERFILE := ${KERNEL_SRC}/Module.symvers
 
 obj-m := gnbd.o
-lock_gnbd-objs := gnbd.c
-
-EXTRA_CFLAGS += -I$(obj)
 
 all:
-	${MAKE} -C ${KERNEL_SRC} M=${PWD} modules USING_KBUILD=yes
+	${MAKE} -C ${KERNEL_SRC} M=${PWD} symverfile=${SYMVERFILE} modules USING_KBUILD=yes
 
 install: all
 	install -d ${incdir}/linux
@@ -45,25 +36,7 @@
 
 clean:
 	rm -rf linux *.mod.c .gnbd.ko.cmd \
-		.tmp_versions *o .*.o.cmd *~
-
-
-clean:
-
-
-patches: pre add post
+		.tmp_versions *o .*.o.cmd *~ \
+		Module.symvers
 
-pre:
-	@if [ ! -d ${linux_orig} ] ; then \
-		echo "No linux source directory (${linux_orig})" ; \
-		exit 1; \
-	fi
-	mkdir -p ${linux_patched}
-	rsync -a --delete ${linux_orig}/ ${linux_patched}/
-
-post:
-	( cd ${top_srcdir}/patches ; diff -urN linux-orig linux-patched > ${PATCH_TARGET} ; exit 0 )
-
-add:
-	cp gnbd.c ${linux_patched}/drivers/block/
-	cp gnbd.h ${linux_patched}/include/linux/
+distclean: clean
--- cluster/group/Makefile	2006/08/11 15:18:14	1.7
+++ cluster/group/Makefile	2007/04/30 11:22:20	1.8
@@ -10,26 +10,10 @@
 ###############################################################################
 ###############################################################################
 
-all:
-	${MAKE} -C lib all
-	${MAKE} -C daemon all
-	${MAKE} -C tool all
-	${MAKE} -C dlm_controld all
-	${MAKE} -C gfs_controld all
+SUBDIRS=lib daemon tool dlm_controld gfs_controld
 
-clean:
-	${MAKE} -C lib clean
-	${MAKE} -C daemon clean
-	${MAKE} -C tool clean
-	${MAKE} -C dlm_controld clean
-	${MAKE} -C gfs_controld clean
-
-install: all
-	${MAKE} -C lib install
-	${MAKE} -C daemon install
-	${MAKE} -C tool install
-	${MAKE} -C dlm_controld install
-	${MAKE} -C gfs_controld install
-
-distclean: clean
-	rm -f make/defines.mk
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/group/daemon/Makefile	2006/08/11 15:18:15	1.16
+++ cluster/group/daemon/Makefile	2007/04/30 11:22:20	1.17
@@ -10,46 +10,37 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-CFLAGS+= -g -I. -I../include/ -I../../cman/lib/ -I../lib/
-LDFLAGS+= -L${cmanlibdir} -L${libdir}/openais -L${libdir}
+TARGET= groupd
 
-TARGET=groupd
-
-all: ${TARGET}
-
-groupd: app.o \
+OBJS=	app.o \
 	cpg.o \
 	cman.o \
 	joinleave.o \
 	main.o
-	$(CC) $(LDFLAGS) -o $@ $^ -lcman -lcpg 
 
-app.o: app.c gd_internal.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+CFLAGS += -g 
+CFLAGS += -I${cmanincdir}
+CFLAGS += -I. -I../include/ -I../lib/
 
-cman.o: cman.c gd_internal.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+LDFLAGS += -L${cmanlibdir} -L${openaislibdir} -L${libdir} -lcman -lcpg
 
-cpg.o: cpg.c gd_internal.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+all: ${TARGET}
 
-joinleave.o: joinleave.c gd_internal.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-main.o: main.c gd_internal.h
-	$(CC) $(CFLAGS) -c -o $@ $<
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 clean:
 	rm -f *.o groupd
 
 install: all
 	install -d ${sbindir}
-	install groupd ${sbindir}
+	install ${TARGET} ${sbindir}
 
 uninstall:
-	${UNINSTALL} groupd ${sbindir}
+	${UNINSTALL} ${TARGET} ${sbindir}
 
--- cluster/group/dlm_controld/Makefile	2006/08/11 15:18:15	1.4
+++ cluster/group/dlm_controld/Makefile	2007/04/30 11:22:20	1.5
@@ -10,44 +10,29 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
+TARGET= dlm_controld
 
-CFLAGS+= -g -I${incdir} -I${top_srcdir}/config
+OBJS=	main.o \
+	member_cman.o \
+	group.o \
+	action.o
+
+CFLAGS += -g 
+CFLAGS += -I${incdir} -I${ccsincdir} -I${cmanincdir}
+CFLAGS += -idirafter ${KERNEL_SRC}/include/linux
+CFLAGS += -I../../group/lib/ -I../include/
 
-CFLAGS+= -idirafter ${KERNEL_SRC}/include/linux \
-	-I../../group/lib/ \
-	-I../../ccs/lib/ \
-	-I../../cman/lib/ \
-	-I../include/
-
-LDFLAGS+= -L../../cman/lib
-
-
-TARGET=dlm_controld
+LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
+LDFLAGS += -L../lib -lgroup
 
 all: ${TARGET}
 
-dlm_controld:	main.o \
-		member_cman.o \
-		group.o \
-		action.o \
-		../lib/libgroup.a \
-		../../ccs/lib/libccs.a
-	$(CC) $(LDFLAGS) -o $@ $^ -lcman 
-
-main.o: main.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-member_cman.o: member_cman.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-group.o: group.c
-	$(CC) $(CFLAGS) -c -o $@ $<
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-action.o: action.c
+%.o: %.c
 	$(CC) $(CFLAGS) -c -o $@ $<
 
 install: all
--- cluster/group/gfs_controld/Makefile	2006/08/11 15:18:15	1.7
+++ cluster/group/gfs_controld/Makefile	2007/04/30 11:22:20	1.8
@@ -10,53 +10,32 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
+TARGET= gfs_controld
 
-CFLAGS+= -g -I. -O2 \
-	-idirafter ${KERNEL_SRC}/include/linux \
-	-I${incdir} \
-	-I${top_srcdir}/config \
-	-I../../cman/lib \
-	-I../include/ \
-	-I../lib/
-LDFLAGS+= -L../../cman/lib -L${libdir}/openais -L${libdir}
+OBJS= 	main.o \
+	member_cman.o \
+	cpg.o \
+	group.o \
+	plock.o \
+	recover.o
+
+CFLAGS += -g -O2
+CFLAGS += -I${cmanincdir} -I${incdir}
+CFLAGS += -idirafter ${KERNEL_SRC}/include/linux
+CFLAGS += -I../include/ -I../lib/
 
-TARGET=gfs_controld
+LDFLAGS += -L${cmanlibdir} -L${openaislibdir} -L${libdir} -lcman -lcpg -lSaCkpt
+LDFLAGS += -L../lib -lgroup
 
 all: ${TARGET}
 
-gfs_controld: 	main.o \
-		member_cman.o \
-		cpg.o \
-		group.o \
-		plock.o \
-		recover.o \
-		../lib/libgroup.a
-	$(CC) $(LDFLAGS) -o $@ $^ -lcman -lcpg -lSaCkpt
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 
-main.o: main.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-member_cman.o: member_cman.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-cpg.o: cpg.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-recover.o: recover.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-withdraw.o: withdraw.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-group.o: group.c
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-plock.o: plock.c
+%.o: %.c
 	$(CC) $(CFLAGS) -c -o $@ $<
 
 install: all
--- cluster/group/lib/Makefile	2006/08/11 15:18:15	1.3
+++ cluster/group/lib/Makefile	2007/04/30 11:22:20	1.4
@@ -10,26 +10,22 @@
 ###############################################################################
 ###############################################################################
 
-SOURCE=libgroup.c
+include ../../make/defines.mk
 
-LIBNAME=libgroup
-STATICLIB=$(LIBNAME).a
+TARGET=libgroup
+STATICLIB=$(TARGET).a
 
-top_srcdir=..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
-
-# include ${top_srcdir}/make/defines.mk
-
-CFLAGS += -g -O -I. -fPIC -I../daemon
+CFLAGS += -g -O -fPIC
+CFLAGS += -I. -I../daemon
 
 all: $(STATICLIB)
 
-$(LIBNAME).a: libgroup.o
-	${AR} r libgroup.a libgroup.o
-#	${RANLIB} libgroup.a 
+$(TARGET).a: $(TARGET).o
+	${AR} r $@ $^
+#	${RANLIB} $(TARGET).a 
 
-libgroup.o: libgroup.c
-	$(CC) $(CFLAGS) -c -o $@ $< -I../daemon
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 install: all
 
--- cluster/group/lib/libgroup.c	2006/11/17 16:30:19	1.25
+++ cluster/group/lib/libgroup.c	2007/04/30 11:22:20	1.26
@@ -30,6 +30,7 @@
 #include <netinet/in.h>
 #include <string.h>
 #include <errno.h>
+#include <ctype.h>
 
 #include "groupd.h"
 #include "libgroup.h"
--- cluster/group/tool/Makefile	2006/08/11 15:18:15	1.6
+++ cluster/group/tool/Makefile	2007/04/30 11:22:21	1.7
@@ -10,26 +10,30 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=..
-include ${top_srcdir}/make/defines.mk
+include ../../make/defines.mk
 
-CFLAGS+= -g -I. -I../lib/ -I../daemon/
+TARGET= group_tool
 
-TARGET=group_tool
+OBJS=	main.o
+
+CFLAGS += -g
+CFLAGS += -I. -I../lib/ -I../daemon/
+LDFLAGS += -L../lib -lgroup
 
 all: ${TARGET}
 
-group_tool: main.o \
-	../lib/libgroup.a
-	$(CC) $(LDFLAGS) -o $@ $^
+${TARGET}: ${OBJS}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
-main.o: main.c
-	$(CC) $(CFLAGS) -c -o $@ $<
+%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 clean:
-	rm -f *.o group_tool
+	rm -f *.o ${TARGET}
 
 install: all
 	install -d ${sbindir}
-	install group_tool ${sbindir}
+	install ${TARGET} ${sbindir}
 
+uninstall:
+	${UNINSTALL} ${TARGET} ${sbindir}
/cvs/cluster/cluster/make/defines.mk.input,v  -->  standard output
revision 1.1
--- cluster/make/defines.mk.input
+++ -	2007-04-30 12:22:56.606749000 +0100
@@ -0,0 +1,66 @@
+###############################################################################
+###############################################################################
+##
+##  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
+##  Copyright (C) 2004 Red Hat, Inc.  All rights reserved.
+##  
+##  This copyrighted material is made available to anyone wishing to use,
+##  modify, copy, or redistribute it subject to the terms and conditions
+##  of the GNU General Public License v.2.
+##
+###############################################################################
+###############################################################################
+
+# Install Locations
+sbindir ?= ${DESTDIR}@SBINDIR@
+libdir ?= ${DESTDIR}@LIBDIR@
+libexecdir ?= ${DESTDIR}@LIBEXECDIR@
+sharedir ?= ${DESTDIR}@SHAREDIR@
+mandir ?= ${DESTDIR}@MANDIR@
+module_dir ?= @MODULE_DIR@
+incdir ?= ${DESTDIR}@INCDIR@
+
+# Build information
+
+# C Compiler defaults
+CC = @CC@
+STRIP = strip
+AR = ar
+LD = ld
+RANLIB = ranlib
+
+CFLAGS += @CFLAGS@ -I at BUILDDIR@/config
+LDFLAGS += @LDFLAGS@
+
+BUILDDIR = @BUILDDIR@
+
+KERNEL_SRC = @KERNEL_SRC@
+gfskincdir ?= @GFSKINCDIR@
+gnbdkincdir ?= @GNBDKINCDIR@
+ccsincdir ?= @CCSINCDIR@
+ccslibdir ?= @CCSLIBDIR@
+cmanincdir ?= @CMANINCDIR@
+cmanlibdir ?= @CMANLIBDIR@
+dlmincdir ?= @DLMINCDIR@
+dlmlibdir ?= @DLMLIBDIR@
+volidincdir ?= @VOLIDINCDIR@
+volidlibdir ?= @VOLIDLIBDIR@
+readlineincdir ?= @READLINEINCDIR@
+readlinelibdir ?= @READLINELIBDIR@
+ncursesincdir ?= @NCURSESINCDIR@
+ncurseslibdir ?= @NCURSESLIBDIR@
+nssincdir ?= @NSSINCDIR@
+nsslibdir ?= @NSSLIBDIR@
+nsprincdir ?= @NSPRINCDIR@
+nsprlibdir ?= @NSPRLIBDIR@
+openaisincdir ?= @OPENAISINCDIR@
+openaislibdir ?= @OPENAISLIBDIR@
+xenincdir ?= @XENINCDIR@
+xenlibdir ?= @XENLIBDIR@
+virtincdir ?= @VIRTINCDIR@
+virtlibdir ?= @VIRTLIBDIR@
+enable_xen ?= @ENABLE_XEN@
+
+UNINSTALL = @BUILDDIR@/scripts/uninstall.pl
+DEF2VAR = @BUILDDIR@/scripts/define2var
+
/cvs/cluster/cluster/make/release.mk.input,v  -->  standard output
revision 1.1
--- cluster/make/release.mk.input
+++ -	2007-04-30 12:22:56.687935000 +0100
@@ -0,0 +1,15 @@
+###############################################################################
+###############################################################################
+##
+##  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
+##  Copyright (C) 2004 Red Hat, Inc.  All rights reserved.
+##  
+##  This copyrighted material is made available to anyone wishing to use,
+##  modify, copy, or redistribute it subject to the terms and conditions
+##  of the GNU General Public License v.2.
+##
+###############################################################################
+###############################################################################
+
+RELEASE_MAJOR = DEVEL
+RELEASE_MINOR = DATE
--- cluster/rgmanager/Makefile	2006/08/11 15:18:16	1.4
+++ cluster/rgmanager/Makefile	2007/04/30 11:22:21	1.5
@@ -11,22 +11,14 @@
 ###############################################################################
 ###############################################################################
 
-all:
-	${MAKE} -C src all
+include ../make/defines.mk
 
-clean:
-	${MAKE} -C src clean
+SUBDIRS=src man init.d
 
-distclean: clean
-	rm -f make/defines.mk
+all: ${SUBDIRS}
 
-install: all
-	${MAKE} -C src install
-	${MAKE} -C man install
-	${MAKE} -C init.d install
-
-check:
-	${MAKE} -C src check
-
-uninstall:
-	${MAKE} -C src uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/rgmanager/init.d/Makefile	2005/03/21 21:03:41	1.2
+++ cluster/rgmanager/init.d/Makefile	2007/04/30 11:22:22	1.3
@@ -10,18 +10,16 @@
 ###############################################################################
 ###############################################################################
 
-TARGET= rgmanager
-
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
-
-top_srcdir=..
+include ../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
+TARGET= rgmanager
 
 all:
 
 clean:
 
+check:
+
 install:
 	install -d ${DESTDIR}/etc/init.d
 	install ${TARGET} ${DESTDIR}/etc/init.d
--- cluster/rgmanager/man/Makefile	2007/02/20 19:54:42	1.5
+++ cluster/rgmanager/man/Makefile	2007/04/30 11:22:22	1.6
@@ -10,12 +10,17 @@
 ##
 ###############################################################################
 ###############################################################################
-top_srcdir=..
-UNINSTALL = ${top_srcdir}/scripts/uninstall.pl
+
+include ../../make/defines.mk
+
 TARGETS = clubufflush.8 clufindhostname.8 clulog.8 \
 	  clurgmgrd.8 clurmtabd.8 clustat.8 clusvcadm.8
 
-include ${top_srcdir}/make/defines.mk
+all:
+
+clean:
+
+check:
 
 install:
 	install -d ${mandir}/man8
--- cluster/rgmanager/src/Makefile	2006/08/11 15:18:16	1.3
+++ cluster/rgmanager/src/Makefile	2007/04/30 11:22:23	1.4
@@ -11,33 +11,14 @@
 ###############################################################################
 ###############################################################################
 
-all:
-	${MAKE} -C resources all
-	${MAKE} -C clulib all
-	${MAKE} -C daemons all
-	${MAKE} -C utils all
+include ../../make/defines.mk
 
-clean:
-	${MAKE} -C resources clean
-	${MAKE} -C clulib clean
-	${MAKE} -C daemons clean
-	${MAKE} -C utils clean
+SUBDIRS=resources clulib daemons utils
 
-check:
-	${MAKE} -C resources check
-	${MAKE} -C daemons check
+all: ${SUBDIRS}
 
-distclean: clean
-	rm -f make/defines.mk
-
-install: all
-	${MAKE} -C resources install
-	${MAKE} -C clulib install
-	${MAKE} -C daemons install
-	${MAKE} -C utils install
-
-uninstall:
-	${MAKE} -C  resources uninstall
-	${MAKE} -C clulib uninstall
-	${MAKE} -C daemons uninstall
-	${MAKE} -C utils  uninstall
+%:
+	set -e && \
+	for i in ${SUBDIRS}; do \
+		${MAKE} -C $$i $@; \
+	done
--- cluster/rgmanager/src/clulib/Makefile	2007/03/27 19:33:20	1.12
+++ cluster/rgmanager/src/clulib/Makefile	2007/04/30 11:22:23	1.13
@@ -10,40 +10,49 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=../..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
-INCLUDE += -I $(top_srcdir)/include -I $(top_srcdir)/../cman/lib -I $(top_srcdir)/../ccs/lib -I $(top_srcdir)/../dlm/lib
-INCLUDE += -I${incdir}
+TARGET1= libclulib.a
+TARGET2= liblalloc.a
+TARGET3= msgtest
 
-CFLAGS+= -g -Wstrict-prototypes -Wshadow -fPIC -D_GNU_SOURCE
-CFLAGS+= -DCMAN_RELEASE_NAME=\"${RELEASE}\"
+OBJS1=	clulog.o daemon_init.o signals.o msgsimple.o \
+	gettid.o rg_strings.o message.o members.o fdops.o \
+	lock.o cman.o vft.o msg_cluster.o msg_socket.o \
+	wrap_lock.o
 
-TARGETS=libclulib.a liblalloc.a msgtest 
+OBJS2= alloc.o
 
-all: ${TARGETS}
+OBJS3= msgtest.o
+
+CFLAGS += -DCMAN_RELEASE_NAME=\"${RELEASE}\"
+CFLAGS += -g -Werror -Wstrict-prototypes -Wshadow -fPIC -D_GNU_SOURCE
+CFLAGS += -I${incdir} -I${cmanincdir} -I${dlmincdir}
+CFLAGS += -I../../include
+
+LDFLAGS += -L${cmanlibdir} -lcman 
+LDFLAGS += -L. -lclulib -llalloc
+LDFLAGS += -lpthread
+
+all: ${TARGET1} ${TARGET2} ${TARGET3}
 
 install: all
 
 uninstall:
 
-msgtest: msgtest.o libclulib.a
-	gcc -o msgtest msgtest.o -L$(top_srcdir)/../cman/lib -lcman -L. -lclulib -llalloc -lpthread
-
-libclulib.a: clulog.o daemon_init.o signals.o msgsimple.o \
-		gettid.o rg_strings.o message.o members.o fdops.o \
-		lock.o cman.o vft.o msg_cluster.o msg_socket.o \
-		wrap_lock.o
+${TARGET1}: ${OBJS1}
 	${AR} cru $@ $^
 	ranlib $@
 
-liblalloc.a: alloc.o
+${TARGET2}: ${OBJS2}
 	${AR} cru $@ $^
 	ranlib $@
 
+${TARGET3}: ${OBJS3} ${TARGET1}
+	$(CC) -o $@ $^ $(LDFLAGS)
+
 %.o: %.c
-	$(CC) -c -o $@ $^ $(INCLUDE) $(CFLAGS)
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 clean:
-	rm -f *.o $(TARGETS)
+	rm -f *.o ${TARGET1} ${TARGET2} ${TARGET3}
--- cluster/rgmanager/src/clulib/clulog.c	2007/03/27 19:33:20	1.6
+++ cluster/rgmanager/src/clulib/clulog.c	2007/04/30 11:22:23	1.7
@@ -20,7 +20,7 @@
 /** @file
  * Library routines for communicating with the logging daemon.
  *
- *  $Id: clulog.c,v 1.6 2007/03/27 19:33:20 lhh Exp $
+ *  $Id: clulog.c,v 1.7 2007/04/30 11:22:23 fabbione Exp $
  *
  *  Author: Jeff Moyer <moyer at missioncriticallinux.com>
  */
@@ -36,7 +36,6 @@
 #include <sys/types.h>
 #include <sys/file.h>
 #include <sys/socket.h>
-#include <ccs.h>
 #define SYSLOG_NAMES
 #include <sys/syslog.h>
 #undef SYSLOG_NAMES
@@ -50,7 +49,7 @@
 #include <string.h>
 
 
-static const char *version __attribute__ ((unused)) = "$Revision: 1.6 $";
+static const char *version __attribute__ ((unused)) = "$Revision: 1.7 $";
 
 #ifdef DEBUG
 #include <assert.h>
--- cluster/rgmanager/src/daemons/Makefile	2007/04/26 16:43:41	1.18
+++ cluster/rgmanager/src/daemons/Makefile	2007/04/30 11:22:23	1.19
@@ -10,37 +10,70 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=../..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
-INCLUDE += -I $(top_srcdir)/include -I $(top_srcdir)/../cman/lib -I $(top_srcdir)/../ccs/lib -I $(top_srcdir)/../dlm/lib
-INCLUDE += -I${incdir} -I/usr/include/libxml2
+TARGET1= clurgmgrd
+TARGET2= clurmtabd
+TARGET3= rg_test
+TARGET4= dtest
+
+OBJS1=	depends.o \
+	fo_domain.o \
+	groups.o \
+	main.o \
+	nodeevent.o \
+	reslist.o \
+	resrules.o \
+	restree.o \
+	rg_event.o \
+	rg_forward.o \
+	rg_locks.o \
+	rg_queue.o \
+	rg_state.o \
+	rg_thread.o \
+	watchdog.o
+
+OBJS2=	clurmtabd.o \
+	clurmtabd_lib.o
+
+OBJS3=	test-noccs.o
+
+OBJS4=	dtest-noccs.o
+
+SHAREDOBJS=	depends-noccs.o \
+		fo_domain-noccs.o \
+		reslist-noccs.o \
+		resrules-noccs.o \
+		restree-noccs.o \
+		rg_locks-noccs.o
+
+CFLAGS += -D_GNU_SOURCE -DSHAREDIR=\"${sharedir}\"
+CFLAGS += -g -Werror -Wstrict-prototypes -Wshadow -fPIC
+CFLAGS += -I${incdir} -I${ccsincdir} -I${cmanincdir} -I${dlmincdir}
+CFLAGS += `xml2-config --cflags` -I${readlineincdir}
+CFLAGS += -I../../include
+
+EXTRA_CFLAGS += -DNO_CCS
+
+LDFLAGS += -L${libdir}
+LDFLAGS += -L../clulib -lclulib
+
+CCS_LDFLAGS += -L${ccslibdir} -lccs 
+CMAN_LDFLAGS += -L${cmanlibdir} -lcman
+DLM_LDFLAGS += -L${dlmlibdir} -ldlm
+XML2_LDFLAGS += `xml2-config --libs`
+EXTRA_LDFLAGS += -lpthread -ldl
+LOCAL_LDFLAGS += -llalloc
+READLINE_LDFLAGS += -L${readlinelibdir} -lreadline
+
+all: ${TARGET1} ${TARGET2} ${TARGET3}
+
+${TARGET1}: ${OBJS1}
+	$(CC) -o $@ $^ $(LDFLAGS) $(CCS_LDFLAGS) $(CMAN_LDFLAGS) \
+			$(DLM_LDFLAGS) $(XML2_LDFLAGS) $(EXTRA_LDFLAGS)
 
-CFLAGS+= -g -Wstrict-prototypes -Wshadow -fPIC -D_GNU_SOURCE
-
-LDFLAGS+= -L ../clulib -L../../../cman/lib -L../../../ccs/lib -L../../../dlm/lib -L${libdir} -lclulib -lxml2 -lpthread -ldl 
-TARGETS=clurgmgrd clurmtabd rg_test
-
-all: ${TARGETS}
-
-install: all
-	install -d ${sbindir}
-	install clurgmgrd ${sbindir}
-	install clurmtabd ${sbindir}
-	install rg_test ${sbindir}
-
-uninstall:
-	${UNINSTALL} clurgmgrd ${sbindir}
-	${UNINSTALL} clurmtabd ${sbindir}
-	${UNINSTALL} rg_test ${sbindir}
-
-clurgmgrd: rg_thread.o rg_locks.o main.o groups.o  \
-		rg_queue.o rg_forward.o reslist.o \
-		resrules.o restree.o fo_domain.o nodeevent.o \
-		rg_event.o watchdog.o rg_state.o \
-	        depends.o ../clulib/libclulib.a
-	$(CC) -o $@ $^ $(LDFLAGS) -lccs -lcman -lpthread -ldlm
+${TARGET2}: ${OBJS2}
+	$(CC) -o $@ $^ $(LDFLAGS)
 
 #
 # Our test program links against the local allocator so that
@@ -56,28 +89,31 @@
 # This is NOT meant to be an installed binary.  Rather, RPMs and/or other
 # packages should run 'make check' as part of the build process.
 #
-rg_test: rg_locks-noccs.o test-noccs.o reslist-noccs.o \
-		resrules-noccs.o restree-noccs.o fo_domain-noccs.o depends-noccs.o
-	$(CC) -o $@ $^ -llalloc $(LDFLAGS) -lccs -lcman
-
-dtest: rg_locks-noccs.o dtest-noccs.o reslist-noccs.o \
-		resrules-noccs.o restree-noccs.o fo_domain-noccs.o depends-noccs.o
-	$(CC) -o $@ $^ -llalloc $(LDFLAGS) -lccs -lcman \
-		-lreadline -ltermcap
-
-clurmtabd: clurmtabd.o clurmtabd_lib.o
-	$(CC) -o $@ $^ $(LDFLAGS)
-
-clean:
-	rm -f *.o $(TARGETS) rg_test
-	rm -f tests/*.out*
+${TARGET3}: ${SHAREDOBJS} ${OBJS3}
+	$(CC) -o $@ $^ $(LDFLAGS) $(CCS_LDFLAGS) $(CMAN_LDFLAGS) \
+			$(LOCAL_LDFLAGS) $(EXTRA_LDFLAGS) $(XML2_LDFLAGS)
+
+${TARGET4}: ${SHAREDOBJS} ${OBJS4}
+	$(CC) -o $@ $^ $(LDFLAGS) $(CCS_LDFLAGS) $(CMAN_LDFLAGS) \
+			$(LOCAL_LDFLAGS) $(EXTRA_LDFLAGS) $(XML2_LDFLAGS) \
+			$(READLINE_LDFLAGS)
 
 check: rg_test
 	cd tests && ./runtests.sh
 
 %.o: %.c
-	$(CC) -c -o $@ $^ $(INCLUDE) $(CFLAGS)
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 %-noccs.o: %.c
-	$(CC) -c -o $@ $^ $(INCLUDE) $(CFLAGS) -DNO_CCS
+	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $^
+
+install: all
+	install -d ${sbindir}
+	install -m755 ${TARGET1} ${TARGET2} ${TARGET3} ${sbindir}
+
+uninstall:
+	${UNINSTALL} ${TARGET1} ${TARGET2} ${TARGET3} ${sbindir}
 
+clean:
+	rm -f *.o ${TARGET1} ${TARGET2} ${TARGET3} ${TARGET4}
+	rm -f tests/*.out*
--- cluster/rgmanager/src/resources/Makefile	2007/03/10 00:20:54	1.17
+++ cluster/rgmanager/src/resources/Makefile	2007/04/30 11:22:23	1.18
@@ -10,12 +10,7 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=../..
-
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
-
-include ${top_srcdir}/make/defines.mk
-INCLUDE += -I $(top_srcdir)/include
+include ../../../make/defines.mk
 
 RESOURCES=fs.sh service.sh ip.sh nfsclient.sh nfsexport.sh \
 	script.sh netfs.sh clusterfs.sh smb.sh \
@@ -44,8 +39,7 @@
 	install -m 644 $(METADATA) ${sharedir}
 
 uninstall:
-	${UNINSTALL} ${UTIL_TARGETS} ${sharedir}/utils
-	${UNINSTALL} ${TARGETS} ${sharedir}
+	${UNINSTALL} ${TARGETS} ${METADATA} ${UTIL_TARGETS} ${sharedir}
 
 clean:
 
--- cluster/rgmanager/src/utils/Makefile	2007/03/20 17:09:57	1.14
+++ cluster/rgmanager/src/utils/Makefile	2007/04/30 11:22:23	1.15
@@ -10,21 +10,28 @@
 ###############################################################################
 ###############################################################################
 
-top_srcdir=../..
-UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ../../../make/defines.mk
 
-include ${top_srcdir}/make/defines.mk
-INCLUDE += -I $(top_srcdir)/include -I $(top_srcdir)/../cman/lib -I $(top_srcdir)/../ccs/lib -I $(top_srcdir)/../dlm/lib
-INCLUDE += -I${incdir}
+TARGETS=clubufflush clufindhostname clustat clusvcadm clulog clunfslock
+DISABLEDTARGETS=cluarp
 
-CFLAGS+= -g -Wstrict-prototypes -Wshadow -fPIC -D_GNU_SOURCE
-CFLAGS+= -DPACKAGE_VERSION=\"${RELEASE}\"
+CFLAGS += -DPACKAGE_VERSION=\"${RELEASE}\"
+CFLAGS += -g -Werror -Wstrict-prototypes -Wshadow -fPIC -D_GNU_SOURCE
+CFLAGS += -I${incdir} -I${ccsincdir} -I${cmanincdir} -I${dlmincdir} -I${ncursesincdir}
+CFLAGS += -I../../include
+
+LDFLAGS += -L${libdir} -L${ccslibdir} -L${cmanlibdir} -L${ncurseslibdir}
+LDFLAGS += -lcman -lpthread -ldl -lncurses -lccs
+LDFLAGS += -L../clulib -lclulib
 
-LDFLAGS+= -L${libdir} -L../../../cman/lib -L../../../ccs/lib -lcman -lpthread -ldl -lncurses -L../clulib -lclulib -lccs
+all: ${TARGETS}
 
-TARGETS=clubufflush clufindhostname clustat clusvcadm clulog clunfslock
+%: %.c
+	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
 
-all: ${TARGETS}
+clunfslock: clunfslock.sh
+	cp clunfslock.sh clunfslock
+	chmod 755 clunfslock
 
 install: all
 	install -d ${sbindir}
@@ -33,30 +40,5 @@
 uninstall:
 	${UNINSTALL} $(TARGETS) ${sbindir}
 
-cluarp: cluarp.o
-	$(CC) -o $@ $^ $(LDFLAGS)
-
-clulog: clulog.o
-	$(CC) -o $@ $^ $(LDFLAGS)
-
-clubufflush: clubufflush.o
-	$(CC) -o $@ $^ $(LDFLAGS)
-
-clufindhostname: clufindhostname.o
-	$(CC) -o $@ $^ $(LDFLAGS)
-
-clustat: clustat.o
-	$(CC) -o $@ $^ $(LDFLAGS)
-
-clusvcadm: clusvcadm.o
-	$(CC) -o $@ $^ $(LDFLAGS)
-
-clunfslock: clunfslock.sh
-	cp clunfslock.sh clunfslock
-	chmod 755 clunfslock
-
 clean:
 	rm -f *.o $(TARGETS)
-
-%.o: %.c
-	$(CC) -c -o $@ $^ $(INCLUDE) $(CFLAGS)
/cvs/cluster/cluster/scripts/define2var,v  -->  standard output
revision 1.1
--- cluster/scripts/define2var
+++ -	2007-04-30 12:22:59.384027000 +0100
@@ -0,0 +1,71 @@
+#!/usr/bin/perl
+
+###############################################################################
+###############################################################################
+##
+##  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
+##  Copyright (C) 2004 Red Hat, Inc.  All rights reserved.
+##  
+##  This copyrighted material is made available to anyone wishing to use,
+##  modify, copy, or redistribute it subject to the terms and conditions
+##  of the GNU General Public License v.2.
+##
+###############################################################################
+###############################################################################
+
+##
+## This script will pull out #define's and convert them into variables that
+## can be used for shell or perl scripts.
+##
+## It takes 2 or 3 parameters.  The first parameter is the filename to search
+## in.  The second paramter is the desired output format.  Supported types
+## ar sh and perl.  An optional third parameter may be given.  If specified,
+## only that partiucular #define will be extracted, otherwise, all #defines
+## are extracted.   This script is not capable of handling condiitional rules.
+## 
+
+$usage = "usage: define2var <filename> <perl|sh> [define]";
+
+if (@ARGV != 2 && @ARGV != 3)
+{
+	die "$usage\n";	
+}
+
+my ($filename, $type, $define ) = @ARGV;
+my $pfx,$sfx;
+
+if ($type eq "sh") 
+{ 
+	($pfx,$sfx) = ("",""); i
+} 
+elsif ($type eq "perl" ) 
+{ 
+	($pfx,$sfx) = ("\$",";"); 
+}
+else 
+{ 
+	die "Unknown type: $type\n"; 
+}
+
+open FILE, "< $filename" or die "error opening $filename: $!\n";
+
+while (<FILE>)
+{
+	chomp;
+	if ($_ =~ /^#define\s+(\S+)\s+(.*)/)
+	{
+		if(! $define ) 
+		{
+			print "$pfx$1=$2$sfx\n";
+		}
+		elsif ($define eq $1 )
+		{
+			print "$pfx$1=$2$sfx\n";
+			exit 0;
+		}
+	}
+}
+
+die "\"$define\" not found\n" if ($define);
+
+exit 0;
/cvs/cluster/cluster/scripts/uninstall.pl,v  -->  standard output
revision 1.1
--- cluster/scripts/uninstall.pl
+++ -	2007-04-30 12:22:59.487066000 +0100
@@ -0,0 +1,84 @@
+#!/usr/bin/perl
+
+###############################################################################
+###############################################################################
+##
+##  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
+##  Copyright (C) 2004 Red Hat, Inc.  All rights reserved.
+##
+##  This copyrighted material is made available to anyone wishing to use,
+##  modify, copy, or redistribute it subject to the terms and conditions
+##  of the GNU General Public License v.2.
+##
+###############################################################################
+###############################################################################
+
+##    Description: Basically the reverse of the install program, except it
+##                 only supports a list of files and a directory as arguments
+
+$| = 1;
+
+use Getopt::Std;
+
+# list all valid options here.  User will get errors if invalid options are 
+# specified on the command line
+getopts('hD');
+
+$args = 1;
+
+# We need at least two arguments to uninstall
+if(!defined($ARGV[1])) {
+    $args = 0;
+}
+    
+# if the user set the help flag or didn't provide enough args, print help 
+# and die.
+if(defined($opt_h) || ($args == 0)) {
+  $msg = "usage: $0 [OPTIONS] TARGET DIRECTORY\n";
+  $msg = $msg . "\t-D\tRemove specified directory if empty\n";
+  $msg = $msg . "\t-h\tDisplay this help message\n";
+  die $msg;
+}
+
+# find out how many command line arguments we have
+$length = $#ARGV;
+# We need a special case if there is only one file specified
+if($length > 1) {
+  @filelist = @ARGV;
+  $#filelist = $length - 1;
+}
+else {
+  @filelist = @ARGV[0];
+}
+
+# the last argument is the directory
+$dir = @ARGV[$length];
+
+# prepend the directory name to all files in the filelist
+$i = 0;
+print "Attempting to remove the following files from directory $dir/:\n";
+while($i < $length) {
+  print "@filelist[$i] ";
+  @filelist[$i] = "$dir/" . @filelist[$i];
+  $i++;
+}
+print "\n";
+  
+#print "Files:@filelist\n";
+#print "Directory: $dir\n";
+
+# delete the files in filelist
+$unlinked = unlink @filelist;
+if($unlinked < $length) {
+  print "Error! Unable to remove all files in $dir:\n\tYou may have to manually delete some of them.\n"
+}
+# if user specifed they want the directory deleted, try to delete it.  Print 
+# error message if not able to delete directory, including error.
+if(defined($opt_D)) {
+  $result = rmdir($dir);
+  if($result == FALSE) {
+    print "Error! Unable to remove directory $dir/:\n\t$!\n";
+  }
+}
+
+




More information about the Cluster-devel mailing list