include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

TARGET_CFLAGS += -fpie
PKG_NAME:=ntgr_ui_api_lib
PKG_RELEASE:=1

include $(INCLUDE_DIR)/local-development.mk
ifeq ($(DUMP)$(PKG_VERSION),)
PKG_REV:=
PKG_VERSION:=
endif

PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)

include $(INCLUDE_DIR)/package.mk

define Package/ntgr_ui_api_lib
  SECTION:=NETGEAR
  CATEGORY:=NETGEAR Proprietary software
  TITLE:=library for UI api calls
  DEPENDS:= +ntgr_wrapper_debug +ntgr_nvram +librpc +liboping +libntgrwifinvram +ntgr_configd +d2
endef

define Package/ntgr_ui_api_lib/description
 This package contains library for UI api calls
endef

define Build/Prepare
	echo $(PKG_BUILD_DIR) $(PWD)
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) ./src/* $(PKG_BUILD_DIR)/
	$(LN) $(STAGING_DIR)/ntgr_utils/debug.c $(PKG_BUILD_DIR)/debug.c
	$(LN) $(STAGING_DIR)/ntgr_utils/debug.h $(PKG_BUILD_DIR)/debug.h
endef

define Build/Configure
endef

define Build/Compile
	$(MAKE) -C $(PKG_BUILD_DIR) \
		CC="$(TARGET_CC)" \
		CFLAGS="$(TARGET_CFLAGS) -Wall" \
		LDFLAGS="$(TARGET_LDFLAGS) -lrpc -lnvram -lntgrnvram -loping -lntgrwifinvram -ld2lib"
endef

define Package/ntgr_ui_api_lib/install
	echo "install ui api lib....."
	$(INSTALL_DIR) $(1)/usr/lib/
	$(CP) $(PKG_BUILD_DIR)/libuiapi.so $(1)/usr/lib/
endef

INSTALL_LIBS:=libuiapi
INSTALL_HEADERS=ui_api_lib.h debug.h
define Build/InstallDev
	$(INSTALL_DIR) $(1)/usr/lib
	$(INSTALL_DIR) $(1)/usr/include/ui_api
	$(if $(INSTALL_LIBS),$(CP) $(foreach lib,$(INSTALL_LIBS),$(PKG_BUILD_DIR)/$(lib).so) $(1)/usr/lib)
	$(if $(INSTALL_HEADERS),$(CP) $(foreach header,$(INSTALL_HEADERS),$(PKG_BUILD_DIR)/$(header)) $(1)/usr/include/ui_api)
endef

$(eval $(call BuildPackage,ntgr_ui_api_lib))
