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