[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] [PATCH] 3rd attempt.. of --without-*



This time it should be good...

Fabio

-- 
I'm going to make him an offer he can't refuse.
? make/defines.mk
Index: Makefile
===================================================================
RCS file: /cvs/cluster/cluster/Makefile,v
retrieving revision 1.30
diff -u -r1.30 Makefile
--- Makefile	19 Sep 2007 19:47:07 -0000	1.30
+++ Makefile	21 Sep 2007 11:44:36 -0000
@@ -1,7 +1,7 @@
 ###############################################################################
 ###############################################################################
 ##  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.
@@ -11,88 +11,63 @@
 
 include make/defines.mk
 
-KERNEL=gnbd-kernel gfs-kernel
-USERLAND=cman-lib ccs cman dlm group fence gfs gfs2 gnbd rgmanager
-
-MODULES=${KERNEL} ${USERLAND}
-
-KSUBDIRS=gnbd-kernel/src gfs-kernel/src/gfs
-SUBDIRS=ccs cman dlm group fence gfs gfs2 gnbd rgmanager
+REALSUBDIRS = gnbd-kernel/src gfs-kernel/src/gfs \
+	      cman/lib ccs cman dlm group fence gfs gfs2 gnbd rgmanager
 
-all: build
+SUBDIRS = $(filter-out \
+	  $(if ${without_gnbd},gnbd-kernel/src) \
+	  $(if ${without_gfs},gfs-kernel/src/gfs) \
+	  $(if ${without_cman},cman/lib) \
+	  $(if ${without_ccs},ccs) \
+	  $(if ${without_cman},cman) \
+	  $(if ${without_dlm},dlm) \
+	  $(if ${without_group},group) \
+	  $(if ${without_fence},fence) \
+	  $(if ${without_gfs},gfs) \
+	  $(if ${without_gfs2},gfs2) \
+	  $(if ${without_gnbd},gnbd) \
+	  $(if ${without_rgmanager},rgmanager) \
+	  , $(REALSUBDIRS))
 
-build: kernel-modules userland
+all: scripts ${SUBDIRS}
 
-# scripts details
+# Fix scripts permissions
 scripts:
