add libyang
[feed/packages.git] / libs / libyang / Makefile
1 #
2 # Copyright (C) 2017 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=libyang
11 PKG_VERSION:=0.12.174
12 PKG_RELEASE=$(PKG_SOURCE_VERSION)
13
14 PKG_LICENSE:=GPL-2.0+
15 PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
16
17 PKG_SOURCE_PROTO:=git
18 PKG_SOURCE_URL:=https://github.com/CESNET/libyang.git
19 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
20 PKG_SOURCE_VERSION:=7e811613b335afc8e1b2c0ee77e7b3f371bc9175
21 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
22
23 PKG_BUILD_PARALLEL:=1
24 PKG_INSTALL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/cmake.mk
28
29 define Package/libyang
30 SECTION:=libs
31 CATEGORY:=Libraries
32 TITLE:=YANG data modeling language library
33 URL:=$(PKG_SOURCE_URL)
34 DEPENDS:=+libpcre
35 endef
36
37 define Package/yanglint
38 SECTION:=utils
39 CATEGORY:=Utilities
40 TITLE:=YANG data modeling language utility
41 URL:=$(PKG_SOURCE_URL)
42 DEPENDS:=+libyang
43 endef
44
45 define Package/libyang/description
46 libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
47 The library is used e.g. in libnetconf2, Netopeer2 or sysrepo projects.
48 endef
49
50 TARGET_LDFLAGS += -lm
51
52 CMAKE_OPTIONS += \
53 -DCMAKE_INSTALL_PREFIX:PATH=/usr \
54 -DCMAKE_BUILD_TYPE:STRING=Release
55
56 define Build/InstallDev
57 $(INSTALL_DIR) $(1)/usr/lib
58 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libyang.so* $(1)/usr/lib/
59
60 $(INSTALL_DIR) $(1)/usr/include/libyang
61 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/include/libyang/* $(1)/usr/include/libyang/
62
63 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
64 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libyang.pc $(1)/usr/lib/pkgconfig/
65 endef
66
67 define Package/libyang/install
68 $(INSTALL_DIR) $(1)/usr/lib
69 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libyang.so* $(1)/usr/lib/
70
71 $(INSTALL_DIR) $(1)/usr/lib/libyang
72 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libyang/* $(1)/usr/lib/libyang/
73 endef
74
75 define Package/yanglint/install
76 $(INSTALL_DIR) $(1)/usr/bin
77 $(INSTALL_BIN) $(PKG_BUILD_DIR)/yanglint $(1)/usr/bin/
78 endef
79
80 $(eval $(call BuildPackage,libyang))
81 $(eval $(call BuildPackage,yanglint))