diff --git a/libs/libsml/Makefile b/libs/libsml/Makefile new file mode 100644 index 000000000..32ff60f07 --- /dev/null +++ b/libs/libsml/Makefile @@ -0,0 +1,51 @@ +# +# Copyright (C) 2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libsml +PKG_VERSION:=0.1 +PKG_RELEASE:=1 +PKG_REV:=4e546fb0db0bd4c0a2c3c2f3d29ac0a0ba6651a3 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=git://github.com/dailab/libsml.git +PKG_SOURCE_VERSION:=$(PKG_REV) +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_PROTO:=git + +include $(INCLUDE_DIR)/package.mk + +define Package/libsml + SECTION:=libs + CATEGORY:=Libraries + URL:=https://github.com/dailab/libsml + TITLE:=Library which implements the Smart Messaging Language (SML) protocol + DEPENDS:=+libuuid +endef + +define Package/libsml/description + libSML is a library which implements the Smart Messaging Language (SML) protocol specified by + VDE's Forum Netztechnik/Netzbetrieb (FNN). It can be utilized to communicate to FNN specified + Smart Meters or Smart Meter components (EDL/MUC). +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_BUILD_DIR)/sml/include/sml $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/sml/lib/libsml.{so*,a} $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_BUILD_DIR)/sml.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libsml/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/sml/lib/libsml.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libsml)) diff --git a/libs/libsml/patches/010-no-examples-tests.patch b/libs/libsml/patches/010-no-examples-tests.patch new file mode 100644 index 000000000..bf2220c1e --- /dev/null +++ b/libs/libsml/patches/010-no-examples-tests.patch @@ -0,0 +1,13 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,8 +1,8 @@ + + all: + @$(MAKE) -C sml +- @$(MAKE) -C examples +- @$(MAKE) -C test ++# @$(MAKE) -C examples ++# @$(MAKE) -C test + + .PHONY: clean + clean : diff --git a/libs/libsml/patches/020-ldflags.patch b/libs/libsml/patches/020-ldflags.patch new file mode 100644 index 000000000..d6fa2e4ef --- /dev/null +++ b/libs/libsml/patches/020-ldflags.patch @@ -0,0 +1,11 @@ +--- a/sml/Makefile ++++ b/sml/Makefile +@@ -54,7 +54,7 @@ libsml: $(ST_LIB) $(OBJ_LIB) + endif + + $(DYN_LIB): $(OBJS) +- $(LD) $(LIBS) -shared -soname $(SONAME) -o $@ $^ ++ $(LD) $(LDFLAGS) $(LIBS) -shared -soname $(SONAME) -o $@ $^ + + $(OBJ_LIB): $(OBJS) + $(LD) -r -o $@ $^ diff --git a/libs/libsml/patches/030-cross-compile.patch b/libs/libsml/patches/030-cross-compile.patch new file mode 100644 index 000000000..c7dcc22ea --- /dev/null +++ b/libs/libsml/patches/030-cross-compile.patch @@ -0,0 +1,8 @@ +--- a/sml/Makefile ++++ b/sml/Makefile +@@ -1,4 +1,4 @@ +-UNAME := $(shell uname) ++UNAME := Linux + CFLAGS += -I./include/ -fPIC -g -Wall + + # Available Flags: