summaryrefslogtreecommitdiffstats
path: root/yang/subdir.am
diff options
context:
space:
mode:
Diffstat (limited to 'yang/subdir.am')
-rw-r--r--yang/subdir.am129
1 files changed, 129 insertions, 0 deletions
diff --git a/yang/subdir.am b/yang/subdir.am
new file mode 100644
index 0000000..80028fc
--- /dev/null
+++ b/yang/subdir.am
@@ -0,0 +1,129 @@
+SUFFIXES += .yang .yang.c .yin .yin.c
+EXTRA_DIST += yang/embedmodel.py
+
+.yang.yang.c:
+ $(AM_V_GEN)$(PYTHON) $(top_srcdir)/yang/embedmodel.py $^ $@
+.yin.yin.c:
+ $(AM_V_GEN)$(PYTHON) $(top_srcdir)/yang/embedmodel.py $^ $@
+
+# use .yang.c files like this:
+#
+# ripd_ripd_SOURCES = \
+# ...
+# nodist_ripd_ripd_SOURCES = \
+# yang/frr-ripd.yang.c \
+# # end
+#
+# Note that putting the .yang.c file into a static library.a will NOT work
+# because the entire file is "optimized out" since it does not contain any
+# global symbols :(. Just put it in the daemon. Dynamic libraries.so work
+# without problems, as seen in libfrr.
+
+dist_yangmodels_DATA += yang/frr-filter.yang
+dist_yangmodels_DATA += yang/frr-module-translator.yang
+dist_yangmodels_DATA += yang/frr-nexthop.yang
+dist_yangmodels_DATA += yang/frr-test-module.yang
+dist_yangmodels_DATA += yang/frr-interface.yang
+dist_yangmodels_DATA += yang/frr-route-map.yang
+dist_yangmodels_DATA += yang/frr-zebra-route-map.yang
+dist_yangmodels_DATA += yang/frr-ospf-route-map.yang
+dist_yangmodels_DATA += yang/frr-ospf6-route-map.yang
+dist_yangmodels_DATA += yang/frr-bgp-filter.yang
+dist_yangmodels_DATA += yang/frr-bgp-route-map.yang
+dist_yangmodels_DATA += yang/frr-vrf.yang
+dist_yangmodels_DATA += yang/frr-route-types.yang
+dist_yangmodels_DATA += yang/frr-routing.yang
+dist_yangmodels_DATA += yang/ietf/ietf-routing-types.yang
+dist_yangmodels_DATA += yang/ietf/ietf-interfaces.yang
+dist_yangmodels_DATA += yang/ietf/ietf-bgp-types.yang
+
+if BFDD
+dist_yangmodels_DATA += yang/frr-bfdd.yang
+endif
+
+if EIGRPD
+dist_yangmodels_DATA += yang/frr-eigrpd.yang
+endif
+
+if RIPD
+dist_yangmodels_DATA += yang/frr-ripd.yang
+endif
+
+if RIPNGD
+dist_yangmodels_DATA += yang/frr-ripngd.yang
+endif
+
+if ISISD
+dist_yangmodels_DATA += yang/frr-isisd.yang
+endif
+
+if VRRPD
+dist_yangmodels_DATA += yang/frr-vrrpd.yang
+endif
+
+if STATICD
+dist_yangmodels_DATA += yang/frr-staticd.yang
+endif
+
+if ZEBRA
+dist_yangmodels_DATA += yang/frr-zebra.yang
+endif
+
+if PIMD
+dist_yangmodels_DATA += yang/frr-gmp.yang
+dist_yangmodels_DATA += yang/frr-pim.yang
+dist_yangmodels_DATA += yang/frr-pim-rp.yang
+endif
+
+if BGPD
+dist_yangmodels_DATA += yang/frr-bgp-common-structure.yang
+dist_yangmodels_DATA += yang/frr-bgp-common.yang
+dist_yangmodels_DATA += yang/frr-bgp-common-multiprotocol.yang
+dist_yangmodels_DATA += yang/frr-bgp-neighbor.yang
+dist_yangmodels_DATA += yang/frr-bgp-peer-group.yang
+dist_yangmodels_DATA += yang/frr-deviations-bgp-datacenter.yang
+dist_yangmodels_DATA += yang/frr-bgp-rpki.yang
+dist_yangmodels_DATA += yang/frr-bgp-bmp.yang
+dist_yangmodels_DATA += yang/frr-bgp-types.yang
+dist_yangmodels_DATA += yang/frr-bgp.yang
+endif
+
+if OSPFD
+dist_yangmodels_DATA += yang/frr-ospfd.yang
+endif
+
+if PATHD
+dist_yangmodels_DATA += yang/frr-pathd.yang
+endif
+
+CLEANFILES += \
+ yang/*.c \
+ yang/ietf/*.c \
+ yang/confd/*.c \
+ #
+
+if CONFD
+
+SUBMODULES = $(shell cd $(top_srcdir); grep -l belongs-to $(dist_yangmodels_DATA))
+EXCLUDED_MODULES = $(SUBMODULES) yang/frr-module-translator.yang
+YANG_MODULES = $(filter-out $(EXCLUDED_MODULES),$(dist_yangmodels_DATA))
+
+fxsdir = $(sysconfdir)/confd
+fxs_DATA = $(YANG_MODULES:.yang=.fxs)
+
+SUFFIXES += .fxs
+CLEANFILES += $(fxs_DATA)
+
+AM_V_CONFDC = $(AM_V_CONFDC_@AM_V@)
+AM_V_CONFDC_ = $(AM_V_CONFDC_@AM_DEFAULT_V@)
+AM_V_CONFDC_0 = @echo " CONFDC " $@;
+
+CONFDC_FLAGS = --yangpath $(srcdir)/yang --yangpath $(srcdir)/yang/ietf
+
+yang/%.fxs: yang/%.yang yang/confd/confd.%.yang
+ $(AM_V_CONFDC)$(CONFDC) $(CONFDC_FLAGS) -c -o $@ -a $(srcdir)/yang/confd/confd.$*.yang -- $<
+
+yang/%.fxs: yang/%.yang
+ $(AM_V_CONFDC)$(CONFDC) $(CONFDC_FLAGS) -c -o $@ -- $<
+
+endif