[Openais] [PATCH] Changes I need to get corosync to compile (take 2)

angus salkeld angus.salkeld at alliedtelesis.co.nz
Wed Jul 23 18:08:54 PDT 2008


Hi

After your commit I still have some issues that this patch fixes.

Regards
Angus

-remove the dependency on abspath
-add services to the SUBDIRS variable
-call submake with services not exec
-add services to the make clean
-cleanup the include & libs tobe installed
-add a generic CFLAGS override in the Makefile.inc
-set the subdir variable, if we are making in a subdirectory
-when using O=... -fix the compiling of lcr_iface
-when using O=... -add srcdir to the versions files.
-fix a typo in make clean
---
 corosync/Makefile          |   47 ++++++++++++-------------------------------
 corosync/Makefile.inc      |    1 +
 corosync/exec/Makefile     |    6 ++--
 corosync/exec/mainconfig.h |    2 +-
 corosync/lib/Makefile      |   13 +++++------
 corosync/services/Makefile |    2 +-
 6 files changed, 25 insertions(+), 46 deletions(-)

diff --git a/corosync/Makefile b/corosync/Makefile
index f967f27..89f4ff6 100644
--- a/corosync/Makefile
+++ b/corosync/Makefile
@@ -29,28 +29,15 @@
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 # THE POSSIBILITY OF SUCH DAMAGE.
 
-builddir:=$(CURDIR)/
+builddir:=$(shell pwd)/
 ifneq ($(O),)
 # cleanup the path (make it absolute)
-builddir:=$(abspath $(O))/
-ifeq ($(builddir),)
-builddir:=$(O)
-$(warning your abspath function is not working)
-$(warning > setting builddir to $(builddir))
-endif
-endif
-
-THIS_MAKEFILE:=$(realpath $(lastword $(MAKEFILE_LIST)))
-
-ifeq ($(THIS_MAKEFILE),)
-srcdir:=$(CURDIR)/
-$(warning your realpath function is not working)
-$(warning > setting srcdir to $(srcdir))
-else
-srcdir:=$(dir $(THIS_MAKEFILE))
+$(shell mkdir -p $(O))
+builddir:=$(shell cd $(O) && pwd)/
 endif
+srcdir:=$(shell cd $(dir $(MAKEFILE_LIST)) && pwd)/
 
-include $(srcdir)Makefile.inc
+include $(srcdir)/Makefile.inc
 
 SBINDIR=$(PREFIX)/sbin
 INCLUDEDIR=$(PREFIX)/include/openais
@@ -76,14 +63,14 @@ ifeq (ia64,$(ARCH))
 LIBDIR=$(PREFIX)/lib/openais
 endif
 
-SUBDIRS:=$(builddir)lcr $(builddir)lib $(builddir)exec $(builddir)test
+SUBDIRS:=$(builddir)lcr $(builddir)lib $(builddir)exec $(builddir)test $(builddir)services
 sub_make = srcdir=$(srcdir) builddir=$(builddir) subdir=$(1)/ $(MAKE) -I$(srcdir)$(1) -f $(srcdir)$(1)/Makefile $(2)
 
 all: $(SUBDIRS)
 	@(cd $(builddir)lcr; echo ==== `pwd` ===;  $(call sub_make,lcr,all));
 	@(cd $(builddir)lib; echo ==== `pwd` ===;  $(call sub_make,lib,all));
 	@(cd $(builddir)exec; echo ==== `pwd` ===; $(call sub_make,exec,all));
-	@(cd $(builddir)services; echo ==== `pwd` ===; $(call sub_make,exec,all));
+	@(cd $(builddir)services; echo ==== `pwd` ===; $(call sub_make,services,all));
 	@(cd $(builddir)test; echo ==== `pwd` ===; $(call sub_make,test,all));
 
 # subdirs are not phony
@@ -122,15 +109,14 @@ clean:
 	(cd $(builddir)lcr; echo ==== `pwd` ===; $(call sub_make,lcr,clean));
 	(cd $(builddir)lib; echo ==== `pwd` ===; $(call sub_make,lib,clean));
 	(cd $(builddir)exec; echo ==== `pwd` ===; $(call sub_make,exec,clean));
