2 # Copyright (C) 2020 Yousong Zhou <yszhou4tech@gmail.com>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/kernel.mk
9 include ..
/openvswitch
/openvswitch.mk
16 PKG_SOURCE_URL
:=https
://github.com
/ovn-org
/ovn.git
17 PKG_SOURCE_VERSION
:=v
$(PKG_VERSION
)
18 PKG_MIRROR_HASH
:=eb494796a7a21e7c1ba5b3f60c037385eb5f0c33007ebc627437f36187f860fe
20 PKG_LICENSE
:=Apache-2.0
21 PKG_LICENSE_FILES
:=LICENSE
22 PKG_CPE_ID
:=cpe
:/a
:openvswitch
:openvswitch
24 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(PKG_VERSION
)
25 PKG_BUILD_DEPENDS
+=python3
/host
26 PKG_BUILD_FLAGS
:=no-mips16 lto
31 PKG_MAINTAINER
:=Yousong Zhou
<yszhou4tech@gmail.com
>
33 include $(INCLUDE_DIR
)/package.mk
34 include ..
/..
/lang
/python
/python3-host.mk
36 ovs_libovn_title
:=Open vSwitch
(libovn.so
)
38 ovs_libovn_depends
+=+libatomic
+openvswitch-libopenvswitch
39 ovs_libovn_files
:=usr
/lib
/libovn
*.so
*
40 $(eval
$(call OvsPackageTemplate
,libovn
))
43 ovs_ovn-common_title
:=Open Virtual Network
(common files
)
44 ovs_ovn-common_hidden
:=1
45 ovs_ovn-common_depends
:=+openvswitch-common
+openvswitch-libopenvswitch
+openvswitch-libovn
+openvswitch-libovsdb
46 ovs_ovn-common_depends
+=+libatomic
47 ovs_ovn-common_files
:= \
48 usr
/share
/ovn
/scripts
/ovn-ctl \
49 usr
/share
/ovn
/scripts
/ovn-lib \
50 $(foreach b
,ovn-appctl ovn-nbctl ovn-sbctl
,usr
/bin
/$(b
))
51 define ovs_ovn-common_install
52 $$(LN
) /usr
/share
/openvswitch
/scripts
/ovs-ctl-wrapper
$$(1)/usr
/bin
/ovn-ctl
54 $(eval
$(call OvsPackageTemplate
,ovn-common
))
57 ovs_ovn-north_title
:=Open Virtual Network
(north package
)
58 ovs_ovn-north_hidden
:=
59 ovs_ovn-north_depends
:=+openvswitch-ovsdb
+openvswitch-ovn-common
60 ovs_ovn-north_depends
+=+libatomic
61 ovs_ovn-north_files
:=\
62 usr
/share
/ovn
/ovn-nb.ovsschema \
63 usr
/share
/ovn
/ovn-sb.ovsschema \
65 $(eval
$(call OvsPackageTemplate
,ovn-north
))
68 ovs_ovn-host_title
:=Open Virtual Network
(chassis package
)
70 ovs_ovn-host_depends
:=+openvswitch
+openvswitch-ovn-common
71 ovs_ovn-host_depends
+=+libatomic
72 ovs_ovn-host_files
:=usr
/bin
/ovn-controller
73 $(eval
$(call OvsPackageTemplate
,ovn-host
))
80 --disable-silent-rules \
81 --with-ovs-source
=$(ovs_builddir
) \
82 --with-ovs-build
=$(ovs_builddir
) \
87 ovs_cv_python3
=$(HOST_PYTHON3_BIN
) \
90 TARGET_CFLAGS
+= -std
=gnu99
91 # This is needed otherwise libtool --mode=install libovn.la will fail with
92 # "cannot find -lopenvswitch" when doing libtool --mode=relink. Likely this
93 # was caused by libovn now depends on libopenvswitch.la (installed=no) since
94 # upstream commit 1b587c4f ("controller: add datapath meter capability check")
95 TARGET_LDFLAGS
+= -L
$(ovs_builddir
)/lib
/.libs
96 MAKE_VARS
+= PYTHONPATH
="$(HOST_PYTHON3PATH)"
98 $(foreach p
,$(ovs_packages
),\
99 $(eval
$(call BuildPackage
,$(p
)))\