Makefile.am 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. SUBDIRS = . testutils tests
  2. dhcp_data_dir = @localstatedir@/@PACKAGE@
  3. AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib -DDHCP_DATA_DIR="\"$(dhcp_data_dir)\""
  4. AM_CPPFLAGS += -DTOP_BUILDDIR="\"$(top_builddir)\""
  5. AM_CPPFLAGS += $(BOOST_INCLUDES)
  6. if HAVE_MYSQL
  7. AM_CPPFLAGS += $(MYSQL_CPPFLAGS)
  8. endif
  9. if HAVE_PGSQL
  10. AM_CPPFLAGS += $(PGSQL_CPPFLAGS)
  11. endif
  12. AM_CXXFLAGS = $(KEA_CXXFLAGS)
  13. # Define rule to build logging source files from message file
  14. dhcpsrv_messages.h dhcpsrv_messages.cc: s-messages
  15. s-messages: dhcpsrv_messages.mes
  16. $(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes
  17. touch $@
  18. # Tell Automake that the dhcpsrv_messages.{cc,h} source files are created in the
  19. # build process, so it must create these before doing anything else. Although
  20. # they are a dependency of the library (so will be created from the message file
  21. # anyway), there is no guarantee as to exactly _when_ in the build they will be
  22. # created. As the .h file is included in other sources file (so must be
  23. # present when they are compiled), the safest option is to create it first.
  24. BUILT_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc
  25. # Some versions of GCC warn about some versions of Boost regarding
  26. # missing initializer for members in its posix_time.
  27. # https://svn.boost.org/trac/boost/ticket/3477
  28. # But older GCC compilers don't have the flag.
  29. AM_CXXFLAGS += $(WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG)
  30. # Make sure the generated files are deleted in a "clean" operation
  31. CLEANFILES = *.gcno *.gcda dhcpsrv_messages.h dhcpsrv_messages.cc s-messages
  32. # Remove CSV files created by the CSVLeaseFile6 and CSVLeaseFile4 unit tests.
  33. CLEANFILES += *.csv
  34. lib_LTLIBRARIES = libkea-dhcpsrv.la
  35. libkea_dhcpsrv_la_SOURCES =
  36. libkea_dhcpsrv_la_SOURCES += addr_utilities.cc addr_utilities.h
  37. libkea_dhcpsrv_la_SOURCES += alloc_engine.cc alloc_engine.h
  38. libkea_dhcpsrv_la_SOURCES += base_host_data_source.h
  39. libkea_dhcpsrv_la_SOURCES += callout_handle_store.
  40. libkea_dhcpsrv_la_SOURCES += cfg_hosts.cc cfg_hosts.h
  41. libkea_dhcpsrv_la_SOURCES += cfg_iface.cc cfg_iface.h
  42. libkea_dhcpsrv_la_SOURCES += cfg_option.cc cfg_option.h
  43. libkea_dhcpsrv_la_SOURCES += cfg_option_def.cc cfg_option_def.h
  44. libkea_dhcpsrv_la_SOURCES += cfg_subnets4.cc cfg_subnets4.h
  45. libkea_dhcpsrv_la_SOURCES += cfg_subnets6.cc cfg_subnets6.h
  46. libkea_dhcpsrv_la_SOURCES += cfgmgr.cc cfgmgr.h
  47. libkea_dhcpsrv_la_SOURCES += csv_lease_file4.cc csv_lease_file4.h
  48. libkea_dhcpsrv_la_SOURCES += csv_lease_file6.cc csv_lease_file6.h
  49. libkea_dhcpsrv_la_SOURCES += d2_client_cfg.cc d2_client_cfg.h
  50. libkea_dhcpsrv_la_SOURCES += d2_client_mgr.cc d2_client_mgr.h
  51. libkea_dhcpsrv_la_SOURCES += daemon.cc daemon.h
  52. libkea_dhcpsrv_la_SOURCES += dbaccess_parser.cc dbaccess_parser.h
  53. libkea_dhcpsrv_la_SOURCES += dhcpsrv_log.cc dhcpsrv_log.h
  54. libkea_dhcpsrv_la_SOURCES += dhcp_config_parser.h
  55. libkea_dhcpsrv_la_SOURCES += dhcp_parsers.cc dhcp_parsers.h
  56. libkea_dhcpsrv_la_SOURCES += host.cc host.h
  57. libkea_dhcpsrv_la_SOURCES += host_container.h
  58. libkea_dhcpsrv_la_SOURCES += host_reservation_parser.cc host_reservation_parser.h
  59. libkea_dhcpsrv_la_SOURCES += key_from_key.h
  60. libkea_dhcpsrv_la_SOURCES += lease.cc lease.h
  61. libkea_dhcpsrv_la_SOURCES += lease_mgr.cc lease_mgr.h
  62. libkea_dhcpsrv_la_SOURCES += lease_mgr_factory.cc lease_mgr_factory.h
  63. libkea_dhcpsrv_la_SOURCES += logging.cc logging.h
  64. libkea_dhcpsrv_la_SOURCES += logging_info.cc logging_info.h
  65. libkea_dhcpsrv_la_SOURCES += memfile_lease_mgr.cc memfile_lease_mgr.h
  66. if HAVE_MYSQL
  67. libkea_dhcpsrv_la_SOURCES += mysql_lease_mgr.cc mysql_lease_mgr.h
  68. endif
  69. if HAVE_PGSQL
  70. libkea_dhcpsrv_la_SOURCES += pgsql_lease_mgr.cc pgsql_lease_mgr.h
  71. endif
  72. libkea_dhcpsrv_la_SOURCES += option_space_container.h
  73. libkea_dhcpsrv_la_SOURCES += pool.cc pool.h
  74. libkea_dhcpsrv_la_SOURCES += srv_config.cc srv_config.h
  75. libkea_dhcpsrv_la_SOURCES += subnet.cc subnet.h
  76. libkea_dhcpsrv_la_SOURCES += subnet_id.h
  77. libkea_dhcpsrv_la_SOURCES += subnet_selector.h
  78. libkea_dhcpsrv_la_SOURCES += triplet.h
  79. libkea_dhcpsrv_la_SOURCES += utils.h
  80. nodist_libkea_dhcpsrv_la_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc
  81. libkea_dhcpsrv_la_CXXFLAGS = $(AM_CXXFLAGS)
  82. libkea_dhcpsrv_la_CPPFLAGS = $(AM_CPPFLAGS) $(LOG4CPLUS_INCLUDES)
  83. libkea_dhcpsrv_la_LIBADD = $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
  84. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
  85. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
  86. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
  87. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la
  88. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la
  89. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la
  90. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
  91. libkea_dhcpsrv_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
  92. libkea_dhcpsrv_la_LDFLAGS = -no-undefined -version-info 3:0:0
  93. if HAVE_MYSQL
  94. libkea_dhcpsrv_la_LDFLAGS += $(MYSQL_LIBS)
  95. endif
  96. if HAVE_PGSQL
  97. libkea_dhcpsrv_la_LDFLAGS += $(PGSQL_LIBS)
  98. endif
  99. if USE_CLANGPP
  100. # Disable unused parameter warning caused by some of the
  101. # Boost headers when compiling with clang.
  102. libkea_dhcpsrv_la_CXXFLAGS += -Wno-unused-parameter
  103. endif
  104. # The message file should be in the distribution
  105. EXTRA_DIST = dhcpsrv_messages.mes
  106. # Distribute MySQL schema creation script and backend documentation
  107. EXTRA_DIST += dhcpdb_create.mysql dhcpdb_create.pgsql database_backends.dox libdhcpsrv.dox
  108. dist_pkgdata_DATA = dhcpdb_create.mysql dhcpdb_create.pgsql
  109. install-data-local:
  110. $(mkinstalldirs) $(DESTDIR)$(dhcp_data_dir)