-	chmod 755 ${BUILDDIR}/scripts/*.pl
-	chmod 755 ${BUILDDIR}/scripts/define2var
-
-# kernel stuff
-
-kernel-modules: ${KERNEL}
-
-gnbd-kernel:
-	${MAKE} -C gnbd-kernel/src all
+	chmod 755 ${BUILDDIR}/scripts/*.pl ${BUILDDIR}/scripts/define2var
 
-gfs-kernel:
-	${MAKE} -C gfs-kernel/src/gfs
+${SUBDIRS}:
+	[ -n "${without_$ }" ] || ${MAKE} -C $@ all
 
-# userland stuff
-# make all target can't be folded in a for loop otherwise make -j breaks
-# because we can't express dependencies.
+# Kernel
 
-userland: scripts ${USERLAND}
+gnbd-kernel: gnbd-kernel/src
+gfs-kernel: gfs-kernel/src/gfs
 
-cman-lib:
-	${MAKE} -C cman/lib all
-
-ccs: cman-lib
-	${MAKE} -C ccs all
+# Dependencies
 
+cman/lib:
+ccs: cman/lib
 cman: ccs
-	${MAKE} -C cman all
-
 dlm:
-	${MAKE} -C dlm all
-
 group: ccs dlm
-	${MAKE} -C group all
-
 fence: group dlm
-	${MAKE} -C fence all
-
 gfs:
-	${MAKE} -C gfs all
-
 gfs2:
-	${MAKE} -C gfs2 all
-
-gnbd: cman-lib
-	${MAKE} -C gnbd all
-
+gnbd: cman/lib
 rgmanager: ccs dlm
-	${MAKE} -C rgmanager all
 
-# end of build
+install: all
+	set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
+
+uninstall:
+	set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
 
 clean:
-	set -e && for i in ${KSUBDIRS} ${SUBDIRS}; do ${MAKE} -C $$i $@; done
+	set -e && for i in ${REALSUBDIRS}; do ${MAKE} -C $$i $@; done
 
 distclean: clean
 	rm -f make/defines.mk
 	rm -f *tar.gz
 	rm -rf build
 
-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:
-	set -e && for i in ${KSUBDIRS} ${SUBDIRS}; do ${MAKE} -C $$i $@; done
-
-.PHONY: scripts ${MODULES}
+.PHONY: scripts ${REALSUBDIRS}
Index: configure
===================================================================
RCS file: /cvs/cluster/cluster/configure,v
retrieving revision 1.32
diff -u -r1.32 configure
--- configure	19 Sep 2007 11:07:21 -0000	1.32
+++ configure	21 Sep 2007 11:44:36 -0000
@@ -68,6 +68,15 @@
 	enable_xen => \$enable_xen,
 	release_major => \$release_major,
 	release_minor => \$release_minor,
+	without_ccs => \$without_ccs,
+	without_cman => \$without_cman,
+	without_dlm => \$without_dlm,
+	without_group => \$without_group,
+	without_fence => \$without_fence,
+	without_gfs => \$without_gfs,
+	without_gfs2 => \$without_gfs2,
+	without_gnbd => \$without_gnbd,
+	without_rgmanager => \$without_rgmanager,
 );
 
 $err = &GetOptions (\%options,
@@ -114,7 +123,16 @@
 		    'release_major=s',
 		    'release_minor=s',
 		    'fence_agents=s',
-		    'enable_xen');
+		    'enable_xen',
+		    'without_ccs',
+		    'without_cman',
+		    'without_dlm',
+		    'without_group',
+		    'without_fence',
+		    'without_gfs',
+		    'without_gfs2',
+		    'without_gnbd',
+		    'without_rgmanager');
 
 if(!$err) {
   $ret = 1;
@@ -171,6 +189,15 @@
   print "--fence_agents=\tlist of fence agents to configure.  (Default: all)\n";
   print "\t\tUse --fence_agents=help for a list\n";
   print "--enable_xen\tEnable building of Xen-specific pieces\n";
+  print "--without_ccs\tDisable ccs building  (Default: enabled)\n";
+  print "--without_cman\tDisable cman building  (Default: enabled)\n";
+  print "--without_dlm\tDisable dlm building  (Default: enabled)\n";
+  print "--without_group\tDisable group building  (Default: enabled)\n";
+  print "--without_fence\tDisable fence building  (Default: enabled)\n";
+  print "--without_gfs\tDisable gfs building  (Default: enabled)\n";
+  print "--without_gfs2\tDisable gfs2 building  (Default: enabled)\n";
+  print "--without_gnbd\tDisable gnbd building  (Default: enabled)\n";
+  print "--without_rgmanager\tDisable rgmanager building  (Default: enabled)\n";
   exit $ret;
 }
 
@@ -376,6 +403,16 @@
   $_ =~ s/\ SHAREDIR\@/$sharedir/;
   $_ =~ s/\ FENCE_AGENTS\@/$fence_agents/;
   $_ =~ s/\ ENABLE_XEN\@/$enable_xen/;
+  $_ =~ s/\ DISABLE_CCS\@/$without_ccs/;
+  $_ =~ s/\ DISABLE_CMAN\@/$without_cman/;
+  $_ =~ s/\ DISABLE_DLM\@/$without_dlm/;
+  $_ =~ s/\ DISABLE_GROUP\@/$without_group/;
+  $_ =~ s/\ DISABLE_FENCE\@/$without_fence/;
+  $_ =~ s/\ DISABLE_GFS\@/$without_gfs/;
+  $_ =~ s/\ DISABLE_GFS2\@/$without_gfs2/;
+  $_ =~ s/\ DISABLE_GNBD\@/$without_gnbd/;
+  $_ =~ s/\ DISABLE_RGMANAGER\@/$without_rgmanager/;
+
   print OFILE "$_\n";
 }
 
Index: make/defines.mk.input
===================================================================
RCS file: /cvs/cluster/cluster/make/defines.mk.input,v
retrieving revision 1.4
diff -u -r1.4 defines.mk.input
--- make/defines.mk.input	19 Sep 2007 11:07:21 -0000	1.4
+++ make/defines.mk.input	21 Sep 2007 11:44:47 -0000
@@ -63,6 +63,18 @@
 virtlibdir ?= @VIRTLIBDIR@
 fence_agents ?= @FENCE_AGENTS@
 enable_xen ?= @ENABLE_XEN@
+without_gnbd-kernel/src ?= @DISABLE_GNBD@
+without_gfs-kernel/src/gfs ?= @DISABLE_GFS@
+without_cman/lib ?= @DISABLE_CMAN@
+without_ccs ?= @DISABLE_CCS@
+without_cman ?= @DISABLE_CMAN@
+without_dlm ?= @DISABLE_DLM@
+without_group ?= @DISABLE_GROUP@
+without_fence ?= @DISABLE_FENCE@
+without_gfs ?= @DISABLE_GFS@
+without_gfs2 ?= @DISABLE_GFS2@
+without_gnbd ?= @DISABLE_GNBD@
+without_rgmanager ?= @DISABLE_RGMANAGER@
 
 UNINSTALL = @BUILDDIR@/scripts/uninstall.pl
 DEF2VAR = @BUILDDIR@/scripts/define2var

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]