# $FreeWRT$
#-
# This file is part of the FreeWRT project. FreeWRT is copyrighted
# material, please see the LICENCE file in the top-level directory
# or at http://www.freewrt.org/licence for details.

include $(TOPDIR)/rules.mk

PKG_NAME:=lirc
PKG_VERSION:=0.8.3
PKG_RELEASE:=1
PKG_MD5SUM:=8e78eeded7b31e5ad02e328970437c0f

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://prdownloads.sourceforge.net/lirc/$(PKG_SOURCE)
PKG_CAT:=zcat
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install

include $(TOPDIR)/mk/package.mk


ifeq ($(FWRT_LIRC_DRIVER),)
DRIVER:=none
else
DRIVER:=$(FWRT_LIRC_DRIVER)
endif

KERNEL_VERSION:=2.4.33.3

$(eval $(call PKG_template,LIRC,lirc,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))

$(WRKBUILD)/.configured:
	(cd $(WRKBUILD); \
		$(TARGET_CONFIGURE_OPTS) \
		CFLAGS="$(TARGET_CFLAGS)" \
		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
		LDFLAGS="-lgcc_s -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
		./configure \
			--target=$(GNU_TARGET_NAME) \
			--host=$(GNU_TARGET_NAME) \
			--build=$(GNU_HOST_NAME) \
			--prefix=/usr \
			--without-libiconv-prefix \
			--without-libintl-prefix \
			--disable-nls \
			--with-kerneldir=$(LINUX_DIR) \
			--with-moduledir=/lib/modules/$(KERNEL_VERSION)/ \
			--with-driver=$(DRIVER) \
			--with-transmitter \
			--without-x \
	);
	
	touch $@

$(WRKBUILD)/.built:
	rm -rf $(WRKINST)
	mkdir -p $(WRKINST)
	$(MAKE) -C $(WRKBUILD) \
		DESTDIR="$(WRKINST)" \
		all install
	touch $@

$(IPKG_LIRC):
	rm -rf $(IDIR_LIRC)/usr/bin
	rm -rf $(IDIR_LIRC)/usr/lib
	rm -rf $(IDIR_LIRC)/lib/modules/$(KERNEL_VERSION)/
	#rm -rf $(IDIR_LIRC)/dev
	install -d -m0755 $(IDIR_LIRC)/usr/bin
	install -d -m0755 $(IDIR_LIRC)/usr/lib
	install -d -m0755 $(IDIR_LIRC)/usr/sbin
	#install -d -m0755 $(IDIR_LIRC)/dev
	install -d -m0755 $(IDIR_LIRC)/lib/modules/$(KERNEL_VERSION)/
	$(CP) $(WRKINST)/usr/sbin/lircd $(IDIR_LIRC)/usr/sbin
	$(CP) $(WRKINST)/usr/sbin/lircmd $(IDIR_LIRC)/usr/sbin
	$(CP) $(WRKINST)/usr/bin/irrecord $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/bin/irsend $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/bin/mode2 $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/bin/irw $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/bin/ircat $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/bin/irexec $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/bin/irpty $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/bin/lircrcd $(IDIR_LIRC)/usr/bin
	$(CP) $(WRKINST)/usr/lib/liblirc_client.a $(IDIR_LIRC)/usr/lib
	$(CP) $(WRKINST)/usr/lib/liblirc_client.la $(IDIR_LIRC)/usr/lib
	$(CP) $(WRKINST)/usr/lib/liblirc_client.so.0.2.0 $(IDIR_LIRC)/usr/lib
	ln -s $(WRKINST)/usr/lib/liblirc_client.so.0.2.0 $(IDIR_LIRC)/usr/lib/liblirc_client.so.0
	ln -s $(WRKINST)/usr/lib/liblirc_client.so.0.2.0 $(IDIR_LIRC)/usr/lib/liblirc_client.so
	$(RSTRIP) $(IDIR_LIRC)
	cp -fpR  $(WRKINST)/lib/modules/$(KERNEL_VERSION)/* $(IDIR_LIRC)/lib/modules/$(KERNEL_VERSION)/
	#mv $(WRKINST)/dev/lirc $(IDIR_LIRC)/dev
	#mv $(WRKINST)/dev/lircd $(IDIR_LIRC)/dev
	#mv $(WRKINST)/dev/lirm $(IDIR_LIRC)/dev
	$(IPKG_BUILD) $(IDIR_LIRC) $(PACKAGE_DIR)

mostlyclean:
	make -C $(PKG_BUILD_DIR) clean
	rm $(PKG_BUILD_DIR)/.built
