Makefile 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. # Copyright (c) 2002-2006 MontaVista Software, Inc.
  2. # Copyright (c) 2006 Red Hat, Inc.
  3. #
  4. # All rights reserved.
  5. #
  6. # This software licensed under BSD license, the text of which follows:
  7. #
  8. # Redistribution and use in source and binary forms, with or without
  9. # modification, are permitted provided that the following conditions are met:
  10. #
  11. # - Redistributions of source code must retain the above copyright notice,
  12. # this list of conditions and the following disclaimer.
  13. # - Redistributions in binary form must reproduce the above copyright notice,
  14. # this list of conditions and the following disclaimer in the documentation
  15. # and/or other materials provided with the distribution.
  16. # - Neither the name of the MontaVista Software, Inc. nor the names of its
  17. # contributors may be used to endorse or promote products derived from this
  18. # software without specific prior written permission.
  19. #
  20. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23. # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  24. # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  30. # THE POSSIBILITY OF SUCH DAMAGE.
  31. include Makefile.inc
  32. SBINDIR=$(PREFIX)/sbin
  33. INCLUDEDIR=$(PREFIX)/include/openais
  34. INCLUDEDIR_TOTEM=$(PREFIX)/include/openais/totem
  35. INCLUDEDIR_LCR=$(PREFIX)/include/openais/lcr
  36. INCLUDEDIR_SERVICE=$(PREFIX)/include/openais/service
  37. MANDIR=$(PREFIX)/share/man
  38. ETCDIR=/etc
  39. LCRSODIR=$(PREFIX)/libexec/lcrso
  40. ARCH=$(shell uname -p)
  41. ifeq (,$(findstring 64,$(ARCH)))
  42. LIBDIR=$(PREFIX)/lib/openais
  43. else
  44. LIBDIR=$(PREFIX)/lib64/openais
  45. endif
  46. ifeq (s390,$(ARCH))
  47. LIBDIR=$(PREFIX)/lib/openais
  48. endif
  49. ifeq (s390x,$(ARCH))
  50. LIBDIR=$(PREFIX)/lib64/openais
  51. endif
  52. ifeq (ia64,$(ARCH))
  53. LIBDIR=$(PREFIX)/lib/openais
  54. endif
  55. all:
  56. (cd lcr; echo ==== `pwd` ===; $(MAKE) all);
  57. (cd lib; echo ==== `pwd` ===; $(MAKE) all);
  58. (cd exec; echo ==== `pwd` ===; $(MAKE) all);
  59. (cd test; echo ==== `pwd` ===; $(MAKE) all);
  60. clean:
  61. (cd lcr; echo ==== `pwd` ===; $(MAKE) clean);
  62. (cd lib; echo ==== `pwd` ===; $(MAKE) clean);
  63. (cd exec; echo ==== `pwd` ===; $(MAKE) clean);
  64. (cd test; echo ==== `pwd` ===; $(MAKE) clean);
  65. rm -rf doc/api
  66. AIS_LIBS = ais SaAmf SaClm SaCkpt SaEvt SaLck SaMsg evs cpg \
  67. cfg aisutil
  68. AIS_HEADERS = saAis.h saAmf.h saClm.h saCkpt.h saEvt.h saEvt.h saLck.h \
  69. saMsg.h cpg.h cfg.h evs.h ipc_gen.h mar_gen.h swab.h \
  70. ais_util.h
  71. install: all
  72. mkdir -p $(DESTDIR)$(SBINDIR)
  73. mkdir -p $(DESTDIR)$(INCLUDEDIR)
  74. mkdir -p $(DESTDIR)$(INCLUDEDIR_TOTEM)
  75. mkdir -p $(DESTDIR)$(INCLUDEDIR_LCR)
  76. mkdir -p $(DESTDIR)$(INCLUDEDIR_SERVICE)
  77. mkdir -p $(DESTDIR)$(LIBDIR)
  78. mkdir -p $(DESTDIR)$(LCRSODIR)
  79. mkdir -p $(DESTDIR)$(ETCDIR)/ais
  80. mkdir -p $(DESTDIR)$(MANDIR)/man3
  81. mkdir -p $(DESTDIR)$(MANDIR)/man5
  82. mkdir -p $(DESTDIR)$(MANDIR)/man8
  83. mkdir -p $(DESTDIR)$(ETCDIR)/ld.so.conf.d
  84. ln -sf libtotem_pg.so.2.0.0 exec/libtotem_pg.so
  85. ln -sf libtotem_pg.so.2.0.0 exec/libtotem_pg.so.2
  86. $(CP) -a exec/libtotem_pg.so $(DESTDIR)$(LIBDIR)
  87. $(CP) -a exec/libtotem_pg.so.2 $(DESTDIR)$(LIBDIR)
  88. install -m 755 exec/libtotem_pg.so.2.* $(DESTDIR)$(LIBDIR)
  89. for aLib in $(AIS_LIBS); do \
  90. ln -sf lib$$aLib.so.2.0.0 lib/lib$$aLib.so; \
  91. ln -sf lib$$aLib.so.2.0.0 lib/lib$$aLib.so.2; \
  92. $(CP) -a lib/lib$$aLib.so $(DESTDIR)$(LIBDIR); \
  93. $(CP) -a lib/lib$$aLib.so.2 $(DESTDIR)$(LIBDIR); \
  94. install -m 755 lib/lib$$aLib.so.2.* $(DESTDIR)$(LIBDIR); \
  95. if [ "xNO" = "x$(STATICLIBS)" ]; then \
  96. install -m 755 lib/lib$$aLib.a $(DESTDIR)$(LIBDIR); \
  97. if [ ${OPENAIS_COMPAT} = "DARWIN" ]; then \
  98. ranlib $(DESTDIR)$(LIBDIR)/lib$$aLib.a; \
  99. fi \
  100. fi \
  101. done
  102. echo $(LIBDIR) > $(DESTDIR)$(ETCDIR)/ld.so.conf.d/openais-$(ARCH).conf
  103. install -m 755 exec/*lcrso $(DESTDIR)$(LCRSODIR)
  104. install -m 755 exec/aisexec $(DESTDIR)$(SBINDIR)
  105. install -m 700 exec/keygen $(DESTDIR)$(SBINDIR)/ais-keygen
  106. if [ ! -f $(DESTDIR)$(ETCDIR)/ais/openais.conf ] ; then \
  107. install -m 644 conf/openais.conf $(DESTDIR)$(ETCDIR)/ais ; \
  108. fi
  109. if [ ! -f $(DESTDIR)$(ETCDIR)/ais/amf.conf ] ; then \
  110. install -m 644 conf/amf.conf $(DESTDIR)$(ETCDIR)/ais ; \
  111. fi
  112. for aHeader in $(AIS_HEADERS); do \
  113. install -m 644 include/$$aHeader $(DESTDIR)$(INCLUDEDIR); \
  114. done
  115. install -m 644 exec/aispoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
  116. install -m 644 exec/totempg.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
  117. install -m 644 exec/totem.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
  118. install -m 644 exec/totemip.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
  119. install -m 644 lcr/lcr_ckpt.h $(DESTDIR)$(INCLUDEDIR_LCR)
  120. install -m 644 lcr/lcr_comp.h $(DESTDIR)$(INCLUDEDIR_LCR)
  121. install -m 644 lcr/lcr_ifact.h $(DESTDIR)$(INCLUDEDIR_LCR)
  122. install -m 644 exec/service.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
  123. install -m 644 exec/timer.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
  124. install -m 644 exec/objdb.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
  125. install -m 644 exec/print.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
  126. install -m 644 exec/config.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
  127. install -m 644 include/swab.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
  128. install -m 644 man/*.3 $(DESTDIR)$(MANDIR)/man3
  129. install -m 644 man/*.5 $(DESTDIR)$(MANDIR)/man5
  130. install -m 644 man/*.8 $(DESTDIR)$(MANDIR)/man8
  131. doxygen:
  132. mkdir -p doc/api && doxygen