mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2026-01-18 03:31:15 +00:00
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1766 fd59a12c-fef9-0310-b244-a6a79926bd2f
203 lines
6.1 KiB
Makefile
203 lines
6.1 KiB
Makefile
# Copyright (c) 2002-2006 MontaVista Software, Inc.
|
|
# Copyright (c) 2006-2008 Red Hat, Inc.
|
|
#
|
|
# All rights reserved.
|
|
#
|
|
# This software licensed under BSD license, the text of which follows:
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
#
|
|
# - Redistributions of source code must retain the above copyright notice,
|
|
# this list of conditions and the following disclaimer.
|
|
# - Redistributions in binary form must reproduce the above copyright notice,
|
|
# this list of conditions and the following disclaimer in the documentation
|
|
# and/or other materials provided with the distribution.
|
|
# - Neither the name of the MontaVista Software, Inc. nor the names of its
|
|
# contributors may be used to endorse or promote products derived from this
|
|
# software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
# THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
# Include configuration
|
|
#
|
|
srcdir ?= $(CURDIR)/../
|
|
subdir ?= exec/
|
|
|
|
include $(srcdir)Makefile.inc
|
|
|
|
override LDFLAGS += -L./ ${DYFLAGS}
|
|
|
|
ifeq (${BUILD_DYNAMIC}, 1)
|
|
override LDFLAGS += ${DYFLAGS}
|
|
endif
|
|
|
|
ifeq (${COROSYNC_COMPAT}, LINUX)
|
|
override LDFLAGS += -ldl
|
|
endif
|
|
|
|
ifeq (${COROSYNC_COMPAT}, SOLARIS)
|
|
override LDFLAGS += -lnsl -lsocket -lrt
|
|
endif
|
|
|
|
# Totem objects
|
|
TOTEM_SRC = coropoll.c totemip.c totemnet.c totemrrp.c totemsrp.c totemmrp.c totempg.c crypto.c wthread.c
|
|
TOTEM_OBJS = coropoll.o totemip.o totemnet.o totemrrp.o totemsrp.o totemmrp.o totempg.o crypto.o wthread.o
|
|
LOGSYS_SRC = wthread.c logsys.c
|
|
LOGSYS_OBJS = wthread.o logsys.o
|
|
|
|
EXEC_LIBS = libtotem_pg.a liblogsys.a
|
|
|
|
# LCR objects
|
|
LCR_SRC = vsf_ykd.c objdb.c coroparse.c vsf_quorum.c
|
|
LCR_OBJS = vsf_ykd.o objdb.o coroparse.o vsf_quorum.o
|
|
|
|
# main executive objects
|
|
MAIN_SRC = main.c mempool.c util.c sync.c apidef.c service.c ipc.c \
|
|
quorum.c timer.c totemconfig.c mainconfig.c
|
|
MAIN_OBJS = main.o mempool.o util.o sync.o apidef.o service.o ipc.o \
|
|
quorum.o timer.o totemconfig.o mainconfig.o ../lcr/lcr_ifact.o
|
|
|
|
ifeq (${BUILD_DYNAMIC}, 1)
|
|
#EXEC_OBJS = $(TOTEM_OBJS) $(LOGSYS_OBJS) $(MAIN_OBJS)
|
|
EXEC_OBJS = $(MAIN_OBJS)
|
|
override CFLAGS += -fPIC
|
|
|
|
all:libtotem_pg.a libtotem_pg.so.2.0.0 liblogsys.a liblogsys.so.2.0.0 \
|
|
../lcr/lcr_ifact.o corosync_ \
|
|
objdb.lcrso vsf_ykd.lcrso coroparse.lcrso vsf_quorum.lcrso
|
|
else
|
|
EXEC_OBJS = $(MAIN_OBJS) $(LCR_OBJS)
|
|
all: libtotem_pg.a liblogsys.a corosync
|
|
endif
|
|
|
|
|
|
ifeq (${COROSYNC_COMPAT}, DARWIN)
|
|
|
|
objdb.lcrso: objdb.o
|
|
$(CC) -bundle -bundle_loader ./corosync -bind_at_load objdb.o -o $@
|
|
|
|
vsf_ykd.lcrso: vsf_ykd.o
|
|
$(CC) $(LDFLAGS) -bundle $(LDFLAGS) -bundle_loader ./corosync -bind_at_load vsf_ykd.o -o $@
|
|
|
|
vsf_quorum.lcrso: vsf_quorum.o
|
|
$(CC) $(LDFLAGS) -bundle $(LDFLAGS) -bundle_loader ./corosync -bind_at_load vsf_quorum.o -o $@
|
|
|
|
coroparse.lcrso: coroparse.o
|
|
$(CC) -bundle -bundle_loader ./corosync -bind_at_load coroparse.o -o $@
|
|
|
|
else
|
|
|
|
vsf_ykd.lcrso: vsf_ykd.o
|
|
$(CC) -shared -Wl,-soname,vsf_ykd.lcrso vsf_ykd.o -o $@
|
|
|
|
vsf_quorum.lcrso: vsf_quorum.o
|
|
$(CC) -shared -Wl,-soname,vsf_quorum.lcrso vsf_quorum.o -o $@
|
|
|
|
objdb.lcrso: objdb.o
|
|
$(CC) -shared -Wl,-soname,objdb.lcrso objdb.o -o $@
|
|
|
|
testquorum.lcrso: testquorum.o
|
|
$(CC) -shared -Wl,-soname,testquorum.lcrso objdb.o -o $@
|
|
|
|
coroparse.lcrso: coroparse.o
|
|
$(CC) -shared -Wl,-soname,coroparse.lcrso coroparse.o -o $@
|
|
endif
|
|
|
|
corosync_: $(EXEC_OBJS) $(EXEC_LIBS)
|
|
$(CC) $(EXEC_OBJS) $(EXEC_LIBS) -o corosync $(LDFLAGS)
|
|
|
|
libtotem_pg.a: $(TOTEM_OBJS)
|
|
$(AR) -rc libtotem_pg.a $(TOTEM_OBJS)
|
|
|
|
liblogsys.a: $(LOGSYS_OBJS)
|
|
$(AR) -rc liblogsys.a $(LOGSYS_OBJS)
|
|
|
|
ifeq (${COROSYNC_COMPAT}, DARWIN)
|
|
|
|
libtotem_pg.so.2.0.0: $(TOTEM_OBJS)
|
|
$(CC) $(LDFLAGS) -bundle -bind_at_load $(TOTEM_OBJS) -o $@
|
|
|
|
liblogsys.so.2.0.0: $(LOGSYS_OBJS)
|
|
$(CC) $(LDFLAGS) -bundle -bind_at_load $(LOGSYS_OBJS) -o $@
|
|
else
|
|
|
|
libtotem_pg.so.2.0.0: $(TOTEM_OBJS)
|
|
$(CC) $(LDFLAGS) -shared -Wl,-soname,libtotem_pg.so.2 $(TOTEM_OBJS) -o $@
|
|
|
|
liblogsys.so.2.0.0: $(LIBLOGSYS_OBJS)
|
|
$(CC) -shared -Wl,-soname,liblogsys.so.2 $(LOGSYS_OBJS) -o $@ $(LDFLAGS)
|
|
|
|
endif
|
|
|
|
lint:
|
|
-splint $(LINT_FLAGS) $(CFLAGS) *.c
|
|
|
|
clean:
|
|
rm -f corosync $(OBJS) *.o *.lcrso libtotem_pg.so* libtotem_pg.a gmon.out
|
|
rm -f *.da *.bb *.bbg liblogsys.so* liblogsys.a
|
|
|
|
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: $(srcdir)lcr/lcr_ifact.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' -c -o $@ $<
|
|
|
|
vsf_ykd.o: vsf_ykd.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
|
|
|
vsf_quorum.o: vsf_quorum.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
|
|
|
objdb.o: objdb.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
testquorum.o: testquorum.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
coroparse.o: coroparse.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
# -fPIC rules required for lib totem
|
|
coropoll.o: coropoll.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
totempg.o: totempg.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
totemsrp.o: totemsrp.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
totemrrp.o: totemrrp.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
totemip.o: totemip.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
totemnet.o: totemnet.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
wthread.o: wthread.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
crypto.o: crypto.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
totemmrp.o: totemmrp.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|
|
totemconfig.o: totemconfig.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
|
|
|