1include common.mk 2 3AM_CPPFLAGS += -I$(srcdir)/../gl/ -I$(builddir)/../gl/ \ 4 -I$(srcdir)/ -I$(builddir)/../ -I$(srcdir)/../ \ 5 $(LIBGNUTLS_CFLAGS) -I$(srcdir)/common -I$(builddir)/common \ 6 $(LIBPROTOBUF_C_CFLAGS) $(LIBLZ4_CFLAGS) \ 7 $(LIBREADLINE_CFLAGS) $(CODE_COVERAGE_CFLAGS) \ 8 $(LIBTALLOC_CFLAGS) $(LIBDBUS_CFLAGS) $(LIBOATH_CFLAGS) \ 9 $(LIBKRB5_CFLAGS) $(LIBTASN1_CFLAGS) $(RADCLI_CFLAGS) $(SRC_CFLAGS) 10 11if ENABLE_OIDC_AUTH 12AM_CPPFLAGS += $(LIBCURL_CFLAGS) $(CJOSE_CFLAGS) $(JANSSON_CFLAGS) 13endif 14 15BUILT_SOURCES = ipc.pb-c.c ipc.pb-c.h \ 16 http-heads.h kkdcp_asn1_tab.c ctl.pb-c.c ctl.pb-c.h 17 18EXTRA_DIST = version.inc.in version.inc \ 19 ipc.proto ctl.proto http-heads.gperf common.mk ocserv-fw 20 21CORE_LDADD = ../gl/libgnu.a libccan.a libcommon.a 22CORE_LDADD += $(LIBGNUTLS_LIBS) $(PAM_LIBS) $(LIBUTIL) \ 23 $(LIBSECCOMP) $(LIBWRAP) $(LIBCRYPT) $(NEEDED_HTTP_PARSER_LIBS) \ 24 $(NEEDED_LIBPROTOBUF_LIBS) $(LIBSYSTEMD) $(LIBTALLOC_LIBS) \ 25 $(RADCLI_LIBS) $(LIBLZ4_LIBS) $(LIBKRB5_LIBS) \ 26 $(LIBTASN1_LIBS) $(LIBOATH_LIBS) $(LIBNETTLE_LIBS) \ 27 $(LIBEV_LIBS) libipc.a $(NEEDED_LIBPROTOBUF_LIBS) \ 28 $(CODE_COVERAGE_LDFLAGS) 29 30if LOCAL_HTTP_PARSER 31HTTP_PARSER_SOURCES = http-parser/http_parser.c http-parser/http_parser.h 32endif 33 34CORE_SOURCES = $(HTTP_PARSER_SOURCES) \ 35 common/hmac.c common/hmac.h common/snapshot.c common/snapshot.h \ 36 common-config.h config.c config-kkdcp.c config-ports.c defs.h gettime.h \ 37 icmp-ping.c icmp-ping.h inih/ini.c inih/ini.h ip-lease.c ip-lease.h \ 38 ip-util.c ip-util.h isolate.h isolate.c log.c main.h main-ctl.h \ 39 script-list.h setproctitle.c setproctitle.h str.c str.h subconfig.c \ 40 sup-config/file.c sup-config/file.h sup-config/radius.c \ 41 sup-config/radius.h tlslib.c tlslib.h tun.c tun.h valid-hostname.c \ 42 vasprintf.c vasprintf.h vhost.h vpn.h namespace.h 43 44if ENABLE_COMPRESSION 45CORE_SOURCES += lzs.c lzs.h 46endif 47 48if HAVE_GSSAPI 49CORE_SOURCES += kkdcp_asn1_tab.c kkdcp.asn 50endif 51 52# Authentication module sources 53AUTH_SOURCES=auth/common.c auth/common.h auth/gssapi.c auth/gssapi.h \ 54 auth/pam.c auth/pam.h auth/plain.c auth/plain.h auth/radius.c \ 55 auth/radius.h auth-unix.c auth-unix.h 56 57ACCT_SOURCES=acct/radius.c acct/radius.h acct/pam.c acct/pam.h 58 59 60sbin_PROGRAMS = ocserv ocserv-worker 61bin_SCRIPTS = ocserv-fw 62 63ocserv_SOURCES = $(CORE_SOURCES) $(AUTH_SOURCES) $(ACCT_SOURCES) \ 64 main.c main-auth.c main-ban.c main-ban.h main-ctl-unix.c main-proc.c \ 65 main-sec-mod-cmd.c main-user.c main-worker-cmd.c proc-search.c \ 66 proc-search.h route-add.c route-add.h sec-mod.c sec-mod.h sec-mod-acct.h \ 67 sec-mod-auth.c sec-mod-auth.h sec-mod-cookies.c sec-mod-db.c \ 68 sec-mod-resume.c sec-mod-resume.h sec-mod-sup-config.c sec-mod-sup-config.h \ 69 common/sockdiag.h common/sockdiag.c namespace.c 70 71ocserv_LDADD = $(CORE_LDADD) 72 73ocserv_worker_CPPFLAGS = $(AM_CPPFLAGS) -DOCSERV_WORKER_PROCESS 74ocserv_worker_SOURCES = $(CORE_SOURCES) \ 75 html.c html.h http-heads.h worker.c worker.h worker-auth.c \ 76 worker-bandwidth.c worker-bandwidth.h worker-http.c worker-http-handlers.c \ 77 worker-kkdcp.c worker-misc.c worker-privs.c worker-proxyproto.c \ 78 worker-resume.c worker-vpn.c 79 80ocserv_worker_LDADD = $(CORE_LDADD) 81 82noinst_LIBRARIES = libipc.a 83 84if ENABLE_OIDC_AUTH 85AUTH_SOURCES += auth/openidconnect.c auth/openidconnect.h 86endif 87 88if ENABLE_LATENCY_SUPPORT 89ocserv_worker_SOURCES += worker-latency.c worker-latency.h 90endif 91 92 93if ENABLE_LATENCY_SUPPORT 94ocserv_worker_LDADD += $(LIBM) 95endif 96 97if ENABLE_OIDC_AUTH 98CORE_LDADD += $(LIBCURL_LIBS) $(CJOSE_LIBS) $(JANSSON_LIBS) 99endif 100 101libipc_a_SOURCES=ctl.pb-c.c ctl.pb-c.h ipc.pb-c.h ipc.pb-c.c 102 103ipc.pb-c.c: ipc.proto 104 protoc-c --c_out=. --proto_path=$(srcdir) $< 105 106ipc.pb-c.h: ipc.pb-c.c 107 108ctl.pb-c.c: ctl.proto 109 protoc-c --c_out=. --proto_path=$(srcdir) $< 110 111ctl.pb-c.h: ctl.pb-c.c 112 113http-heads.h: $(srcdir)/http-heads.gperf 114 -gperf --global-table -t $^ > $@-tmp && mv $@-tmp $@ 115 116kkdcp_asn1_tab.c: $(srcdir)/kkdcp.asn 117 -asn1Parser $^ $@ 118 119clean-local: 120 rm -f *.stamp 121 122# Occtl 123 124bin_PROGRAMS = occtl/occtl 125 126occtl_occtl_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/occtl $(LIBNL3_CFLAGS) $(GEOIP_CFLAGS) $(MAXMIND_CFLAGS) 127occtl_occtl_SOURCES = occtl/occtl.c occtl/pager.c occtl/occtl.h occtl/time.c occtl/cache.c \ 128 occtl/ip-cache.c occtl/nl.c occtl/ctl.h occtl/print.c occtl/json.c occtl/json.h \ 129 occtl/hex.c occtl/hex.h occtl/unix.c occtl/geoip.h \ 130 occtl/session-cache.c 131 132if HAVE_MAXMIND 133occtl_occtl_SOURCES += occtl/maxmind.c 134else 135occtl_occtl_SOURCES += occtl/geoip.c 136endif 137 138occtl_occtl_LDADD = ../gl/libgnu.a libcommon.a $(LIBREADLINE_LIBS) \ 139 $(LIBNL3_LIBS) $(NEEDED_LIBPROTOBUF_LIBS) $(LIBTALLOC_LIBS) libccan.a \ 140 libipc.a $(NEEDED_LIBPROTOBUF_LIBS) $(CODE_COVERAGE_LDFLAGS) \ 141 $(LIBNETTLE_LIBS) $(MAXMIND_LIBS) $(GEOIP_LIBS) 142 143# Ocpasswd 144 145bin_PROGRAMS += ocpasswd/ocpasswd 146 147ocpasswd_ocpasswd_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ocpasswd 148ocpasswd_ocpasswd_SOURCES = ocpasswd/ocpasswd.c 149ocpasswd_ocpasswd_LDADD = ../gl/libgnu.a 150ocpasswd_ocpasswd_LDADD += $(LIBGNUTLS_LIBS) $(LIBCRYPT) $(CODE_COVERAGE_LDFLAGS) \ 151 $(LIBNETTLE_LIBS) 152 153 154# libcommon 155# Files common to ocserv and occtl. 156libcommon_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/common 157libcommon_a_SOURCES=common/common.c common/common.h common/system.c common/system.h \ 158 common/cloexec.c common/cloexec.h common/base64-helper.c common/base64-helper.h 159libcommon_a_LIBS = ../gl/libgnu.a $(NEEDED_LIBPROTOBUF_LIBS) 160noinst_LIBRARIES += libcommon.a 161 162 163# libccan 164EXTRA_DIST += ccan/licenses/BSD-MIT ccan/licenses/CC0 ccan/licenses/LGPL-2.1 165 166noinst_LIBRARIES += libccan.a 167libccan_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ccan 168libccan_a_SOURCES = ccan/build_assert/build_assert.h ccan/check_type/check_type.h \ 169 ccan/container_of/container_of.h ccan/hash/hash.c ccan/hash/hash.h \ 170 ccan/htable/htable.c ccan/htable/htable.h ccan/htable/htable_type.h \ 171 ccan/list/list.c ccan/list/list.h 172 173if LOCAL_TALLOC 174libccan_a_SOURCES += ccan/talloc/talloc.c ccan/talloc/talloc.h ccan/compiler/compiler.h \ 175 ccan/typesafe_cb/typesafe_cb.h 176endif 177 178# libpcl 179if PCL 180CORE_LDADD += $(PCL_LIBS) 181else 182CORE_LDADD += libpcl.a 183AM_CPPFLAGS += -I$(srcdir)/pcl/ 184 185noinst_LIBRARIES += libpcl.a 186 187libpcl_a_CPPFLAGS = -I$(srcdir)/pcl -I$(builddir)/../ 188libpcl_a_SOURCES = pcl/pcl.c pcl/pcl_version.c pcl/pcl_private.c \ 189 pcl/pcl_config.h pcl/pcl.h pcl/pcl_private.h 190 191endif 192 193 194if LOCAL_PROTOBUF_C 195noinst_LIBRARIES += libprotobuf.a 196 197libprotobuf_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/protobuf/ 198libprotobuf_a_SOURCES = protobuf/protobuf-c/protobuf-c.c protobuf/protobuf-c/protobuf-c.h 199 200AM_CPPFLAGS += -I$(srcdir)/protobuf/ 201endif 202