afd599a3716ebbb2291efc3a2f466e32c72d882d
[openwrt.git] / package / lua / Makefile
1 #
2 # Copyright (C) 2006-2008 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:=lua
11 PKG_VERSION:=5.1.4
12 PKG_RELEASE:=3
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
16 http://ftp.gwdg.de/pub/languages/lua/ \
17 http://mirrors.dotsrc.org/lua/ \
18 http://www.tecgraf.puc-rio.br/lua/ftp/
19 PKG_MD5SUM:=d0870f2de55d59c1c8419f36e8fac150
20
21 include $(INCLUDE_DIR)/package.mk
22
23 define Package/lua/Default
24 SUBMENU:=LUA
25 SECTION:=lang
26 CATEGORY:=Languages
27 TITLE:=LUA programming language
28 URL:=http://www.lua.org/
29 endef
30
31 define Package/lua/Default/description
32 Lua is a powerful light-weight programming language designed for extending
33 applications. Lua is also frequently used as a general-purpose, stand-alone
34 language. Lua is free software.
35 endef
36
37 define Package/liblua
38 $(call Package/lua/Default)
39 SUBMENU:=
40 SECTION:=libs
41 CATEGORY:=Libraries
42 TITLE+= (libraries)
43 endef
44
45 define Package/liblua/description
46 $(call Package/lua/Default/description)
47 This package contains the LUA shared libraries, needed by other programs.
48 endef
49
50 define Package/lua
51 $(call Package/lua/Default)
52 DEPENDS:=+liblua
53 TITLE+= (interpreter)
54 endef
55
56 define Package/lua/description
57 $(call Package/lua/Default/description)
58 This package contains the LUA language interpreter.
59 endef
60
61 define Package/luac
62 $(call Package/lua/Default)
63 DEPENDS:=+liblua
64 TITLE+= (compiler)
65 endef
66
67 define Package/luac/description
68 $(call Package/lua/Default/description)
69 This package contains the LUA language compiler.
70 endef
71
72 define Package/lua-examples
73 $(call Package/lua/Default)
74 DEPENDS:=lua
75 TITLE+= (examples)
76 endef
77
78 define Package/lua-examples/description
79 $(call Package/lua/Default/description)
80 This package contains LUA language examples.
81 endef
82
83 define Build/Configure
84 endef
85
86 TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC)
87
88 ifneq ($(CONFIG_USE_EGLIBC),)
89 ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),)
90 TARGET_CFLAGS += -DNO_GETLOGIN
91 endif
92 endif
93
94 define Build/Compile
95 $(MAKE) -C $(PKG_BUILD_DIR) \
96 CC="$(TARGET_CROSS)gcc" \
97 AR="$(TARGET_CROSS)ar rcu" \
98 RANLIB="$(TARGET_CROSS)ranlib" \
99 INSTALL_ROOT=/usr \
100 CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
101 MYLDFLAGS="$(TARGET_LDFLAGS)" \
102 PKG_VERSION=$(PKG_VERSION) \
103 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 $(CP) $(PKG_INSTALL_DIR)/usr/include/lnum_config.h $(1)/usr/include/
116 mkdir -p $(1)/usr/lib
117 $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.{a,so*} $(1)/usr/lib/
118 ln -sf liblua.so.$(PKG_VERSION) $(1)/usr/lib/liblualib.so
119 endef
120
121 define Package/liblua/install
122 $(INSTALL_DIR) $(1)/usr/lib
123 $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.so.* $(1)/usr/lib/
124 endef
125
126 define Package/lua/install
127 $(INSTALL_DIR) $(1)/usr/bin
128 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua $(1)/usr/bin/
129 endef
130
131 define Package/luac/install
132 $(INSTALL_DIR) $(1)/usr/bin
133 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac $(1)/usr/bin/
134 endef
135
136 define Package/lua-examples/install
137 $(INSTALL_DIR) $(1)/usr/share/lua/examples
138 $(INSTALL_DATA) $(PKG_BUILD_DIR)/test/*.lua \
139 $(1)/usr/share/lua/examples/
140 endef
141
142 $(eval $(call BuildPackage,liblua))
143 $(eval $(call BuildPackage,lua))
144 $(eval $(call BuildPackage,luac))
145 $(eval $(call BuildPackage,lua-examples))
This page took 0.044985 seconds and 3 git commands to generate.