xref: /aosp_15_r20/external/libnl/Makefile.am (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1# -*- Makefile -*-
2
3ACLOCAL_AMFLAGS = -I m4
4
5lib_LTLIBRARIES =
6noinst_LTLIBRARIES =
7check_LTLIBRARIES =
8
9check_PROGRAMS =
10check_programs =
11check_local =
12check_build =
13
14bin_PROGRAMS =
15sbin_PROGRAMS =
16noinst_PROGRAMS =
17
18TESTS =
19
20CLEANFILES =
21EXTRA_DIST =
22
23DISTCHECK_CONFIGURE_FLAGS = \
24	--disable-dependency-tracking
25
26pkgconfig_DATA = \
27	libnl-3.0.pc \
28	libnl-genl-3.0.pc \
29	libnl-idiag-3.0.pc \
30	libnl-nf-3.0.pc \
31	libnl-route-3.0.pc \
32	libnl-xfrm-3.0.pc \
33	$(NULL)
34
35warn_cppflags = \
36	-Wall \
37	-Wextra \
38	\
39	-Wdeclaration-after-statement \
40	-Wmissing-prototypes \
41	-Wpointer-arith \
42	-Wvla \
43	\
44	-Wno-unused-parameter \
45	$(NULL)
46
47defines_cppflags = \
48	-D_NL_SYSCONFDIR_LIBNL=\"$(sysconfdir)/libnl\" \
49	-D_NL_PKGLIBDIR=\"$(pkglibdir)\" \
50	$(NULL)
51
52###############################################################################
53
54libnlincludedir = $(includedir)/libnl@MAJ_VERSION@
55
56libnlinclude_netlinkdir = $(libnlincludedir)/netlink
57libnlinclude_netlink_HEADERS = \
58	include/netlink/addr.h \
59	include/netlink/attr.h \
60	include/netlink/cache-api.h \
61	include/netlink/cache.h \
62	include/netlink/data.h \
63	include/netlink/errno.h \
64	include/netlink/handlers.h \
65	include/netlink/hash.h \
66	include/netlink/hashtable.h \
67	include/netlink/list.h \
68	include/netlink/msg.h \
69	include/netlink/netlink-compat.h \
70	include/netlink/netlink-kernel.h \
71	include/netlink/netlink.h \
72	include/netlink/object-api.h \
73	include/netlink/object.h \
74	include/netlink/socket.h \
75	include/netlink/types.h \
76	include/netlink/utils.h \
77	include/netlink/version.h \
78	$(NULL)
79libnlinclude_netlink_fib_lookupdir = $(libnlincludedir)/netlink/fib_lookup
80libnlinclude_netlink_fib_lookup_HEADERS = \
81	include/netlink/fib_lookup/lookup.h \
82	include/netlink/fib_lookup/request.h \
83	$(NULL)
84libnlinclude_netlink_genldir = $(libnlincludedir)/netlink/genl
85libnlinclude_netlink_genl_HEADERS = \
86	include/netlink/genl/ctrl.h \
87	include/netlink/genl/family.h \
88	include/netlink/genl/genl.h \
89	include/netlink/genl/mngt.h \
90	$(NULL)
91libnlinclude_netlink_idiagdir = $(libnlincludedir)/netlink/idiag
92libnlinclude_netlink_idiag_HEADERS = \
93	include/netlink/idiag/idiagnl.h \
94	include/netlink/idiag/meminfo.h \
95	include/netlink/idiag/msg.h \
96	include/netlink/idiag/req.h \
97	include/netlink/idiag/vegasinfo.h \
98	$(NULL)
99libnlinclude_netlink_netfilterdir = $(libnlincludedir)/netlink/netfilter
100libnlinclude_netlink_netfilter_HEADERS = \
101	include/netlink/netfilter/ct.h \
102	include/netlink/netfilter/exp.h \
103	include/netlink/netfilter/log.h \
104	include/netlink/netfilter/log_msg.h \
105	include/netlink/netfilter/netfilter.h \
106	include/netlink/netfilter/nfnl.h \
107	include/netlink/netfilter/queue.h \
108	include/netlink/netfilter/queue_msg.h \
109	$(NULL)
110libnlinclude_netlink_routedir = $(libnlincludedir)/netlink/route
111libnlinclude_netlink_route_HEADERS = \
112	include/netlink/route/action.h \
113	include/netlink/route/addr.h \
114	include/netlink/route/class.h \
115	include/netlink/route/classifier.h \
116	include/netlink/route/link.h \
117	include/netlink/route/mdb.h \
118	include/netlink/route/neighbour.h \
119	include/netlink/route/neightbl.h \
120	include/netlink/route/netconf.h \
121	include/netlink/route/nexthop.h \
122	include/netlink/route/nh.h \
123	include/netlink/route/pktloc.h \
124	include/netlink/route/qdisc.h \
125	include/netlink/route/route.h \
126	include/netlink/route/rtnl.h \
127	include/netlink/route/rule.h \
128	include/netlink/route/tc-api.h \
129	include/netlink/route/tc.h \
130	$(NULL)
131libnlinclude_netlink_route_actdir = $(libnlincludedir)/netlink/route/act
132libnlinclude_netlink_route_act_HEADERS = \
133	include/netlink/route/act/gact.h \
134	include/netlink/route/act/mirred.h \
135	include/netlink/route/act/nat.h \
136	include/netlink/route/act/skbedit.h \
137	include/netlink/route/act/vlan.h \
138	$(NULL)
139libnlinclude_netlink_route_clsdir = $(libnlincludedir)/netlink/route/cls
140libnlinclude_netlink_route_cls_HEADERS = \
141	include/netlink/route/cls/basic.h \
142	include/netlink/route/cls/cgroup.h \
143	include/netlink/route/cls/ematch.h \
144	include/netlink/route/cls/flower.h \
145	include/netlink/route/cls/fw.h \
146	include/netlink/route/cls/matchall.h \
147	include/netlink/route/cls/police.h \
148	include/netlink/route/cls/u32.h \
149	$(NULL)
150libnlinclude_netlink_route_cls_ematchdir = $(libnlincludedir)/netlink/route/cls/ematch
151libnlinclude_netlink_route_cls_ematch_HEADERS = \
152	include/netlink/route/cls/ematch/cmp.h \
153	include/netlink/route/cls/ematch/meta.h \
154	include/netlink/route/cls/ematch/nbyte.h \
155	include/netlink/route/cls/ematch/text.h \
156	$(NULL)
157libnlinclude_netlink_route_linkdir = $(libnlincludedir)/netlink/route/link
158libnlinclude_netlink_route_link_HEADERS = \
159	include/netlink/route/link/api.h \
160	include/netlink/route/link/bonding.h \
161	include/netlink/route/link/bridge_info.h \
162	include/netlink/route/link/bridge.h \
163	include/netlink/route/link/can.h \
164	include/netlink/route/link/geneve.h \
165	include/netlink/route/link/inet.h \
166	include/netlink/route/link/inet6.h \
167	include/netlink/route/link/info-api.h \
168	include/netlink/route/link/ip6gre.h \
169	include/netlink/route/link/ip6tnl.h \
170	include/netlink/route/link/ip6vti.h \
171	include/netlink/route/link/ipgre.h \
172	include/netlink/route/link/ipip.h \
173	include/netlink/route/link/ipvlan.h \
174	include/netlink/route/link/ipvti.h \
175	include/netlink/route/link/macsec.h \
176	include/netlink/route/link/macvlan.h \
177	include/netlink/route/link/macvtap.h \
178	include/netlink/route/link/ppp.h \
179	include/netlink/route/link/sit.h \
180	include/netlink/route/link/sriov.h \
181	include/netlink/route/link/team.h \
182	include/netlink/route/link/veth.h \
183	include/netlink/route/link/vlan.h \
184	include/netlink/route/link/vrf.h \
185	include/netlink/route/link/vxlan.h \
186	include/netlink/route/link/xfrmi.h \
187	$(NULL)
188libnlinclude_netlink_route_qdiscdir = $(libnlincludedir)/netlink/route/qdisc
189libnlinclude_netlink_route_qdisc_HEADERS = \
190	include/netlink/route/qdisc/cbq.h \
191	include/netlink/route/qdisc/dsmark.h \
192	include/netlink/route/qdisc/fifo.h \
193	include/netlink/route/qdisc/fq_codel.h \
194	include/netlink/route/qdisc/hfsc.h \
195	include/netlink/route/qdisc/htb.h \
196	include/netlink/route/qdisc/mqprio.h \
197	include/netlink/route/qdisc/netem.h \
198	include/netlink/route/qdisc/plug.h \
199	include/netlink/route/qdisc/prio.h \
200	include/netlink/route/qdisc/red.h \
201	include/netlink/route/qdisc/sfq.h \
202	include/netlink/route/qdisc/tbf.h \
203	$(NULL)
204libnlinclude_netlink_xfrmdir = $(libnlincludedir)/netlink/xfrm
205libnlinclude_netlink_xfrm_HEADERS = \
206	include/netlink/xfrm/ae.h \
207	include/netlink/xfrm/lifetime.h \
208	include/netlink/xfrm/sa.h \
209	include/netlink/xfrm/selector.h \
210	include/netlink/xfrm/sp.h \
211	include/netlink/xfrm/template.h \
212	$(NULL)
213
214if ENABLE_CLI
215libnlinclude_netlink_clidir = $(libnlincludedir)/netlink/cli
216libnlinclude_netlink_cli_HEADERS = \
217	include/netlink/cli/addr.h \
218	include/netlink/cli/class.h \
219	include/netlink/cli/cls.h \
220	include/netlink/cli/ct.h \
221	include/netlink/cli/exp.h \
222	include/netlink/cli/link.h \
223	include/netlink/cli/mdb.h \
224	include/netlink/cli/neigh.h \
225	include/netlink/cli/nh.h \
226	include/netlink/cli/qdisc.h \
227	include/netlink/cli/route.h \
228	include/netlink/cli/rule.h \
229	include/netlink/cli/tc.h \
230	include/netlink/cli/utils.h \
231	$(NULL)
232endif
233
234public_headers = \
235	$(libnlinclude_netlink_HEADERS) \
236	$(libnlinclude_netlink_fib_lookup_HEADERS) \
237	$(libnlinclude_netlink_genl_HEADERS) \
238	$(libnlinclude_netlink_idiag_HEADERS) \
239	$(libnlinclude_netlink_netfilter_HEADERS) \
240	$(libnlinclude_netlink_route_HEADERS) \
241	$(libnlinclude_netlink_route_act_HEADERS) \
242	$(libnlinclude_netlink_route_cls_HEADERS) \
243	$(libnlinclude_netlink_route_cls_ematch_HEADERS) \
244	$(libnlinclude_netlink_route_link_HEADERS) \
245	$(libnlinclude_netlink_route_qdisc_HEADERS) \
246	$(libnlinclude_netlink_xfrm_HEADERS) \
247	$(libnlinclude_netlink_cli_HEADERS) \
248	$(NULL)
249
250noinst_HEADERS = \
251	include/base/nl-base-utils.h \
252	include/linux-private/linux/atm.h \
253	include/linux-private/linux/atmapi.h \
254	include/linux-private/linux/atmioc.h \
255	include/linux-private/linux/atmsap.h \
256	include/linux-private/linux/byteorder/little_endian.h \
257	include/linux-private/linux/can/netlink.h \
258	include/linux-private/linux/const.h \
259	include/linux-private/linux/errno.h \
260	include/linux-private/linux/ethtool.h \
261	include/linux-private/linux/falloc.h \
262	include/linux-private/linux/fib_rules.h \
263	include/linux-private/linux/gen_stats.h \
264	include/linux-private/linux/genetlink.h \
265	include/linux-private/linux/hdlc/ioctl.h \
266	include/linux-private/linux/if.h \
267	include/linux-private/linux/if_addr.h \
268	include/linux-private/linux/if_arp.h \
269	include/linux-private/linux/if_bridge.h \
270	include/linux-private/linux/if_ether.h \
271	include/linux-private/linux/if_link.h \
272	include/linux-private/linux/if_macsec.h \
273	include/linux-private/linux/if_packet.h \
274	include/linux-private/linux/if_tunnel.h \
275	include/linux-private/linux/if_vlan.h \
276	include/linux-private/linux/in.h \
277	include/linux-private/linux/in6.h \
278	include/linux-private/linux/in_route.h \
279	include/linux-private/linux/inet_diag.h \
280	include/linux-private/linux/ioctl.h \
281	include/linux-private/linux/ip.h \
282	include/linux-private/linux/ipv6.h \
283	include/linux-private/linux/libc-compat.h \
284	include/linux-private/linux/limits.h \
285	include/linux-private/linux/lwtunnel.h \
286	include/linux-private/linux/mpls.h \
287	include/linux-private/linux/mpls_iptunnel.h \
288	include/linux-private/linux/neighbour.h \
289	include/linux-private/linux/netconf.h \
290	include/linux-private/linux/netdevice.h \
291	include/linux-private/linux/netfilter.h \
292	include/linux-private/linux/netfilter/nf_conntrack_common.h \
293	include/linux-private/linux/netfilter/nf_conntrack_tcp.h \
294	include/linux-private/linux/netfilter/nfnetlink.h \
295	include/linux-private/linux/netfilter/nfnetlink_compat.h \
296	include/linux-private/linux/netfilter/nfnetlink_conntrack.h \
297	include/linux-private/linux/netfilter/nfnetlink_log.h \
298	include/linux-private/linux/netfilter/nfnetlink_queue.h \
299	include/linux-private/linux/netlink.h \
300	include/linux-private/linux/nexthop.h \
301	include/linux-private/linux/pkt_cls.h \
302	include/linux-private/linux/pkt_sched.h \
303	include/linux-private/linux/posix_types.h \
304	include/linux-private/linux/rtnetlink.h \
305	include/linux-private/linux/seg6.h \
306	include/linux-private/linux/seg6_hmac.h \
307	include/linux-private/linux/seg6_iptunnel.h \
308	include/linux-private/linux/seg6_local.h \
309	include/linux-private/linux/snmp.h \
310	include/linux-private/linux/sock_diag.h \
311	include/linux-private/linux/socket.h \
312	include/linux-private/linux/stddef.h \
313	include/linux-private/linux/swab.h \
314	include/linux-private/linux/taskstats.h \
315	include/linux-private/linux/tc_act/tc_gact.h \
316	include/linux-private/linux/tc_act/tc_mirred.h \
317	include/linux-private/linux/tc_act/tc_nat.h \
318	include/linux-private/linux/tc_act/tc_skbedit.h \
319	include/linux-private/linux/tc_act/tc_vlan.h \
320	include/linux-private/linux/tc_ematch/tc_em_cmp.h \
321	include/linux-private/linux/tc_ematch/tc_em_meta.h \
322	include/linux-private/linux/tc_ematch/tc_em_nbyte.h \
323	include/linux-private/linux/tc_ematch/tc_em_text.h \
324	include/linux-private/linux/types.h \
325	include/linux-private/linux/version.h \
326	include/linux-private/linux/veth.h \
327	include/linux-private/linux/xfrm.h \
328	include/nl-aux-core/nl-core.h \
329	include/nl-aux-route/nl-route.h \
330	include/nl-aux-xfrm/nl-xfrm.h \
331	include/nl-default.h \
332	include/nl-priv-dynamic-core/cache-api.h \
333	include/nl-priv-dynamic-core/nl-core.h \
334	include/nl-priv-dynamic-core/object-api.h \
335	include/nl-priv-dynamic-route/nl-priv-dynamic-route.h \
336	include/nl-priv-static-route/nl-priv-static-route.h \
337	$(NULL)
338
339###############################################################################
340
341# Hack to avoid using ylwrap. It does not function correctly in combination
342# with --header-file=
343
344lib/route/pktloc_grammar.h: lib/route/pktloc_grammar.c
345	@true
346
347lib/route/pktloc_grammar.c: lib/route/pktloc_grammar.l lib/route/.dirstamp
348	$(AM_V_GEN) $(FLEX) --header-file=lib/route/pktloc_grammar.h $(LFLAGS) -o $@ $<
349
350lib/route/pktloc_syntax.h: lib/route/pktloc_syntax.c
351	@true
352
353lib/route/pktloc_syntax.c: lib/route/pktloc_syntax.y lib/route/.dirstamp
354	$(AM_V_GEN) $(YACC) -d $(YFLAGS) -o $@ $<
355
356lib/route/cls/ematch_grammar.h: lib/route/cls/ematch_grammar.c
357	@true
358
359lib/route/cls/ematch_grammar.c: lib/route/cls/ematch_grammar.l lib/route/cls/.dirstamp
360	$(AM_V_GEN) $(FLEX) --header-file=lib/route/cls/ematch_grammar.h $(LFLAGS) -o $@ $<
361
362lib/route/cls/ematch_syntax.h: lib/route/cls/ematch_syntax.c
363	@true
364
365lib/route/cls/ematch_syntax.c: lib/route/cls/ematch_syntax.y lib/route/cls/.dirstamp
366	$(AM_V_GEN) $(YACC) -d $(YFLAGS) -o $@ $<
367
368grammar_files_sources = \
369	lib/route/cls/ematch_grammar.c \
370	lib/route/cls/ematch_syntax.c \
371	lib/route/pktloc_grammar.c \
372	lib/route/pktloc_syntax.c \
373	$(NULL)
374
375grammar_files_headers = $(grammar_files_sources:%.c=%.h)
376
377CLEANFILES += \
378	$(grammar_files_sources) \
379	$(grammar_files_headers)
380
381EXTRA_DIST += \
382	lib/route/cls/ematch_grammar.l \
383	lib/route/cls/ematch_syntax.y \
384	lib/route/pktloc_grammar.l \
385	lib/route/pktloc_syntax.y \
386	$(NULL)
387
388###############################################################################
389
390default_includes = \
391	-I$(srcdir)/include/linux-private \
392	-I$(srcdir)/include \
393	-I$(builddir)/include \
394	$(NULL)
395
396lib_cppflags = \
397	$(warn_cppflags) \
398	$(defines_cppflags) \
399	$(default_includes) \
400	$(NULL)
401
402lib_LTLIBRARIES += lib/libnl-3.la
403
404lib_libnl_3_la_SOURCES = \
405	lib/addr.c \
406	lib/attr.c \
407	lib/cache.c \
408	lib/cache_mngr.c \
409	lib/cache_mngt.c \
410	lib/data.c \
411	lib/error.c \
412	lib/handlers.c \
413	lib/hash.c \
414	lib/hashtable.c \
415	lib/mpls.c \
416	lib/mpls.h \
417	lib/msg.c \
418	lib/nl-core.h \
419	lib/nl.c \
420	lib/object.c \
421	lib/socket.c \
422	lib/utils.c \
423	lib/version.c \
424	$(NULL)
425EXTRA_lib_libnl_3_la_DEPENDENCIES = \
426	libnl-3.sym
427lib_libnl_3_la_CPPFLAGS = \
428	$(lib_cppflags)
429lib_libnl_3_la_LDFLAGS = \
430	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
431	-Wl,--version-script=$(srcdir)/libnl-3.sym
432
433lib_LTLIBRARIES += lib/libnl-route-3.la
434
435lib_libnl_route_3_la_SOURCES = \
436	lib/fib_lookup/lookup.c \
437	lib/fib_lookup/request.c \
438	lib/route/act.c \
439	lib/route/act/gact.c \
440	lib/route/act/mirred.c \
441	lib/route/act/nat.c \
442	lib/route/act/skbedit.c \
443	lib/route/act/vlan.c \
444	lib/route/addr.c \
445	lib/route/class.c \
446	lib/route/classid.c \
447	lib/route/cls.c \
448	lib/route/cls/basic.c \
449	lib/route/cls/cgroup.c \
450	lib/route/cls/ematch.c \
451	lib/route/cls/ematch/cmp.c \
452	lib/route/cls/ematch/container.c \
453	lib/route/cls/ematch/meta.c \
454	lib/route/cls/ematch/nbyte.c \
455	lib/route/cls/ematch/text.c \
456	lib/route/cls/flower.c \
457	lib/route/cls/fw.c \
458	lib/route/cls/mall.c \
459	lib/route/cls/police.c \
460	lib/route/cls/u32.c \
461	lib/route/link-sriov.h \
462	lib/route/link.c \
463	lib/route/link/api.c \
464	lib/route/link/bonding.c \
465	lib/route/link/bridge.c \
466	lib/route/link/bridge_info.c \
467	lib/route/link/can.c \
468	lib/route/link/dummy.c \
469	lib/route/link/geneve.c \
470	lib/route/link/ifb.c \
471	lib/route/link/inet.c \
472	lib/route/link/inet6.c \
473	lib/route/link/ip6gre.c \
474	lib/route/link/ip6tnl.c \
475	lib/route/link/ip6vti.c \
476	lib/route/link/ipgre.c \
477	lib/route/link/ipip.c \
478	lib/route/link/ipvlan.c \
479	lib/route/link/ipvti.c \
480	lib/route/link/link-api.h \
481	lib/route/link/macsec.c \
482	lib/route/link/macvlan.c \
483	lib/route/link/ppp.c \
484	lib/route/link/sit.c \
485	lib/route/link/sriov.c \
486	lib/route/link/team.c \
487	lib/route/link/veth.c \
488	lib/route/link/vlan.c \
489	lib/route/link/vrf.c \
490	lib/route/link/vxlan.c \
491	lib/route/link/xfrmi.c \
492	lib/route/mdb.c \
493	lib/route/neigh.c \
494	lib/route/neightbl.c \
495	lib/route/netconf.c \
496	lib/route/nexthop-encap.h \
497	lib/route/nexthop.c \
498	lib/route/nexthop_encap.c \
499	lib/route/nh.c \
500	lib/route/nh_encap_mpls.c \
501	lib/route/nl-route.h \
502	lib/route/pktloc.c \
503	lib/route/qdisc.c \
504	lib/route/qdisc/blackhole.c \
505	lib/route/qdisc/cbq.c \
506	lib/route/qdisc/dsmark.c \
507	lib/route/qdisc/fifo.c \
508	lib/route/qdisc/fq_codel.c \
509	lib/route/qdisc/hfsc.c \
510	lib/route/qdisc/htb.c \
511	lib/route/qdisc/ingress.c \
512	lib/route/qdisc/mqprio.c \
513	lib/route/qdisc/netem.c \
514	lib/route/qdisc/plug.c \
515	lib/route/qdisc/prio.c \
516	lib/route/qdisc/red.c \
517	lib/route/qdisc/sfq.c \
518	lib/route/qdisc/tbf.c \
519	lib/route/route.c \
520	lib/route/route_obj.c \
521	lib/route/route_utils.c \
522	lib/route/rtnl.c \
523	lib/route/rule.c \
524	lib/route/tc-api.h \
525	lib/route/tc.c \
526	$(NULL)
527nodist_lib_libnl_route_3_la_SOURCES = \
528	$(grammar_files_sources)
529EXTRA_lib_libnl_route_3_la_DEPENDENCIES = \
530	libnl-route-3.sym
531lib_libnl_route_3_la_CPPFLAGS = \
532	$(lib_cppflags) \
533	-I$(srcdir)/lib/route \
534	-I$(builddir)/lib/route \
535	-I$(builddir)/lib/route/cls \
536	$(NULL)
537lib_libnl_route_3_la_LDFLAGS = \
538	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
539	-Wl,--version-script=$(srcdir)/libnl-route-3.sym
540lib_libnl_route_3_la_LIBADD = \
541	lib/libnl-3.la
542
543$(lib_libnl_route_3_la_OBJECTS): $(grammar_files_headers)
544
545lib_LTLIBRARIES += lib/libnl-idiag-3.la
546
547lib_libnl_idiag_3_la_SOURCES = \
548	lib/idiag/idiag.c \
549	lib/idiag/idiag_meminfo_obj.c \
550	lib/idiag/idiag_msg_obj.c \
551	lib/idiag/idiag_req_obj.c \
552	lib/idiag/idiag_vegasinfo_obj.c \
553	lib/idiag/nl-idiag.h \
554	$(NULL)
555EXTRA_lib_libnl_idiag_3_la_DEPENDENCIES = \
556	libnl-idiag-3.sym
557lib_libnl_idiag_3_la_CPPFLAGS = \
558	$(lib_cppflags)
559lib_libnl_idiag_3_la_LDFLAGS = \
560	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
561	-Wl,--version-script=$(srcdir)/libnl-idiag-3.sym
562lib_libnl_idiag_3_la_LIBADD = \
563	lib/libnl-3.la
564
565lib_LTLIBRARIES += lib/libnl-genl-3.la
566
567lib_libnl_genl_3_la_SOURCES = \
568	lib/genl/ctrl.c \
569	lib/genl/family.c \
570	lib/genl/genl.c \
571	lib/genl/mngt.c \
572	lib/genl/nl-genl.h \
573	$(NULL)
574EXTRA_lib_libnl_genl_3_la_DEPENDENCIES = \
575	libnl-genl-3.sym
576lib_libnl_genl_3_la_CPPFLAGS = \
577	$(lib_cppflags)
578lib_libnl_genl_3_la_LDFLAGS = \
579	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
580	-Wl,--version-script=$(srcdir)/libnl-genl-3.sym
581lib_libnl_genl_3_la_LIBADD = \
582	lib/libnl-3.la
583
584lib_LTLIBRARIES += lib/libnl-nf-3.la
585
586lib_libnl_nf_3_la_SOURCES = \
587	lib/netfilter/ct.c \
588	lib/netfilter/ct_obj.c \
589	lib/netfilter/exp.c \
590	lib/netfilter/exp_obj.c \
591	lib/netfilter/log.c \
592	lib/netfilter/log_msg.c \
593	lib/netfilter/log_msg_obj.c \
594	lib/netfilter/log_obj.c \
595	lib/netfilter/netfilter.c \
596	lib/netfilter/nfnl.c \
597	lib/netfilter/nl-netfilter.h \
598	lib/netfilter/queue.c \
599	lib/netfilter/queue_msg.c \
600	lib/netfilter/queue_msg_obj.c \
601	lib/netfilter/queue_obj.c \
602	$(NULL)
603lib_libnl_nf_3_la_CPPFLAGS = \
604	$(lib_cppflags)
605EXTRA_lib_libnl_nf_3_la_DEPENDENCIES = \
606	libnl-nf-3.sym
607lib_libnl_nf_3_la_LDFLAGS = \
608	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
609	-Wl,--version-script=$(srcdir)/libnl-nf-3.sym
610lib_libnl_nf_3_la_LIBADD  = \
611	lib/libnl-3.la \
612	lib/libnl-route-3.la
613
614lib_LTLIBRARIES += lib/libnl-xfrm-3.la
615
616lib_libnl_xfrm_3_la_SOURCES = \
617	lib/xfrm/ae.c \
618	lib/xfrm/lifetime.c \
619	lib/xfrm/nl-xfrm.h \
620	lib/xfrm/sa.c \
621	lib/xfrm/selector.c \
622	lib/xfrm/sp.c \
623	lib/xfrm/template.c \
624	$(NULL)
625lib_libnl_xfrm_3_la_CPPFLAGS = \
626	$(lib_cppflags)
627lib_libnl_xfrm_3_la_LDFLAGS = \
628	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
629	-Wl,--version-script=$(srcdir)/libnl-xfrm-3.sym
630EXTRA_lib_libnl_xfrm_3_la_DEPENDENCIES = \
631	libnl-xfrm-3.sym
632lib_libnl_xfrm_3_la_LIBADD = \
633	lib/libnl-3.la
634
635lib_cli_ltlibraries_cls = \
636	lib/cli/cls/basic.la \
637	lib/cli/cls/cgroup.la \
638	$(NULL)
639lib_cli_ltlibraries_qdisc = \
640	lib/cli/qdisc/bfifo.la \
641	lib/cli/qdisc/blackhole.la \
642	lib/cli/qdisc/fq_codel.la \
643	lib/cli/qdisc/hfsc.la \
644	lib/cli/qdisc/htb.la \
645	lib/cli/qdisc/ingress.la \
646	lib/cli/qdisc/pfifo.la \
647	lib/cli/qdisc/plug.la \
648	$(NULL)
649
650if ENABLE_CLI
651pkglib_clsdir = $(pkglibdir)/cli/cls
652pkglib_qdiscdir = $(pkglibdir)/cli/qdisc
653pkglib_cls_LTLIBRARIES = $(lib_cli_ltlibraries_cls)
654pkglib_qdisc_LTLIBRARIES = $(lib_cli_ltlibraries_qdisc)
655else
656check_LTLIBRARIES += \
657	$(lib_cli_ltlibraries_cls) \
658	$(lib_cli_ltlibraries_qdisc)
659endif
660
661lib_cli_ldflags = \
662	-module -avoid-version
663
664lib_cli_cls_basic_la_CPPFLAGS       = $(lib_cppflags)
665lib_cli_cls_basic_la_LDFLAGS        = $(lib_cli_ldflags)
666lib_cli_cls_cgroup_la_CPPFLAGS      = $(lib_cppflags)
667lib_cli_cls_cgroup_la_LDFLAGS       = $(lib_cli_ldflags)
668lib_cli_qdisc_bfifo_la_CPPFLAGS     = $(lib_cppflags)
669lib_cli_qdisc_bfifo_la_LDFLAGS      = $(lib_cli_ldflags)
670lib_cli_qdisc_blackhole_la_CPPFLAGS = $(lib_cppflags)
671lib_cli_qdisc_blackhole_la_LDFLAGS  = $(lib_cli_ldflags)
672lib_cli_qdisc_fq_codel_la_CPPFLAGS  = $(lib_cppflags)
673lib_cli_qdisc_fq_codel_la_LDFLAGS   = $(lib_cli_ldflags)
674lib_cli_qdisc_hfsc_la_CPPFLAGS      = $(lib_cppflags)
675lib_cli_qdisc_hfsc_la_LDFLAGS       = $(lib_cli_ldflags)
676lib_cli_qdisc_htb_la_CPPFLAGS       = $(lib_cppflags)
677lib_cli_qdisc_htb_la_LDFLAGS        = $(lib_cli_ldflags)
678lib_cli_qdisc_ingress_la_CPPFLAGS   = $(lib_cppflags)
679lib_cli_qdisc_ingress_la_LDFLAGS    = $(lib_cli_ldflags)
680lib_cli_qdisc_pfifo_la_CPPFLAGS     = $(lib_cppflags)
681lib_cli_qdisc_pfifo_la_LDFLAGS      = $(lib_cli_ldflags)
682lib_cli_qdisc_plug_la_CPPFLAGS      = $(lib_cppflags)
683lib_cli_qdisc_plug_la_LDFLAGS       = $(lib_cli_ldflags)
684
685###############################################################################
686
687src_lib_ldflags =
688
689if ENABLE_CLI
690lib_LTLIBRARIES += src/lib/libnl-cli-3.la
691src_lib_ldflags += -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
692else
693check_LTLIBRARIES += src/lib/libnl-cli-3.la
694endif
695
696src_lib_libnl_cli_3_la_SOURCES = \
697	src/lib/addr.c \
698	src/lib/class.c \
699	src/lib/cls.c \
700	src/lib/ct.c \
701	src/lib/exp.c \
702	src/lib/link.c \
703	src/lib/neigh.c \
704	src/lib/nh.c \
705	src/lib/qdisc.c \
706	src/lib/route.c \
707	src/lib/rule.c \
708	src/lib/tc.c \
709	src/lib/utils.c \
710	$(NULL)
711EXTRA_src_lib_libnl_cli_3_la_DEPENDENCIES = \
712	libnl-cli-3.sym
713src_lib_libnl_cli_3_la_CPPFLAGS = \
714	$(warn_cppflags) \
715	$(defines_cppflags) \
716	$(default_includes) \
717	$(NULL)
718src_lib_libnl_cli_3_la_LDFLAGS = \
719	$(src_lib_ldflags) \
720	-Wl,--version-script=$(srcdir)/libnl-cli-3.sym
721src_lib_libnl_cli_3_la_LIBADD = \
722	lib/libnl-3.la \
723	lib/libnl-route-3.la \
724	lib/libnl-nf-3.la \
725	lib/libnl-genl-3.la \
726	-ldl \
727	$(NULL)
728
729###############################################################################
730
731src_cppflags = \
732	$(warn_cppflags) \
733	$(defines_cppflags) \
734	$(default_includes) \
735	$(NULL)
736
737src_ldadd = \
738	src/lib/libnl-cli-3.la \
739	lib/libnl-3.la \
740	lib/libnl-nf-3.la \
741	lib/libnl-genl-3.la \
742	lib/libnl-route-3.la \
743	lib/libnl-idiag-3.la \
744	$(NULL)
745
746cli_programs = \
747	src/genl-ctrl-list \
748	src/idiag-socket-details \
749	src/nf-ct-add \
750	src/nf-ct-events \
751	src/nf-ct-list \
752	src/nf-exp-add \
753	src/nf-exp-delete \
754	src/nf-exp-list \
755	src/nf-log \
756	src/nf-monitor \
757	src/nf-queue \
758	src/nl-addr-add \
759	src/nl-addr-delete \
760	src/nl-addr-list \
761	src/nl-class-add \
762	src/nl-class-delete \
763	src/nl-class-list \
764	src/nl-classid-lookup \
765	src/nl-cls-add \
766	src/nl-cls-delete \
767	src/nl-cls-list \
768	src/nl-fib-lookup \
769	src/nl-link-enslave \
770	src/nl-link-ifindex2name \
771	src/nl-link-list \
772	src/nl-link-name2ifindex \
773	src/nl-link-release \
774	src/nl-link-set \
775	src/nl-link-stats \
776	src/nl-list-caches \
777	src/nl-list-sockets \
778	src/nl-monitor \
779	src/nl-neigh-add \
780	src/nl-neigh-delete \
781	src/nl-neigh-list \
782	src/nl-neightbl-list \
783	src/nl-nh-list \
784	src/nl-pktloc-lookup \
785	src/nl-qdisc-add \
786	src/nl-qdisc-delete \
787	src/nl-qdisc-list \
788	src/nl-route-add \
789	src/nl-route-delete \
790	src/nl-route-get \
791	src/nl-route-list \
792	src/nl-rule-list \
793	src/nl-tctree-list \
794	src/nl-util-addr \
795	$(NULL)
796
797if ENABLE_CLI
798if ENABLE_CLI_INSTALL_BIN
799bin_PROGRAMS += $(cli_programs)
800else
801if ENABLE_CLI_INSTALL_SBIN
802sbin_PROGRAMS += $(cli_programs)
803else
804noinst_PROGRAMS += $(cli_programs)
805endif
806endif
807else
808check_PROGRAMS += $(cli_programs)
809endif
810
811src_genl_ctrl_list_CPPFLAGS =       $(src_cppflags)
812src_genl_ctrl_list_LDADD =          $(src_ldadd)
813src_idiag_socket_details_CPPFLAGS = $(src_cppflags)
814src_idiag_socket_details_LDADD =    $(src_ldadd)
815src_nf_ct_add_CPPFLAGS =            $(src_cppflags)
816src_nf_ct_add_LDADD =               $(src_ldadd)
817src_nf_ct_events_CPPFLAGS =         $(src_cppflags)
818src_nf_ct_events_LDADD =            $(src_ldadd)
819src_nf_ct_list_CPPFLAGS =           $(src_cppflags)
820src_nf_ct_list_LDADD =              $(src_ldadd)
821src_nf_exp_add_CPPFLAGS =           $(src_cppflags)
822src_nf_exp_add_LDADD =              $(src_ldadd)
823src_nf_exp_delete_CPPFLAGS =        $(src_cppflags)
824src_nf_exp_delete_LDADD =           $(src_ldadd)
825src_nf_exp_list_CPPFLAGS =          $(src_cppflags)
826src_nf_exp_list_LDADD =             $(src_ldadd)
827src_nf_log_CPPFLAGS =               $(src_cppflags)
828src_nf_log_LDADD =                  $(src_ldadd)
829src_nf_monitor_CPPFLAGS =           $(src_cppflags)
830src_nf_monitor_LDADD =              $(src_ldadd)
831src_nf_queue_CPPFLAGS =             $(src_cppflags)
832src_nf_queue_LDADD =                $(src_ldadd)
833src_nl_addr_add_CPPFLAGS =          $(src_cppflags)
834src_nl_addr_add_LDADD =             $(src_ldadd)
835src_nl_addr_delete_CPPFLAGS =       $(src_cppflags)
836src_nl_addr_delete_LDADD =          $(src_ldadd)
837src_nl_addr_list_CPPFLAGS =         $(src_cppflags)
838src_nl_addr_list_LDADD =            $(src_ldadd)
839src_nl_class_add_CPPFLAGS =         $(src_cppflags)
840src_nl_class_add_LDADD =            $(src_ldadd)
841src_nl_class_delete_CPPFLAGS =      $(src_cppflags)
842src_nl_class_delete_LDADD =         $(src_ldadd)
843src_nl_class_list_CPPFLAGS =        $(src_cppflags)
844src_nl_class_list_LDADD =           $(src_ldadd)
845src_nl_classid_lookup_CPPFLAGS =    $(src_cppflags)
846src_nl_classid_lookup_LDADD =       $(src_ldadd)
847src_nl_cls_add_CPPFLAGS =           $(src_cppflags)
848src_nl_cls_add_LDADD =              $(src_ldadd)
849src_nl_cls_delete_CPPFLAGS =        $(src_cppflags)
850src_nl_cls_delete_LDADD =           $(src_ldadd)
851src_nl_cls_list_CPPFLAGS =          $(src_cppflags)
852src_nl_cls_list_LDADD =             $(src_ldadd)
853src_nl_fib_lookup_CPPFLAGS =        $(src_cppflags)
854src_nl_fib_lookup_LDADD =           $(src_ldadd)
855src_nl_link_enslave_CPPFLAGS =      $(src_cppflags)
856src_nl_link_enslave_LDADD =         $(src_ldadd)
857src_nl_link_ifindex2name_CPPFLAGS = $(src_cppflags)
858src_nl_link_ifindex2name_LDADD =    $(src_ldadd)
859src_nl_link_list_CPPFLAGS =         $(src_cppflags)
860src_nl_link_list_LDADD =            $(src_ldadd)
861src_nl_link_name2ifindex_CPPFLAGS = $(src_cppflags)
862src_nl_link_name2ifindex_LDADD =    $(src_ldadd)
863src_nl_link_release_CPPFLAGS =      $(src_cppflags)
864src_nl_link_release_LDADD =         $(src_ldadd)
865src_nl_link_set_CPPFLAGS =          $(src_cppflags)
866src_nl_link_set_LDADD =             $(src_ldadd)
867src_nl_link_stats_CPPFLAGS =        $(src_cppflags)
868src_nl_link_stats_LDADD =           $(src_ldadd)
869src_nl_list_caches_CPPFLAGS =       $(src_cppflags)
870src_nl_list_caches_LDADD =          $(src_ldadd)
871src_nl_list_sockets_CPPFLAGS =      $(src_cppflags)
872src_nl_list_sockets_LDADD =         $(src_ldadd)
873src_nl_monitor_CPPFLAGS =           $(src_cppflags)
874src_nl_monitor_LDADD =              $(src_ldadd)
875src_nl_neigh_add_CPPFLAGS =         $(src_cppflags)
876src_nl_neigh_add_LDADD =            $(src_ldadd)
877src_nl_neigh_delete_CPPFLAGS =      $(src_cppflags)
878src_nl_neigh_delete_LDADD =         $(src_ldadd)
879src_nl_neigh_list_CPPFLAGS =        $(src_cppflags)
880src_nl_neigh_list_LDADD =           $(src_ldadd)
881src_nl_neightbl_list_CPPFLAGS =     $(src_cppflags)
882src_nl_neightbl_list_LDADD =        $(src_ldadd)
883src_nl_nh_list_CPPFLAGS =           $(src_cppflags)
884src_nl_nh_list_LDADD =              $(src_ldadd)
885src_nl_pktloc_lookup_CPPFLAGS =     $(src_cppflags)
886src_nl_pktloc_lookup_LDADD =        $(src_ldadd)
887src_nl_qdisc_add_CPPFLAGS =         $(src_cppflags)
888src_nl_qdisc_add_LDADD =            $(src_ldadd)
889src_nl_qdisc_delete_CPPFLAGS =      $(src_cppflags)
890src_nl_qdisc_delete_LDADD =         $(src_ldadd)
891src_nl_qdisc_list_CPPFLAGS =        $(src_cppflags)
892src_nl_qdisc_list_LDADD =           $(src_ldadd)
893src_nl_route_add_CPPFLAGS =         $(src_cppflags)
894src_nl_route_add_LDADD =            $(src_ldadd)
895src_nl_route_delete_CPPFLAGS =      $(src_cppflags)
896src_nl_route_delete_LDADD =         $(src_ldadd)
897src_nl_route_get_CPPFLAGS =         $(src_cppflags)
898src_nl_route_get_LDADD =            $(src_ldadd)
899src_nl_route_list_CPPFLAGS =        $(src_cppflags)
900src_nl_route_list_LDADD =           $(src_ldadd)
901src_nl_rule_list_CPPFLAGS =         $(src_cppflags)
902src_nl_rule_list_LDADD =            $(src_ldadd)
903src_nl_tctree_list_CPPFLAGS =       $(src_cppflags)
904src_nl_tctree_list_LDADD =          $(src_ldadd)
905src_nl_util_addr_CPPFLAGS =         $(src_cppflags)
906src_nl_util_addr_LDADD =            $(src_ldadd)
907
908###############################################################################
909
910tests_cppflags = \
911	$(warn_cppflags) \
912	$(defines_cppflags) \
913	$(default_includes) \
914	$(NULL)
915
916tests_ldadd = \
917	lib/libnl-3.la \
918	lib/libnl-nf-3.la \
919	lib/libnl-genl-3.la \
920	lib/libnl-route-3.la \
921	$(NULL)
922
923if WITH_CHECK
924check_LTLIBRARIES += tests/libnl-test-util.la
925endif
926
927tests_libnl_test_util_la_SOURCES = \
928	tests/nl-test-util.h \
929	tests/nl-test-util.c \
930	$(NULL)
931tests_libnl_test_util_la_CPPFLAGS = \
932	$(tests_cppflags) \
933	$(CHECK_CFLAGS) \
934	$(NULL)
935tests_libnl_test_util_la_LIBADD = \
936	$(tests_ldadd) \
937	$(CHECK_LIBS) \
938	$(NULL)
939
940check_PROGRAMS += \
941	tests/test-complex-HTB-with-hash-filters \
942	tests/test-create-bond \
943	tests/test-create-bridge \
944	tests/test-create-geneve \
945	tests/test-create-ifb \
946	tests/test-create-ip6tnl \
947	tests/test-create-ipgre \
948	tests/test-create-ipgretap \
949	tests/test-create-ipip \
950	tests/test-create-ipvlan \
951	tests/test-create-ipvti \
952	tests/test-create-macsec \
953	tests/test-create-macvlan \
954	tests/test-create-macvtap \
955	tests/test-create-sit \
956	tests/test-create-veth \
957	tests/test-create-vlan \
958	tests/test-create-vrf \
959	tests/test-create-vxlan \
960	tests/test-create-xfrmi \
961	tests/test-delete-link \
962	tests/test-loopback-up-down \
963	tests/test-socket-creation \
964	tests/test-u32-filter-with-actions \
965	$(NULL)
966
967tests_test_complex_HTB_with_hash_filters_CPPFLAGS = $(tests_cppflags)
968tests_test_complex_HTB_with_hash_filters_LDADD    = $(tests_ldadd)
969tests_test_create_bond_CPPFLAGS                   = $(tests_cppflags)
970tests_test_create_bond_LDADD                      = $(tests_ldadd)
971tests_test_create_bridge_CPPFLAGS                 = $(tests_cppflags)
972tests_test_create_bridge_LDADD                    = $(tests_ldadd)
973tests_test_create_geneve_CPPFLAGS                 = $(tests_cppflags)
974tests_test_create_geneve_LDADD                    = $(tests_ldadd)
975tests_test_create_ifb_CPPFLAGS                    = $(tests_cppflags)
976tests_test_create_ifb_LDADD                       = $(tests_ldadd)
977tests_test_create_ip6tnl_CPPFLAGS                 = $(tests_cppflags)
978tests_test_create_ip6tnl_LDADD                    = $(tests_ldadd)
979tests_test_create_ipgre_CPPFLAGS                  = $(tests_cppflags)
980tests_test_create_ipgre_LDADD                     = $(tests_ldadd)
981tests_test_create_ipgretap_CPPFLAGS               = $(tests_cppflags)
982tests_test_create_ipgretap_LDADD                  = $(tests_ldadd)
983tests_test_create_ipip_CPPFLAGS                   = $(tests_cppflags)
984tests_test_create_ipip_LDADD                      = $(tests_ldadd)
985tests_test_create_ipvlan_CPPFLAGS                 = $(tests_cppflags)
986tests_test_create_ipvlan_LDADD                    = $(tests_ldadd)
987tests_test_create_ipvti_CPPFLAGS                  = $(tests_cppflags)
988tests_test_create_ipvti_LDADD                     = $(tests_ldadd)
989tests_test_create_macsec_CPPFLAGS                 = $(tests_cppflags)
990tests_test_create_macsec_LDADD                    = $(tests_ldadd)
991tests_test_create_macvlan_CPPFLAGS                = $(tests_cppflags)
992tests_test_create_macvlan_LDADD                   = $(tests_ldadd)
993tests_test_create_macvtap_CPPFLAGS                = $(tests_cppflags)
994tests_test_create_macvtap_LDADD                   = $(tests_ldadd)
995tests_test_create_sit_CPPFLAGS                    = $(tests_cppflags)
996tests_test_create_sit_LDADD                       = $(tests_ldadd)
997tests_test_create_veth_CPPFLAGS                   = $(tests_cppflags)
998tests_test_create_veth_LDADD                      = $(tests_ldadd)
999tests_test_create_vlan_CPPFLAGS                   = $(tests_cppflags)
1000tests_test_create_vlan_LDADD                      = $(tests_ldadd)
1001tests_test_create_vrf_CPPFLAGS                    = $(tests_cppflags)
1002tests_test_create_vrf_LDADD                       = $(tests_ldadd)
1003tests_test_create_vxlan_CPPFLAGS                  = $(tests_cppflags)
1004tests_test_create_vxlan_LDADD                     = $(tests_ldadd)
1005tests_test_create_xfrmi_CPPFLAGS                  = $(tests_cppflags)
1006tests_test_create_xfrmi_LDADD                     = $(tests_ldadd)
1007tests_test_delete_link_CPPFLAGS                   = $(tests_cppflags)
1008tests_test_delete_link_LDADD                      = $(tests_ldadd)
1009tests_test_loopback_up_down_CPPFLAGS              = $(tests_cppflags)
1010tests_test_loopback_up_down_LDADD                 = $(tests_ldadd)
1011tests_test_socket_creation_CPPFLAGS               = $(tests_cppflags)
1012tests_test_socket_creation_LDADD                  = $(tests_ldadd)
1013tests_test_u32_filter_with_actions_CPPFLAGS       = $(tests_cppflags)
1014tests_test_u32_filter_with_actions_LDADD          = $(tests_ldadd)
1015
1016check_PROGRAMS += \
1017	tests/test-cache-mngr \
1018	tests/test-genl \
1019	tests/test-nf-cache-mngr \
1020	$(NULL)
1021
1022tests_cli_ldadd = \
1023	$(tests_ldadd) \
1024	src/lib/libnl-cli-3.la \
1025	$(NULL)
1026
1027tests_test_cache_mngr_CPPFLAGS                    = $(tests_cppflags)
1028tests_test_cache_mngr_LDADD                       = $(tests_cli_ldadd)
1029tests_test_genl_CPPFLAGS                          = $(tests_cppflags)
1030tests_test_genl_LDADD                             = $(tests_cli_ldadd)
1031tests_test_nf_cache_mngr_CPPFLAGS                 = $(tests_cppflags)
1032tests_test_nf_cache_mngr_LDADD                    = $(tests_cli_ldadd)
1033
1034
1035if WITH_CHECK
1036check_programs += tests/check-all
1037endif
1038
1039tests_check_all_SOURCES = \
1040	tests/check-all.c \
1041	tests/cksuite-all-addr.c \
1042	tests/cksuite-all-attr.c \
1043	tests/cksuite-all-ematch-tree-clone.c \
1044	tests/cksuite-all-netns.c \
1045	tests/cksuite-all.h \
1046	$(NULL)
1047
1048tests_check_all_CPPFLAGS = \
1049	$(tests_cppflags) \
1050	$(CHECK_CFLAGS)
1051
1052tests_check_all_LDADD = \
1053	$(tests_ldadd) \
1054	tests/libnl-test-util.la \
1055	$(CHECK_LIBS) \
1056	$(NULL)
1057
1058if WITH_CHECK
1059if ENABLE_STATIC
1060check_programs += tests/check-direct
1061endif
1062endif
1063
1064tests_check_direct_SOURCES = \
1065	tests/check-direct.c \
1066	$(NULL)
1067
1068tests_check_direct_CPPFLAGS = \
1069	$(tests_cppflags) \
1070	$(CHECK_CFLAGS) \
1071	$(NULL)
1072
1073tests_check_direct_LDFLAGS = \
1074	-static \
1075	$(NULL)
1076
1077tests_check_direct_LDADD = \
1078	$(tests_ldadd) \
1079	tests/libnl-test-util.la \
1080	$(CHECK_LIBS) \
1081	$(NULL)
1082
1083###############################################################################
1084
1085dist_man8_MANS = \
1086	man/genl-ctrl-list.8 \
1087	man/nl-classid-lookup.8 \
1088	man/nl-pktloc-lookup.8 \
1089	man/nl-qdisc-add.8 \
1090	man/nl-qdisc-delete.8 \
1091	man/nl-qdisc-list.8 \
1092	$(NULL)
1093
1094###############################################################################
1095
1096python-build:
1097	cd "$(srcdir)/python"; \
1098	python setup.py build
1099
1100.PHONY: python-build
1101
1102EXTRA_DIST += \
1103	python/README \
1104	\
1105	python/doc/conf.py \
1106	python/doc/core.rst \
1107	python/doc/index.rst \
1108	python/doc/route_addr.rst \
1109	python/doc/route.rst \
1110	\
1111	python/examples/iface.py \
1112	python/examples/nl80211.py \
1113	python/examples/wiphy.py \
1114	\
1115	python/netlink/capi.i \
1116	python/netlink/__init__.py \
1117	python/netlink/core.py \
1118	python/netlink/util.py \
1119	python/netlink/utils.h \
1120	\
1121	python/netlink/genl/capi.i \
1122	python/netlink/genl/__init__.py \
1123	\
1124	python/netlink/route/capi.i \
1125	python/netlink/route/__init__.py \
1126	python/netlink/route/address.py \
1127	python/netlink/route/link.py \
1128	python/netlink/route/tc.py \
1129	python/netlink/route/links/__init__.py \
1130	python/netlink/route/links/dummy.py \
1131	python/netlink/route/links/inet.py \
1132	python/netlink/route/links/vlan.py \
1133	python/netlink/route/qdisc/__init__.py \
1134	python/netlink/route/qdisc/htb.py \
1135	\
1136	python/tests/test-create-bridge.py
1137
1138###############################################################################
1139
1140%.build-headers-test.c: %
1141	mkdir -p "$(dir $@)"
1142	printf "#include <$$(echo "$<" | sed 's|.*\<include/netlink/|netlink/|')>\nint main(void) { return 0; }" > $@
1143
1144%.build-headers-test.o: %.build-headers-test.c
1145	$(CC) -Wall -Werror -D_NL_NO_WARN_DEPRECATED_HEADER -I$(srcdir)/include -I$(builddir)/include -c -o $@ $<
1146
1147BUILD_HEADERS_OBJS = $(patsubst %,%.build-headers-test.o,$(public_headers))
1148
1149# Test whether the public headers are all self-contained and can be build.
1150# This test is not hooked up as `make check`.
1151check-build-headers: $(BUILD_HEADERS_OBJS)
1152
1153CLEANFILES += $(BUILD_HEADERS_OBJS)
1154
1155check_build += check-build-headers
1156
1157###############################################################################
1158
1159if HAS_CXX
1160%.build-headers-test-cxx.cpp: %
1161	mkdir -p "$(dir $@)"
1162	printf "#include <cstdio>\n#include <$$(echo "$<" | sed 's|.*\<include/netlink/|netlink/|')>\nint main(void) { return 0; }" > $@
1163
1164%.build-headers-test-cxx.o: %.build-headers-test-cxx.cpp %.build-headers-test.o
1165	$(CXX) -Wall -Werror -D_NL_NO_WARN_DEPRECATED_HEADER -I$(srcdir)/include -I$(builddir)/include -c -o $@ $<
1166
1167BUILD_HEADERS_OBJS_CXX = $(patsubst %,%.build-headers-test-cxx.o,$(public_headers))
1168
1169CLEANFILES += $(BUILD_HEADERS_OBJS_CXX)
1170
1171check-build-headers-cxx: $(BUILD_HEADERS_OBJS_CXX)
1172
1173check_build += check-build-headers-cxx
1174endif
1175
1176###############################################################################
1177
1178check-local: $(check_build) $(check_local)
1179
1180.PHONY: $(check_local)
1181
1182check_PROGRAMS += $(check_programs)
1183TESTS += $(check_programs)
1184
1185if ENABLE_CLI
1186pkgconfig_DATA += libnl-cli-3.0.pc
1187endif
1188
1189pkgsysconfdir = $(sysconfdir)/libnl
1190pkgsysconf_DATA = \
1191	etc/pktloc \
1192	etc/classid
1193
1194EXTRA_DIST += \
1195	$(pkgsysconf_DATA) \
1196	libnl-3.sym \
1197	libnl-cli-3.sym \
1198	libnl-genl-3.sym \
1199	libnl-idiag-3.sym \
1200	libnl-nf-3.sym \
1201	libnl-route-3.sym \
1202	libnl-xfrm-3.sym \
1203	$(NULL)
1204
1205###############################################################################
1206
1207check-build: all $(check_PROGRAMS) $(check_LTLIBRARIES) $(check_build)
1208
1209check-progs: check-build
1210
1211.PHONY: check-progs check-build
1212
1213###############################################################################
1214