# 
# Copyright (C) 2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
:# See /LICENSE for more information.
#

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

PKG_NAME:=open-iscsi
PKG_VERSION:=2.0-872
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.open-iscsi.org/bits/
PKG_MD5SUM:=b4df94f08c241352bb964043b3e44779

include $(INCLUDE_DIR)/package.mk

define KernelPackage/open-iscsi
  SUBMENU:=Other modules
  TITLE:=Open iSCSI kernel module
  DEPENDS:=
  FILES:= \
	$(PKG_BUILD_DIR)/kernel/iscsi_tcp.$(LINUX_KMOD_SUFFIX) \
	$(PKG_BUILD_DIR)/kernel/libiscsi_tcp.$(LINUX_KMOD_SUFFIX) \
	$(PKG_BUILD_DIR)/kernel/libiscsi.$(LINUX_KMOD_SUFFIX) \
	$(PKG_BUILD_DIR)/kernel/scsi_transport_iscsi.$(LINUX_KMOD_SUFFIX)
  AUTOLOAD:=$(call AutoLoad,90,scsi_transport_iscsi libiscsi libiscsi_tcp iscsi_tcp)
endef

define KernelPackage/open-iscsi/description
 Kernel module for iSCSI.
endef

EXTRA_KCONFIG:=
EXTRA_CFLAGS:=-I$(PKG_BUILD_DIR)/kernel \
			  -I$(PKG_BUILD_DIR)/include
MAKE_OPTS:= \
	ARCH="$(LINUX_KARCH)" \
	CROSS_COMPILE="$(TARGET_CROSS)" \
	SUBDIRS="$(PKG_BUILD_DIR)/kernel" \
	EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
	$(EXTRA_KCONFIG) 

define Package/open-iscsi
  TITLE:=Open-iSCSI
  URL:=http://www.open-iscsi.org/bits/
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+libopenssl +kmod-open-iscsi
endef

define Package/open-iscsi/description
 Open-iSCSI project is a high performance, transport independent,
 multi-platform implementation of RFC3720.
endef

CONFIGURE_PATH = utils/open-isns

TARGET_CFLAGS += \
	-I$(PKG_BUILD_DIR)/include \
	-I$(PKG_BUILD_DIR)/usr \
	-I$(PKG_BUILD_DIR)/utils/open-isns \
	$(TARGET_CPPFLAGS) \
	$(TARGET_LDFLAGS)

define Build/Patch
	$(call Build/Patch/Default)
	$(MAKE) -C $(PKG_BUILD_DIR)/kernel linux_2_6_35
endef

define Build/Compile

	$(MAKE) -C $(PKG_BUILD_DIR) \
		CC="$(TARGET_CROSS)gcc" \
		AR="$(TARGET_CROSS)ar rcu" \
		RANLIB="$(TARGET_CROSS)ranlib" \
		CFLAGS="$(TARGET_CFLAGS)" \
		LDFLAGS="$(TARGET_LDFLAGS) -lgcc" user
endef

define Package/open-iscsi/install
	$(INSTALL_DIR) $(1)/sbin
	$(INSTALL_DIR) $(1)/etc/init.d/
	$(INSTALL_BIN) ./files/etc/init.d/* $(1)/etc/init.d/
	for app in usr/iscsid usr/iscsiadm utils/iscsi_discovery utils/iscsi-iname; do \
		$(INSTALL_BIN) $(PKG_BUILD_DIR)/$$$$app $(1)/sbin ; \
	done
endef

$(eval $(call BuildPackage,open-iscsi))
#$(eval $(call KernelPackage,open-iscsi))