+	(cd $(builddir)services; echo ==== `pwd` ===; $(call sub_make,services,clean));
 	(cd $(builddir)test; echo ==== `pwd` ===; $(call sub_make,test,clean));
 	rm -rf $(builddir)doc/api
 
-AIS_LIBS	= ais SaAmf SaClm SaCkpt SaEvt SaLck SaMsg evs cpg \
-		  cfg aisutil confdb
+AIS_LIBS	= evs cpg cfg coroutil confdb
 
-AIS_HEADERS	= saAis.h saAmf.h saClm.h saCkpt.h saEvt.h saEvt.h saLck.h \
-		  saMsg.h cpg.h cfg.h evs.h ipc_gen.h mar_gen.h swab.h 	   \
-		  ais_util.h confdb.h
+AIS_HEADERS	= cpg.h cfg.h evs.h ipc_gen.h mar_gen.h swab.h \
+		  ais_util.h confdb.h list.h
 
 EXEC_LIBS	= totem_pg logsys
 
@@ -184,21 +170,14 @@ install: all
 	echo $(LIBDIR) > "$(DESTDIR)$(ETCDIR)/ld.so.conf.d/openais-$(ARCH).conf"
 
 	install -m 755 $(builddir)exec/*lcrso $(DESTDIR)$(LCRSODIR)
-	install -m 755 $(builddir)exec/aisexec $(DESTDIR)$(SBINDIR)
+	install -m 755 $(builddir)exec/corosync $(DESTDIR)$(SBINDIR)
 	install -m 700 $(builddir)exec/keygen $(DESTDIR)$(SBINDIR)/ais-keygen
 
-	if [ ! -f $(DESTDIR)$(ETCDIR)/ais/openais.conf ] ; then 	   \
-		install -m 644 $(srcdir)conf/openais.conf $(DESTDIR)$(ETCDIR)/ais ; \
-	fi
-	if [ ! -f $(DESTDIR)$(ETCDIR)/ais/amf.conf ] ; then 		\
-		install -m 644 $(srcdir)conf/amf.conf $(DESTDIR)$(ETCDIR)/ais ;	\
-	fi
-
 	for aHeader in $(AIS_HEADERS); do				\
 	    install -m 644 $(srcdir)include/$$aHeader $(DESTDIR)$(INCLUDEDIR);	\
 	done
 
-	install -m 644 $(srcdir)exec/aispoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
+	install -m 644 $(srcdir)exec/coropoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
 	install -m 644 $(srcdir)exec/totempg.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
 	install -m 644 $(srcdir)exec/totem.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
 	install -m 644 $(srcdir)exec/totemip.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
diff --git a/corosync/Makefile.inc b/corosync/Makefile.inc
index 3d43ba6..3118097 100644
--- a/corosync/Makefile.inc
+++ b/corosync/Makefile.inc
@@ -110,4 +110,5 @@ endif
 endif
 
 VPATH:=. $(srcdir) $(srcdir)$(subdir)
+override CFLAGS += -I$(srcdir)include -I$(srcdir)$(subdir)
 
diff --git a/corosync/exec/Makefile b/corosync/exec/Makefile
index 19b9527..86e50b9 100644
--- a/corosync/exec/Makefile
+++ b/corosync/exec/Makefile
@@ -32,10 +32,10 @@
 # Include configuration
 #
 srcdir ?= $(CURDIR)/../
+subdir ?= exec/
 
 include $(srcdir)Makefile.inc
 
-override CFLAGS += -I$(srcdir)include
 LDFLAGS += -L./
 
 ifeq (${BUILD_DYNAMIC}, 1) 
@@ -145,8 +145,8 @@ depend:
 	makedepend -Y -- $(CFLAGS) $(CPPFLAGS) $(EXEC_SRC) $(TOTEM_SRC) $(LOGSYS_SRC) $(LCR_SRC) > /dev/null 2>&1
 
 # - fPIC rules required for service handler shared objects
-../lcr/lcr_ifact.o: ../lcr/lcr_ifact.c
-	$(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' -DLCRSODIR='"$(LCRSODIR)"' -I../lcr -c -o $@ ../lcr/lcr_ifact.c
+../lcr/lcr_ifact.o: $(srcdir)lcr/lcr_ifact.c
+	$(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' -DLCRSODIR='"$(LCRSODIR)"' -I../lcr -c -o $@ $<
 
 vsf_ykd.o: vsf_ykd.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
diff --git a/corosync/exec/mainconfig.h b/corosync/exec/mainconfig.h
index b7d58db..eff9b82 100644
--- a/corosync/exec/mainconfig.h
+++ b/corosync/exec/mainconfig.h
@@ -45,7 +45,7 @@ struct dynamic_service {
 	char *name;
 	unsigned int ver;
 	unsigned int handle;
-	struct openais_service_engine_iface_ver0 *iface_ver0;
+	struct corosync_service_engine_iface_ver0 *iface_ver0;
 };
 #define MAX_DYNAMIC_SERVICES 128
 
diff --git a/corosync/lib/Makefile b/corosync/lib/Makefile
index 7c54328..5beddc3 100644
--- a/corosync/lib/Makefile
+++ b/corosync/lib/Makefile
@@ -35,7 +35,6 @@ srcdir ?= $(CURDIR)/../
 include $(srcdir)Makefile.inc
 

-override CFLAGS += -I$(srcdir)include
 override LDFLAGS += -L./
 
 all: libcpg.a libcpg.so.2.0.0 \
@@ -71,19 +70,19 @@ libcpg.so.2.0.0: util.o cpg.o
 else
 
 libcoroutil.so.2.0.0: util.o
-	$(CC) $(LDFLAGS) -shared -Wl,-soname,libcoroutil.so.2,-version-script=libcoroutil.versions util.o -o $@
+	$(CC) $(LDFLAGS) -shared -Wl,-soname,libcoroutil.so.2,-version-script=$(srcdir)$(subdir)libcoroutil.versions util.o -o $@
 
 libevs.so.2.0.0: util.o evs.o
-	$(CC) $(LDFLAGS) -shared -Wl,-soname,libevs.so.2,-version-script=libevs.versions util.o evs.o -o $@
+	$(CC) $(LDFLAGS) -shared -Wl,-soname,libevs.so.2,-version-script=$(srcdir)$(subdir)libevs.versions util.o evs.o -o $@
 
 libcpg.so.2.0.0: util.o cpg.o
-	$(CC) -shared -Wl,-soname,libcpg.so.2,-version-script=libcpg.versions util.o cpg.o -o $@
+	$(CC) -shared -Wl,-soname,libcpg.so.2,-version-script=$(srcdir)$(subdir)libcpg.versions util.o cpg.o -o $@
 
 libconfdb.so.2.0.0: util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o
-	$(CC) $(LDFLAGS) -shared -Wl,-soname,libconfdb.so.2,-version-script=libconfdb.versions util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o -o $@
+	$(CC) $(LDFLAGS) -shared -Wl,-soname,libconfdb.so.2,-version-script=$(srcdir)$(subdir)libconfdb.versions util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o -o $@
 
 libcfg.so.2.0.0: util.o cfg.o
-	$(CC) -shared -Wl,-soname,libcfg.so.2,-version-script=libcfg.versions util.o cfg.o -o $@
+	$(CC) -shared -Wl,-soname,libcfg.so.2,-version-script=$(srcdir)$(subdir)libcfg.versions util.o cfg.o -o $@
 
 endif
 
@@ -100,7 +99,7 @@ libcfg.a: util.o cfg.o
 	$(AR) -rc libcfg.a util.o cfg.o
 
 clean:
-	rm -f *.o libcfg.so* ibcoroutil.so* libcoroutil.a \
+	rm -f *.o libcfg.so* libcoroutil.so* libcoroutil.a \
 		libevs.so* libevs.a libcpg.so* libcpg.a libcfg.a libconfdb.so* \
 		libconfdb.a libconfdb.a \ *.da *.bb *.bbg
  
diff --git a/corosync/services/Makefile b/corosync/services/Makefile
index 4cd5e2e..25284c6 100644
--- a/corosync/services/Makefile
+++ b/corosync/services/Makefile
@@ -31,10 +31,10 @@
 # Include configuration
 #
 srcdir ?= $(CURDIR)/../
+subdir ?= services/
 
 include $(srcdir)Makefile.inc
 
-override CFLAGS += -I$(srcdir)include
 LDFLAGS += -L./
 
 ifeq (${BUILD_DYNAMIC}, 1) 
-- 
1.5.6



More information about the Openais mailing list