4
0

Makefile.am 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. #
  2. # Copyright (c) 2009 Red Hat, Inc.
  3. #
  4. # Authors: Andrew Beekhof
  5. # Steven Dake (sdake@redhat.com)
  6. #
  7. # This software licensed under BSD license, the text of which follows:
  8. #
  9. # Redistribution and use in source and binary forms, with or without
  10. # modification, are permitted provided that the following conditions are met:
  11. #
  12. # - Redistributions of source code must retain the above copyright notice,
  13. # this list of conditions and the following disclaimer.
  14. # - Redistributions in binary form must reproduce the above copyright notice,
  15. # this list of conditions and the following disclaimer in the documentation
  16. # and/or other materials provided with the distribution.
  17. # - Neither the name of the MontaVista Software, Inc. nor the names of its
  18. # contributors may be used to endorse or promote products derived from this
  19. # software without specific prior written permission.
  20. #
  21. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  22. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24. # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  25. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  26. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  27. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  28. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  29. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  30. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  31. # THE POSSIBILITY OF SUCH DAMAGE.
  32. MAINTAINERCLEANFILES = Makefile.in
  33. AM_CFLAGS = -fPIC
  34. AM_LDFLAGS = -lpthread
  35. INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
  36. lib_LIBRARIES = libcpg.a libconfdb.a libevs.a libcfg.a libquorum.a \
  37. libvotequorum.a libpload.a libcoroipcc.a libsam.a
  38. SHARED_LIBS = $(filter-out libcpg.so.$(SONAME) libconfdb.so.$(SONAME), $(lib_LIBRARIES:%.a=%.so.$(SONAME))) \
  39. libcpg.so.$(CPG_SONAME) libconfdb.so.$(CONFDB_SONAME)
  40. SHARED_LIBS_SO = $(lib_LIBRARIES:%.a=%.so)
  41. SHARED_LIBS_SO_TWO = $(lib_LIBRARIES:%.a=%.so.$(SOMAJOR))
  42. libcpg_a_SOURCES = cpg.c
  43. libcfg_a_SOURCES = cfg.c
  44. libevs_a_SOURCES = evs.c
  45. libpload_a_SOURCES = pload.c
  46. libquorum_a_SOURCES = quorum.c
  47. libvotequorum_a_SOURCES = votequorum.c
  48. libconfdb_a_SOURCES = confdb.c sa-confdb.c
  49. libcoroipcc_a_SOURCES = coroipcc.c
  50. libsam_a_SOURCES = sam.c
  51. noinst_HEADERS = sa-confdb.h util.h \
  52. libcfg.versions libconfdb.versions \
  53. libcoroipcc.versions libcpg.versions \
  54. libevs.versions libpload.versions \
  55. libquorum.versions libvotequorum.versions \
  56. libsam.versions
  57. ../lcr/lcr_ifact.o:
  58. $(MAKE) -C ../lcr lcr_ifact.o
  59. if BUILD_DARWIN
  60. libcoroipcc.so.$(SONAME): coroipcc.o
  61. $(CC) $(LDFLAGS) $(DARWIN_OPTS) coroipcc.o -o $@ $(AM_LDFLAGS)
  62. ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so
  63. ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so.$(SOMAJOR)
  64. libconfdb.so.$(CONFDB_SONAME): confdb.o sa-confdb.o libcoroipcc.so.$(SONAME)
  65. $(CC) $(LDFLAGS) $(DARWIN_OPTS) coroipcc.o confdb.o \
  66. sa-confdb.o ../lcr/lcr_ifact.o -o $@ -ldl $(AM_LDFLAGS)
  67. ln -sf libconfdb.so.$(CONFDB_SONAME) libconfdb.so
  68. ln -sf libconfdb.so.$(CONFDB_SONAME) libconfdb.so.$(SOMAJOR)
  69. libcpg.so.$(CPG_SONAME): cpg.o libcoroipcc.so.$(SONAME)
  70. $(CC) $(DARWIN_OPTS) $^ -o $@
  71. ln -sf $@ libcpg.so
  72. ln -sf $@ libcpg.so.$(SOMAJOR)
  73. lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
  74. $(CC) $(DARWIN_OPTS) $^ -o $@
  75. ln -sf lib$*.so.$(SONAME) lib$*.so
  76. ln -sf lib$*.so.$(SONAME) lib$*.so.$(SOMAJOR)
  77. else
  78. if BUILD_SOLARIS
  79. libcoroipcc.so.$(SONAME): coroipcc.o
  80. $(LD) $(LDFLAGS) $(SOLARIS_OPTS) -G coroipcc.o -o $@ $(AM_LDFLAGS) -lsocket -lnsl
  81. ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so
  82. ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so.$(SOMAJOR)
  83. libconfdb.so.$(CONFDB_SONAME): confdb.o sa-confdb.o libcoroipcc.so.$(SONAME)
  84. $(LD) $(LDFLAGS) $(SOLARIS_OPTS) -G coroipcc.o confdb.o \
  85. sa-confdb.o ../lcr/lcr_ifact.o -o $@ -ldl $(AM_LDFLAGS)
  86. ln -sf libconfdb.so.$(CONFDB_SONAME) libconfdb.so
  87. ln -sf libconfdb.so.$(CONFDB_SONAME) libconfdb.so.$(SOMAJOR)
  88. libcpg.so.$(CPG_SONAME): cpg.o libcoroipcc.so.$(SONAME)
  89. $(LD) $(SOLARIS_OPTS) -G $^ -o $@
  90. ln -sf $@ libcpg.so
  91. ln -sf $@ libcpg.so.$(SOMAJOR)
  92. lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
  93. $(LD) $(SOLARIS_OPTS) -G $^ -o $@
  94. ln -sf lib$*.so.$(SONAME) lib$*.so
  95. ln -sf lib$*.so.$(SONAME) lib$*.so.$(SOMAJOR)
  96. else
  97. libcoroipcc.so.$(SONAME): coroipcc.o
  98. $(CC) -shared -o $@ \
  99. -Wl,-soname=libcoroipcc.so.$(SOMAJOR) \
  100. -Wl,-version-script=$(srcdir)/libcoroipcc.versions \
  101. $^ $(LDFLAGS) $(AM_LDFLAGS)
  102. ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so
  103. ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so.$(SOMAJOR)
  104. libconfdb.so.$(CONFDB_SONAME): confdb.o sa-confdb.o ../lcr/lcr_ifact.o libcoroipcc.so.$(SONAME)
  105. $(CC) -shared -o $@ \
  106. -Wl,-soname=libconfdb.so.$(SOMAJOR) \
  107. -Wl,-version-script=$(srcdir)/libconfdb.versions \
  108. $^ $(LDFLAGS) $(OS_DYFLAGS) $(OS_LDL) $(AM_LDFLAGS)
  109. ln -sf libconfdb.so.$(CONFDB_SONAME) libconfdb.so
  110. ln -sf libconfdb.so.$(CONFDB_SONAME) libconfdb.so.$(SOMAJOR)
  111. libcpg.so.$(CPG_SONAME): cpg.o libcoroipcc.so.$(SONAME)
  112. $(CC) -shared -o $@ \
  113. -Wl,-soname=libcpg.so.$(SOMAJOR) \
  114. -Wl,-version-script=$(srcdir)/libcpg.versions \
  115. $^ $(LDFLAGS) $(AM_LDFLAGS)
  116. ln -sf $@ libcpg.so
  117. ln -sf $@ libcpg.so.$(SOMAJOR)
  118. lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
  119. $(CC) -shared -o $@ \
  120. -Wl,-soname=lib$*.so.$(SOMAJOR) \
  121. -Wl,-version-script=$(srcdir)/lib$*.versions \
  122. $^ $(LDFLAGS) $(AM_LDFLAGS)
  123. ln -sf lib$*.so.$(SONAME) lib$*.so
  124. ln -sf lib$*.so.$(SONAME) lib$*.so.$(SOMAJOR)
  125. endif
  126. endif
  127. all-local: $(SHARED_LIBS)
  128. @echo Built shared libs
  129. install-exec-local:
  130. $(INSTALL) -d $(DESTDIR)/$(libdir)
  131. $(INSTALL) -m 755 $(SHARED_LIBS) $(DESTDIR)/$(libdir)
  132. $(CP) -a $(SHARED_LIBS_SO) $(SHARED_LIBS_SO_TWO) $(DESTDIR)/$(libdir)
  133. uninstall-local:
  134. cd $(DESTDIR)/$(libdir)/ && \
  135. rm -f $(SHARED_LIBS) $(SHARED_LIBS_SO) $(SHARED_LIBS_SO_TWO)
  136. clean-local:
  137. rm -f *.o *.a *.so* *.da *.bb *.bbg