Makefile.am 6.5 KB
Newer Older
1 2
AUTOMAKE_OPTIONS = subdir-objects

3
SUBDIRS = . testutils tests
4

5 6 7
dhcp_data_dir = @localstatedir@/@PACKAGE@

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

17
AM_CXXFLAGS = $(KEA_CXXFLAGS)
18

19 20 21 22 23 24 25
# The files in the subfolder must be explicitly specified here so
# as they are copied to the distribution. The other option would
# be to specify a whole 'parsers' folder here but that would also
# copy all other files, e.g. gitignore, .git etc.
# Whenever new file is added to the parsers folder, it must be
# added here.
EXTRA_DIST =
26 27 28 29 30 31 32
EXTRA_DIST += parsers/dbaccess_parser.cc
EXTRA_DIST += parsers/dbaccess_parser.h
EXTRA_DIST += parsers/dhcp_parsers.cc
EXTRA_DIST += parsers/dhcp_parsers.h
EXTRA_DIST += parsers/host_reservation_parser.cc
EXTRA_DIST += parsers/host_reservation_parser.h
EXTRA_DIST += parsers/host_reservations_list_parser.h
33

34
# Define rule to build logging source files from message file
35 36 37
dhcpsrv_messages.h dhcpsrv_messages.cc: s-messages

s-messages: dhcpsrv_messages.mes
38
	$(top_builddir)/src/lib/log/compiler/message $(top_srcdir)/src/lib/dhcpsrv/dhcpsrv_messages.mes
39
	touch $@
40

41 42 43
# 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
44 45 46 47 48
# 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

49 50 51 52 53 54
# 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)

55
# Make sure the generated files are deleted in a "clean" operation
56
CLEANFILES = *.gcno *.gcda dhcpsrv_messages.h dhcpsrv_messages.cc s-messages
57 58
# Remove CSV files created by the CSVLeaseFile6 and CSVLeaseFile4 unit tests.
CLEANFILES += *.csv
59

60 61 62 63
lib_LTLIBRARIES = libkea-dhcpsrv.la
libkea_dhcpsrv_la_SOURCES  =
libkea_dhcpsrv_la_SOURCES += addr_utilities.cc addr_utilities.h
libkea_dhcpsrv_la_SOURCES += alloc_engine.cc alloc_engine.h
64
libkea_dhcpsrv_la_SOURCES += base_host_data_source.h
65
libkea_dhcpsrv_la_SOURCES += callout_handle_store.h
66
libkea_dhcpsrv_la_SOURCES += cfg_hosts.cc cfg_hosts.h
67
libkea_dhcpsrv_la_SOURCES += cfg_iface.cc cfg_iface.h
68
libkea_dhcpsrv_la_SOURCES += cfg_option.cc cfg_option.h
69
libkea_dhcpsrv_la_SOURCES += cfg_option_def.cc cfg_option_def.h
70
libkea_dhcpsrv_la_SOURCES += cfg_subnets4.cc cfg_subnets4.h
71
libkea_dhcpsrv_la_SOURCES += cfg_subnets6.cc cfg_subnets6.h
Tomek Mrugalski's avatar
Tomek Mrugalski committed
72
libkea_dhcpsrv_la_SOURCES += cfg_mac_source.cc cfg_mac_source.h
73
libkea_dhcpsrv_la_SOURCES += cfgmgr.cc cfgmgr.h
74 75 76 77
libkea_dhcpsrv_la_SOURCES += csv_lease_file4.cc csv_lease_file4.h
libkea_dhcpsrv_la_SOURCES += csv_lease_file6.cc csv_lease_file6.h
libkea_dhcpsrv_la_SOURCES += d2_client_cfg.cc d2_client_cfg.h
libkea_dhcpsrv_la_SOURCES += d2_client_mgr.cc d2_client_mgr.h
78
libkea_dhcpsrv_la_SOURCES += daemon.cc daemon.h
79
libkea_dhcpsrv_la_SOURCES += dhcpsrv_log.cc dhcpsrv_log.h
80
libkea_dhcpsrv_la_SOURCES += host.cc host.h
81
libkea_dhcpsrv_la_SOURCES += host_container.h
82
libkea_dhcpsrv_la_SOURCES += host_mgr.cc host_mgr.h
83 84 85 86
libkea_dhcpsrv_la_SOURCES += key_from_key.h
libkea_dhcpsrv_la_SOURCES += lease.cc lease.h
libkea_dhcpsrv_la_SOURCES += lease_mgr.cc lease_mgr.h
libkea_dhcpsrv_la_SOURCES += lease_mgr_factory.cc lease_mgr_factory.h
87
libkea_dhcpsrv_la_SOURCES += logging.cc logging.h
88
libkea_dhcpsrv_la_SOURCES += logging_info.cc logging_info.h
89
libkea_dhcpsrv_la_SOURCES += memfile_lease_mgr.cc memfile_lease_mgr.h
90

