fbe7b4052f7dc32fad57f3533b8ad951f46c6faf
[openwrt/svn-archive/archive.git] / utils / lcd4linux / Makefile
1 #
2 # Copyright (C) 2007-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=lcd4linux
11 PKG_REV:=1143
12 PKG_VERSION:=r$(PKG_REV)
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=https://ssl.bulix.org/svn/lcd4linux/trunk/
17 PKG_SOURCE_SUBDIR:=lcd4linux-$(PKG_VERSION)
18 PKG_SOURCE_VERSION:=$(PKG_REV)
19 PKG_SOURCE_PROTO:=svn
20
21 PKG_FIXUP:=libtool
22 PKG_INSTALL:=1
23
24 PKG_BUILD_DEPENDS:= \
25 libdbus \
26 libgd \
27 libmysqlclient \
28 libncurses \
29 libnmeap \
30 libsqlite3 \
31 libvncserver \
32 ppp \
33 serdisplib \
34 st2205tool \
35 # libftdi \
36 # libmpdclient \
37 # libX11 \
38 # python \
39
40 include $(INCLUDE_DIR)/package.mk
41 include $(INCLUDE_DIR)/nls.mk
42
43 define Package/lcd4linux
44 SECTION:=utils
45 CATEGORY:=Utilities
46 DEPENDS:= \
47 +LCD4LINUX_NEEDS_libdbus:libdbus \
48 +LCD4LINUX_NEEDS_libgd:libgd \
49 $(if $(ICONV_FULL),+LCD4LINUX_NEEDS_libiconv:libiconv-full) \
50 +LCD4LINUX_NEEDS_libmysqlclient:libmysqlclient \
51 +LCD4LINUX_NEEDS_libncurses:libncurses \
52 +LCD4LINUX_NEEDS_libnmeap:libnmeap \
53 +LCD4LINUX_NEEDS_libsqlite3:libsqlite3 \
54 +LCD4LINUX_NEEDS_libusb:libusb \
55 +LCD4LINUX_NEEDS_libvncserver:libvncserver \
56 +LCD4LINUX_NEEDS_serdisplib:serdisplib \
57 +LCD4LINUX_NEEDS_st2205tool:st2205tool \
58 # +LCD4LINUX_NEEDS_libftdi:libftdi \
59 # +LCD4LINUX_NEEDS_libmpdclient:libmpdclient \
60 # +LCD4LINUX_NEEDS_libX11:libX11 \
61 # +LCD4LINUX_NEEDS_python:python
62 TITLE:=LCD display utility
63 URL:=http://lcd4linux.bulix.org/
64 MENU:=1
65 MAINTAINER:=Jonathan McCrohan <jmccrohan@gmail.com>
66 endef
67
68 define Package/lcd4linux/config
69 menu "Configuration"
70 depends on PACKAGE_lcd4linux
71 source "$(SOURCE)/Config.in"
72 endmenu
73 endef
74
75 define Package/lcd4linux/description
76 LCD4Linux is a small program that grabs information from the kernel and
77 some subsystems and displays it on an external liquid crystal display.
78 endef
79
80 define Package/lcd4linux/conffiles
81 /etc/lcd4linux.conf
82 endef
83
84 LCD4LINUX_DRIVERS:= \
85 BeckmannEgle \
86 BWCT \
87 CrystalFontz \
88 Curses \
89 Cwlinux \
90 D4D \
91 EA232graphic \
92 G15 \
93 GLCD2USB \
94 IRLCD \
95 HD44780 \
96 HD44780-I2C \
97 LCD2USB \
98 LCDLinux \
99 LCDTerm \
100 LEDMatrix \
101 LPH7508 \
102 LUIse \
103 LW_ABP \
104 M50530 \
105 MatrixOrbital \
106 MatrixOrbitalGX \
107 MilfordInstruments \
108 Noritake \
109 NULL \
110 Pertelian \
111 PHAnderson \
112 PICGraphic \
113 picoLCD \
114 picoLCDGraphic \
115 PNG \
116 PPM \
117 RouterBoard \
118 serdisplib \
119 ShuttleVFD \
120 SimpleLCD \
121 st2205 \
122 T6963 \
123 Trefon \
124 ULA200 \
125 USBHUB \
126 USBLCD \
127 VNC \
128 WincorNixdorf \
129 X11 \
130
131 LCD4LINUX_PLUGINS:= \
132 apm \
133 asterisk \
134 button_exec \
135 cpuinfo \
136 dbus \
137 diskstats \
138 dvb \
139 event \
140 exec \
141 fifo \
142 file \
143 gps \
144 hddtemp \
145 huawei \
146 i2c_sensors \
147 iconv \
148 imon \
149 isdn \
150 kvv \
151 loadavg \
152 netdev \
153 netinfo \
154 meminfo \
155 mpd \
156 mpris_dbus \
157 mysql \
158 netdev \
159 pop3 \
160 ppp \
161 proc_stat \
162 python \
163 qnaplog \
164 seti \
165 statfs \
166 uname \
167 uptime \
168 w1retap \
169 wireless \
170 xmms \
171
172 LCD4LINUX_CONFIGURE_DRIVERS:= \
173 $(foreach c, $(LCD4LINUX_DRIVERS), \
174 $(if $(CONFIG_LCD4LINUX_DRV_$(c)),$(c),) \
175 )
176
177 LCD4LINUX_CONFIGURE_PLUGINS:= \
178 $(foreach c, $(LCD4LINUX_PLUGINS), \
179 $(if $(CONFIG_LCD4LINUX_PLUGIN_$(c)),$(c),) \
180 )
181
182 ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_DRIVER),)
183 LCD4LINUX_CONFIGURE_DRIVERS:=Sample
184 endif
185
186 ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_PLUGIN),)
187 LCD4LINUX_CONFIGURE_PLUGINS:=sample
188 endif
189
190 CONFIGURE_ARGS+= \
191 --disable-rpath \
192 --with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
193 --with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
194
195 EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
196
197 ifneq ($(CONFIG_LCD4LINUX_NEEDS_libiconv),)
198 CONFIGURE_ARGS+= \
199 --with-libiconv-prefix="$(ICONV_PREFIX)"
200 else
201 CONFIGURE_ARGS+= \
202 --without-libiconv-prefix
203 endif
204
205 ifneq ($(CONFIG_LCD4LINUX_NEEDS_libmysqlclient),)
206 EXTRA_LDFLAGS+= -L$(STAGING_DIR)/usr/lib/mysql
207 endif
208
209 ifneq ($(CONFIG_LCD4LINUX_NEEDS_python),)
210 CONFIGURE_ARGS+= --with-python
211 else
212 CONFIGURE_ARGS+= --without-python
213 endif
214
215 ifneq ($(CONFIG_LCD4LINUX_NEEDS_libX11),)
216 CONFIGURE_ARGS+= --with-x
217 else
218 CONFIGURE_ARGS+= --without-x
219 endif
220
221
222 define Package/lcd4linux/install
223 $(INSTALL_DIR) $(1)/usr/bin
224 $(CP) $(PKG_INSTALL_DIR)/usr/bin/lcd4linux $(1)/usr/bin/
225 $(INSTALL_DIR) $(1)/etc
226 $(INSTALL_CONF) ./files/lcd4linux.conf $(1)/etc/
227 $(INSTALL_DIR) $(1)/etc/init.d
228 $(INSTALL_BIN) ./files/lcd4linux.init $(1)/etc/init.d/lcd4linux
229 endef
230
231 $(eval $(call BuildPackage,lcd4linux))