All of lore.kernel.org
 help / color / mirror / Atom feed
From: fabbione@sourceware.org <fabbione@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster ./Makefile ./configure ccs/Makefile cc ...
Date: 30 Apr 2007 11:23:00 -0000	[thread overview]
Message-ID: <20070430112300.15157.qmail@sourceware.org> (raw)

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@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";
+  }
+}
+
+



                 reply	other threads:[~2007-04-30 11:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070430112300.15157.qmail@sourceware.org \
    --to=fabbione@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.