Makefile.am 4.51 KB
Newer Older
1 2
SUBDIRS = . tests

3 4 5
dhcp_data_dir = @localstatedir@/@PACKAGE@

AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib -DDHCP_DATA_DIR="\"$(dhcp_data_dir)\""
6 7 8 9
AM_CPPFLAGS += $(BOOST_INCLUDES)
if HAVE_MYSQL
AM_CPPFLAGS += $(MYSQL_CPPFLAGS)
endif
10 11 12
if HAVE_PGSQL
AM_CPPFLAGS += $(PGSQL_CPPFLAGS)
endif
13 14 15

AM_CXXFLAGS = $(B10_CXXFLAGS)

16
# Define rule to build logging source files from message file
17 18 19
dhcpsrv_messages.h dhcpsrv_messages.cc: s-messages

s-messages: dhcpsrv_messages.mes
20
	$(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes
21
	touch $@
22

23 24 25
# Tell Automake that the dhcpsrv_messages.{cc,h} source files are created in the
# build process, so it must create these before doing anything else.  Although
# they are a dependency of the library (so will be created from the message file
26 27 28 29 30
# anyway), there is no guarantee as to exactly _when_ in the build they will be
# created.  As the .h file is included in other sources file (so must be
# present when they are compiled), the safest option is to create it first.
BUILT_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc

31 32 33 34 35 36
# Some versions of GCC warn about some versions of Boost regarding
# missing initializer for members in its posix_time.
# https://svn.boost.org/trac/boost/ticket/3477
# But older GCC compilers don't have the flag.
AM_CXXFLAGS += $(WARNING_NO_MISSING_FIELD_INITIALIZERS_CFLAG)

37
# Make sure the generated files are deleted in a "clean" operation
38
CLEANFILES = *.gcno *.gcda dhcpsrv_messages.h dhcpsrv_messages.cc s-messages
39 40
# Remove CSV files created by the CSVLeaseFile6 and CSVLeaseFile4 unit tests.
CLEANFILES += *.csv
41 42 43 44 45

lib_LTLIBRARIES = libb10-dhcpsrv.la
libb10_dhcpsrv_la_SOURCES  =
libb10_dhcpsrv_la_SOURCES += addr_utilities.cc addr_utilities.h
libb10_dhcpsrv_la_SOURCES += alloc_engine.cc alloc_engine.h
46
libb10_dhcpsrv_la_SOURCES += callout_handle_store.h
47
libb10_dhcpsrv_la_SOURCES += csv_lease_file4.cc csv_lease_file4.h
48
libb10_dhcpsrv_la_SOURCES += csv_lease_file6.cc csv_lease_file6.h
49 50
libb10_dhcpsrv_la_SOURCES += d2_client_cfg.cc d2_client_cfg.h
libb10_dhcpsrv_la_SOURCES += d2_client_mgr.cc d2_client_mgr.h
51
libb10_dhcpsrv_la_SOURCES += dbaccess_parser.cc dbaccess_parser.h
52
libb10_dhcpsrv_la_SOURCES += dhcpsrv_log.cc dhcpsrv_log.h
53
libb10_dhcpsrv_la_SOURCES += cfgmgr.cc cfgmgr.h
54
libb10_dhcpsrv_la_SOURCES += dhcp_config_parser.h
55
libb10_dhcpsrv_la_SOURCES += dhcp_parsers.cc dhcp_parsers.h 
56
libb10_dhcpsrv_la_SOURCES += key_from_key.h
57
libb10_dhcpsrv_la_SOURCES += lease.cc lease.h
58 59 60 61 62 63
libb10_dhcpsrv_la_SOURCES += lease_mgr.cc lease_mgr.h
libb10_dhcpsrv_la_SOURCES += lease_mgr_factory.cc lease_mgr_factory.h
libb10_dhcpsrv_la_SOURCES += memfile_lease_mgr.cc memfile_lease_mgr.h
if HAVE_MYSQL
libb10_dhcpsrv_la_SOURCES += mysql_lease_mgr.cc mysql_lease_mgr.h
endif
64 65 66
if HAVE_PGSQL
libb10_dhcpsrv_la_SOURCES += pgsql_lease_mgr.cc pgsql_lease_mgr.h
endif
67
libb10_dhcpsrv_la_SOURCES += option_space_container.h
68 69 70
libb10_dhcpsrv_la_SOURCES += pool.cc pool.h
libb10_dhcpsrv_la_SOURCES += subnet.cc subnet.h
libb10_dhcpsrv_la_SOURCES += triplet.h
71
libb10_dhcpsrv_la_SOURCES += utils.h
72

73 74
nodist_libb10_dhcpsrv_la_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc

75 76 77 78
libb10_dhcpsrv_la_CXXFLAGS = $(AM_CXXFLAGS)
libb10_dhcpsrv_la_CPPFLAGS = $(AM_CPPFLAGS) $(LOG4CPLUS_INCLUDES)
libb10_dhcpsrv_la_LIBADD   = $(top_builddir)/src/lib/asiolink/libb10-asiolink.la
libb10_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/dhcp/libb10-dhcp++.la
79
libb10_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/dhcp_ddns/libb10-dhcp_ddns.la
80 81
libb10_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/hooks/libb10-hooks.la
libb10_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/log/libb10-log.la
82
libb10_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/util/libb10-util.la
83
libb10_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/cc/libb10-cc.la
84 85
libb10_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/hooks/libb10-hooks.la

86
libb10_dhcpsrv_la_LDFLAGS  = -no-undefined -version-info 3:0:0
87 88 89
if HAVE_MYSQL
libb10_dhcpsrv_la_LDFLAGS += $(MYSQL_LIBS)
endif
90 91 92
if HAVE_PGSQL
libb10_dhcpsrv_la_LDFLAGS += $(PGSQL_LIBS)
endif
93 94 95 96 97 98 99

if USE_CLANGPP
# Disable unused parameter warning caused by some of the
# Boost headers when compiling with clang.
libb10_dhcpsrv_la_CXXFLAGS += -Wno-unused-parameter
endif

100 101 102
# The message file should be in the distribution
EXTRA_DIST = dhcpsrv_messages.mes

103
# Distribute MySQL schema creation script and backend documentation
104 105
EXTRA_DIST += dhcpdb_create.mysql dhcpdb_create.pgsql database_backends.dox libdhcpsrv.dox
dist_pkgdata_DATA = dhcpdb_create.mysql dhcpdb_create.pgsql
106 107

install-data-local:
108
	$(mkinstalldirs) $(DESTDIR)$(dhcp_data_dir)
109 110