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