bumpt lcd4linux to r899
[openwrt/svn-archive/archive.git] / utils / lcd4linux / Makefile
index ec2525d1a38e3052b387a1b7c350b7542279956d..0f6e90da457497bab179b4df1cd8d787afe740ae 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007 OpenWrt.org
+# Copyright (C) 2007-2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,9 +9,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lcd4linux
-PKG_REV:=847
+PKG_REV:=899
 PKG_VERSION:=r$(PKG_REV)
-PKG_RELEASE:=3
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://ssl.bulix.org/svn/lcd4linux/trunk/
@@ -19,14 +19,24 @@ PKG_SOURCE_SUBDIR:=lcd4linux-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=$(PKG_REV)
 PKG_SOURCE_PROTO:=svn
 
+PKG_FIXUP = libtool
+
 include $(INCLUDE_DIR)/package.mk
 
 define Package/lcd4linux
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=+libncurses +libusb +libgd
+  DEPENDS:=+libusb
   TITLE:=LCD display utility
   URL:=http://lcd4linux.bulix.org/
+  MENU:=1
+endef
+
+define Package/lcd4linux/config
+       menu "Configuration"
+       depends on PACKAGE_lcd4linux
+       source "$(SOURCE)/Config.in"
+       endmenu
 endef
 
 define Package/lcd4linux/description
@@ -38,32 +48,164 @@ define Package/lcd4linux/conffiles
 /etc/lcd4linux.conf
 endef
 
-# commas are interpreted by the $(call ...) macro, so define an intermediate variable holding our drivers and plugins spec
-PKG_CONFIGURE_DRIVERS:=all,!PNG,!RouterBoard,!X11,!serdisplib
-PKG_CONFIGURE_PLUGINS:=wireless
+LCD4LINUX_DRIVERS:= \
+       BeckmannEgle \
+       BWCT \
+       CrystalFontz \
+       Curses \
+       Cwlinux \
+       G15 \
+       HD44780 \
+       LCD2USB \
+       LCDLinux \
+       LCDTerm \
+       LPH7508 \
+       LUIse \
+       M50530 \
+       MatrixOrbital \
+       MilfordInstruments \
+       Noritake \
+       NULL \
+       PNG \
+       PPM \
+       Pertelian \
+       picoLCD \
+       RouterBoard \
+       serdisplib \
+       SimpleLCD \
+       st2205 \
+       T6963 \
+       Trefon \
+       USBLCD \
+       USBHUB \
+       WincorNixdorf \
+       X11 \
+
+LCD4LINUX_PLUGINS:= \
+       apm \
+       asterisk \
+       button_exec \
+       cpuinfo \
+       diskstats \
+       dvb \
+       exec \
+       fifo \
+       file \
+       gps \
+       i2c_sensors \
+       iconv \
+       imon \
+       isdn \
+       kvv \
+       loadavg \
+       meminfo \
+       mpd \
+       mysql \
+       netdev \
+       pop3 \
+       ppp \
+       proc_stat \
+       python \
+       seti \
+       statfs \
+       uname \
+       uptime \
+       wireless \
+       xmms \
+
+LCD4LINUX_CONFIGURE_DRIVERS:= \
+       $(foreach c, $(LCD4LINUX_DRIVERS), \
+           $(if $(CONFIG_LCD4LINUX_DRV_$(c)),$(c),) \
+       )
+
+LCD4LINUX_CONFIGURE_PLUGINS:= \
+       $(foreach c, $(LCD4LINUX_PLUGINS), \
+           $(if $(CONFIG_LCD4LINUX_PLUGIN_$(c)),$(c),) \
+       )
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_PNG),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_PPM),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_G15),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_LPH7508),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_LUIse),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_Noritake),)
+PKG_BUILD_DEPENDS += libgd
+endif
 
-EXTRA_CFLAGS+=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include
-EXTRA_LDFLAGS+=-L$(STAGING_DIR)/usr/lib -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
+ifneq ($(CONFIG_LCD4LINUX_DRV_serdisplib),)
+PKG_BUILD_DEPENDS += libgd, serdisplib
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_st2205),)
+PKG_BUILD_DEPENDS += libgd, st2205tool
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_T6963),)
+PKG_BUILD_DEPENDS += libgd
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_Curses),)
+PKG_BUILD_DEPENDS += libncurses
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_DRV_X11),)
+PKG_BUILD_DEPENDS += libgd, libX11
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_PLUGIN_gps),)
+PKG_BUILD_DEPENDS += libnmeap
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_PLUGIN_iconv),)
+PKG_BUILD_DEPENDS += libiconv
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_PLUGIN_mysql),)
+PKG_BUILD_DEPENDS += libmysqlclient
+endif
+
+# XXX: lcd4linux needs at least one driver and one plugin, if none are selected, build'em all
+ifeq ($(strip $(LCD4LINUX_CONFIGURE_DRIVERS)),)
+  LCD4LINUX_CONFIGURE_DRIVERS:=all
+endif  
+ifeq ($(strip $(LCD4LINUX_CONFIGURE_PLUGINS)),)
+  LCD4LINUX_CONFIGURE_PLUGINS:=all
+endif  
+  
+## TODO PYTHON PLUGIN, DEPENDS on ver >= '2.1.0'
+
+
+EXTRA_CFLAGS+=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/lib/libiconv/include
+EXTRA_LDFLAGS+=-L$(STAGING_DIR)/usr/lib -Wl,-rpath-link,$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/usr/lib/libiconv/lib
 
 TARGET_CONFIGURE_OPTS+=\
-        CC="$(TARGET_CC) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)"
+       CC="$(TARGET_CC) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)"
 
 CONFIGURE_ARGS += \
        --without-x \
        --without-python \
-       --with-drivers="$(PKG_CONFIGURE_DRIVERS)" \
-       --with-plugins="$(PKG_CONFIGURE_PLUGINS)" \
        --disable-rpath \
+       --with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
+       --with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
 
-define Build/Configure
-       $(call Build/Configure/Default,)
-       $(call libtool_disable_rpath)
-endef
 
 define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) all
-       $(call libtool_fixup_libdir,$(PKG_INSTALL_DIR))
-       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)"
+       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install
 endef
 
 define Package/lcd4linux/install