91
if HAVE_MYSQL
92
libkea_dhcpsrv_la_SOURCES += mysql_lease_mgr.cc mysql_lease_mgr.h
93
endif
94
if HAVE_PGSQL
95
libkea_dhcpsrv_la_SOURCES += pgsql_lease_mgr.cc pgsql_lease_mgr.h
96
endif
97 98
libkea_dhcpsrv_la_SOURCES += option_space_container.h
libkea_dhcpsrv_la_SOURCES += pool.cc pool.h
99
libkea_dhcpsrv_la_SOURCES += srv_config.cc srv_config.h
100
libkea_dhcpsrv_la_SOURCES += subnet.cc subnet.h
101
libkea_dhcpsrv_la_SOURCES += subnet_id.h
102
libkea_dhcpsrv_la_SOURCES += subnet_selector.h
103 104
libkea_dhcpsrv_la_SOURCES += triplet.h
libkea_dhcpsrv_la_SOURCES += utils.h
105
libkea_dhcpsrv_la_SOURCES += writable_host_data_source.h
106

107 108 109 110 111 112 113 114
# Configuration parsers
libkea_dhcpsrv_la_SOURCES += parsers/dhcp_config_parser.h
libkea_dhcpsrv_la_SOURCES += parsers/dbaccess_parser.cc
libkea_dhcpsrv_la_SOURCES += parsers/dbaccess_parser.h
libkea_dhcpsrv_la_SOURCES += parsers/dhcp_parsers.cc
libkea_dhcpsrv_la_SOURCES += parsers/dhcp_parsers.h
libkea_dhcpsrv_la_SOURCES += parsers/host_reservation_parser.cc
libkea_dhcpsrv_la_SOURCES += parsers/host_reservation_parser.h
115 116
libkea_dhcpsrv_la_SOURCES += parsers/host_reservations_list_parser.h

117

118 119 120 121 122 123 124 125 126 127 128 129
nodist_libkea_dhcpsrv_la_SOURCES = dhcpsrv_messages.h dhcpsrv_messages.cc

libkea_dhcpsrv_la_CXXFLAGS = $(AM_CXXFLAGS)
libkea_dhcpsrv_la_CPPFLAGS = $(AM_CPPFLAGS) $(LOG4CPLUS_INCLUDES)
libkea_dhcpsrv_la_LIBADD   = $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/hooks/libkea-hooks.la
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/log/libkea-log.la
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/util/libkea-util.la
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/cc/libkea-cc.la
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/hooks/libkea-hooks.la
130
libkea_dhcpsrv_la_LIBADD  += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
131 132

libkea_dhcpsrv_la_LDFLAGS  = -no-undefined -version-info 3:0:0
133
if HAVE_MYSQL
134
libkea_dhcpsrv_la_LDFLAGS += $(MYSQL_LIBS)
135
endif
136
if HAVE_PGSQL
137
libkea_dhcpsrv_la_LDFLAGS += $(PGSQL_LIBS)
138
endif
139 140 141 142

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

146
# The message file should be in the distribution
147
EXTRA_DIST += dhcpsrv_messages.mes
148

149 150 151
# Distribute backend documentation
# Database schema creation script moved to src/bin/admin
EXTRA_DIST += database_backends.dox libdhcpsrv.dox
152 153

install-data-local:
154
	$(mkinstalldirs) $(DESTDIR)$(dhcp_data_dir)
155 156