6017d3db3fb12841182fa48147364f60e50d2a93
[packages.git] / lang / lua / Makefile
1
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=lua
12 PKG_VERSION:=5.1.2
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
17         http://ftp.gwdg.de/pub/languages/lua/ \
18         http://mirrors.dotsrc.org/lua/ \
19         http://www.tecgraf.puc-rio.br/lua/ftp/
20 PKG_MD5SUM:=687ce4c2a1ddff18f1008490fdc4e5e0
21 PKG_CAT:=zcat
22
23 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
24 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/lua/Default
29   SUBMENU:=LUA
30   SECTION:=lang
31   CATEGORY:=Languages
32   TITLE:=LUA programming language
33   URL:=http://www.lua.org/
34 endef
35
36 define Package/liblua
37   $(call Package/lua/Default)
38   SUBMENU:=
39   SECTION:=libs
40   CATEGORY:=Libraries
41   TITLE+= (libraries)
42 endef
43
44 define Package/liblua/description
45 =
46         Lua is a powerful light-weight programming language designed for extending 
47         applications. Lua is also frequently used as a general-purpose, stand-alone 
48         language. Lua is free software. This package contains the LUA shared libraries, needed by other programs.
49 endef
50
51 define Package/lua
52   $(call Package/lua/Default)
53   DEPENDS:=+liblua +libreadline +libncurses
54   TITLE+= (interpreter)
55 endef
56
57 define Package/lua/description
58 =
59         Lua is a powerful light-weight programming language designed for extending 
60         applications. Lua is also frequently used as a general-purpose, stand-alone 
61         language. Lua is free software. This package contains the LUA language interpreter.
62 endef
63
64 define Package/luac
65   $(call Package/lua/Default)
66   DEPENDS:=+liblua
67   TITLE+= (compiler)
68 endef
69
70 define Package/luac/description
71 =
72         Lua is a powerful light-weight programming language designed for extending 
73         applications. Lua is also frequently used as a general-purpose, stand-alone 
74         language. Lua is free software. This package contains the LUA language compiler.
75 endef
76
77 define Package/lua-examples
78   $(call Package/lua/Default)
79   DEPENDS:=lua
80   TITLE+= (examples)
81 endef
82
83 define Package/lua-examples/description
84 =
85         Lua is a powerful light-weight programming language designed for extending 
86         applications. Lua is also frequently used as a general-purpose, stand-alone 
87         language. Lua is free software. This package contains LUA language examples.
88 endef
89
90 define Build/Configure
91 endef
92
93 define Build/Compile
94         $(MAKE) -C $(PKG_BUILD_DIR) \
95                 CC="$(TARGET_CROSS)gcc" \
96                 LD="$(TARGET_CROSS)ld" \
97                 AR="$(TARGET_CROSS)ar rcu" \
98                 RANLIB="$(TARGET_CROSS)ranlib" \
99                 INSTALL_ROOT=/usr \
100                 MYCFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
101                 MYLDFLAGS="$(TARGET_LDFLAGS)" \
102                 PKG_VERSION=$(PKG_VERSION) \
103                 all linux 
104         rm -rf $(PKG_INSTALL_DIR)
105         mkdir -p $(PKG_INSTALL_DIR)
106         $(MAKE) -C $(PKG_BUILD_DIR) \
107                 INSTALL_TOP="$(PKG_INSTALL_DIR)/usr" \
108                 install
109 endef
110
111 define Build/InstallDev
112         mkdir -p $(1)/usr/include
113         $(CP) $(PKG_INSTALL_DIR)/usr/include/lua{,lib,conf}.h $(1)/usr/include/
114         $(CP) $(PKG_INSTALL_DIR)/usr/include/lauxlib.h $(1)/usr/include/
115         mkdir -p $(1)/usr/lib
116         $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.{a,so.*} $(1)/usr/lib/
117         ln -sf liblua.so.$(PKG_VERSION) $(1)/usr/lib/liblua.so
118         ln -sf liblua.so.$(PKG_VERSION) $(1)/usr/lib/liblualib.so
119 endef
120
121 define Build/UninstallDev
122         rm -rf \
123                 $(STAGING_DIR)/usr/include/lua{,lib,conf}.h \
124                 $(STAGING_DIR)/usr/include/lauxlib.h \
125                 $(STAGING_DIR)/usr/lib/liblua.{a,so*}
126 endef
127
128 define Package/liblua/install
129         $(INSTALL_DIR) $(1)/usr/lib
130         $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.so.* $(1)/usr/lib/
131 endef
132
133 define Package/lua/install
134         $(INSTALL_DIR) $(1)/usr/bin
135         $(CP) $(PKG_INSTALL_DIR)/usr/bin/lua $(1)/usr/bin/
136 endef
137
138 define Package/luac/install
139         $(INSTALL_DIR) $(1)/usr/bin
140         $(CP) $(PKG_INSTALL_DIR)/usr/bin/luac $(1)/usr/bin/
141 endef
142
143 define Package/lua-examples/install
144         $(INSTALL_DIR) $(1)/usr/share/lua/examples
145         $(INSTALL_DATA) $(PKG_BUILD_DIR)/test/*.lua \
146                 $(1)/usr/share/lua/examples/
147 endef
148
149 $(eval $(call BuildPackage,liblua))
150 $(eval $(call BuildPackage,lua))
151 $(eval $(call BuildPackage,luac))
152 $(eval $(call BuildPackage,lua-examples))