[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