[packages] net/freeswitch: Remove shell-script based UCI config. It breaks on restar...
[openwrt/svn-archive/archive.git] / utils / lcd4linux / Makefile
index 01aa86d9f309f627f672fa1d62dd70ea2e7462d3..55e112de4f6b46e5c6e2345a01faae6e0f8b3b95 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2008 OpenWrt.org
+# Copyright (C) 2007-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,9 +8,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lcd4linux
-PKG_REV:=903
+PKG_REV:=1116
 PKG_VERSION:=r$(PKG_REV)
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://ssl.bulix.org/svn/lcd4linux/trunk/
@@ -18,14 +18,47 @@ PKG_SOURCE_SUBDIR:=lcd4linux-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=$(PKG_REV)
 PKG_SOURCE_PROTO:=svn
 
-PKG_FIXUP = libtool
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
+
+PKG_BUILD_DEPENDS:= \
+       libdbus \
+       libgd \
+       libiconv \
+       libmysqlclient \
+       libncurses \
+       libnmeap \
+       libsqlite3 \
+       libvncserver \
+       ppp \
+       serdisplib \
+       st2205tool \
+#      libftdi \
+#      libmpdclient \
+#      libX11 \
+#      python \
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/lcd4linux
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=+libusb
+  DEPENDS:= \
+       +LCD4LINUX_NEEDS_libdbus:libdbus \
+       +LCD4LINUX_NEEDS_libgd:libgd \
+       +LCD4LINUX_NEEDS_libiconv:libiconv \
+       +LCD4LINUX_NEEDS_libmysqlclient:libmysqlclient \
+       +LCD4LINUX_NEEDS_libncurses:libncurses \
+       +LCD4LINUX_NEEDS_libnmeap:libnmeap \
+       +LCD4LINUX_NEEDS_libsqlite3:libsqlite3 \
+       +LCD4LINUX_NEEDS_libusb:libusb \
+       +LCD4LINUX_NEEDS_libvncserver:libvncserver \
+       +LCD4LINUX_NEEDS_serdisplib:serdisplib \
+       +LCD4LINUX_NEEDS_st2205tool:st2205tool \
+#      +LCD4LINUX_NEEDS_libftdi:libftdi \
+#      +LCD4LINUX_NEEDS_libmpdclient:libmpdclient \
+#      +LCD4LINUX_NEEDS_libX11:libX11 \
+#      +LCD4LINUX_NEEDS_python:python
   TITLE:=LCD display utility
   URL:=http://lcd4linux.bulix.org/
   MENU:=1
@@ -33,14 +66,14 @@ endef
 
 define Package/lcd4linux/config
        menu "Configuration"
-       depends on PACKAGE_lcd4linux
-       source "$(SOURCE)/Config.in"
+               depends on PACKAGE_lcd4linux
+               source "$(SOURCE)/Config.in"
        endmenu
 endef
 
 define Package/lcd4linux/description
      LCD4Linux is a small program that grabs information from the kernel and 
      some subsystems and displays it on an external liquid crystal display.
+ LCD4Linux is a small program that grabs information from the kernel and 
+ some subsystems and displays it on an external liquid crystal display.
 endef
 
 define Package/lcd4linux/conffiles
@@ -54,33 +87,43 @@ LCD4LINUX_DRIVERS:= \
        Curses \
        Cwlinux \
        D4D \
+       EA232graphic \
        G15 \
+       GLCD2USB \
        IRLCD \
        HD44780 \
+       HD44780-I2C \
        LCD2USB \
        LCDLinux \
        LCDTerm \
+       LEDMatrix \
        LPH7508 \
        LUIse \
+       LW_ABP \
        M50530 \
        MatrixOrbital \
+       MatrixOrbitalGX \
        MilfordInstruments \
        Noritake \
        NULL \
-       PNG \
-       PPM \
        Pertelian \
+       PHAnderson \
+       PICGraphic \
        picoLCD \
        picoLCDGraphic \
+       PNG \
+       PPM \
        RouterBoard \
        serdisplib \
+       ShuttleVFD \
        SimpleLCD \
        st2205 \
        T6963 \
        Trefon \
-       USBLCD \
-       USBHUB \
        ULA200 \
+       USBHUB \
+       USBLCD \
+       VNC \
        WincorNixdorf \
        X11 \
 
@@ -89,30 +132,39 @@ LCD4LINUX_PLUGINS:= \
        asterisk \
        button_exec \
        cpuinfo \
+       dbus \
        diskstats \
        dvb \
+       event \
        exec \
        fifo \
        file \
        gps \
+       hddtemp \
+       huawei \
        i2c_sensors \
        iconv \
        imon \
        isdn \
        kvv \
        loadavg \
+       netdev \
+       netinfo \
        meminfo \
        mpd \
+       mpris_dbus \
        mysql \
        netdev \
        pop3 \
        ppp \
        proc_stat \
        python \
+       qnaplog \
        seti \
        statfs \
        uname \
        uptime \
+       w1retap \
        wireless \
        xmms \
 
@@ -126,98 +178,53 @@ LCD4LINUX_CONFIGURE_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
+ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_DRIVER),)
+  LCD4LINUX_CONFIGURE_DRIVERS:=Sample
 endif
 
-ifneq ($(CONFIG_LCD4LINUX_DRV_Noritake),)
-PKG_BUILD_DEPENDS += libgd
+ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_PLUGIN),)
+  LCD4LINUX_CONFIGURE_PLUGINS:=sample
 endif
 
-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
+CONFIGURE_ARGS+= \
+       --disable-rpath \
+       --with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
+       --with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
 
-ifneq ($(CONFIG_LCD4LINUX_DRV_Curses),)
-PKG_BUILD_DEPENDS += libncurses
-endif
+EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
 
-ifneq ($(CONFIG_LCD4LINUX_DRV_X11),)
-PKG_BUILD_DEPENDS += libgd, libX11
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_libiconv),)
+  CONFIGURE_ARGS+= \
+       --with-libiconv-prefix="$(STAGING_DIR)/usr/lib/libiconv"
+else
+  CONFIGURE_ARGS+= \
+       --without-libiconv-prefix
 endif
 
-ifneq ($(CONFIG_LCD4LINUX_PLUGIN_gps),)
-PKG_BUILD_DEPENDS += libnmeap
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_libmysqlclient),)
+  EXTRA_LDFLAGS+= -L$(STAGING_DIR)/usr/lib/mysql
 endif
 
-ifneq ($(CONFIG_LCD4LINUX_PLUGIN_iconv),)
-PKG_BUILD_DEPENDS += libiconv
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_python),)
+  CONFIGURE_ARGS+= --with-python
+else
+  CONFIGURE_ARGS+= --without-python
 endif
 
-ifneq ($(CONFIG_LCD4LINUX_PLUGIN_mysql),)
-PKG_BUILD_DEPENDS += libmysqlclient
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_libX11),)
+  CONFIGURE_ARGS+= --with-x
+else
+  CONFIGURE_ARGS+= --without-x
 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)"
-
-CONFIGURE_ARGS += \
-       --without-x \
-       --without-python \
-       --disable-rpath \
-       --with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
-       --with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
-
-
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install
-endef
 
 define Package/lcd4linux/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/lcd4linux $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/etc
-       $(INSTALL_CONF) ./files/$(PKG_NAME).conf $(1)/etc/$(PKG_NAME).conf
+       $(INSTALL_CONF) ./files/lcd4linux.conf $(1)/etc/
        $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
+       $(INSTALL_BIN) ./files/lcd4linux.init $(1)/etc/init.d/lcd4linux
 endef
 
 $(eval $(call BuildPackage,lcd4linux))