2 # Copyright (C) 2006-2014 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:=http
://www.lua.org
/ftp
/ \
16 http
://www.tecgraf.puc-rio.br
/lua
/ftp
/
17 PKG_HASH
:=2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333
21 PKG_LICENSE_FILES
:=COPYRIGHT
23 HOST_PATCH_DIR
:= .
/patches-host
25 include $(INCLUDE_DIR
)/package.mk
26 include $(INCLUDE_DIR
)/host-build.mk
28 define Package
/lua
/Default
32 TITLE
:=Lua programming language
33 URL
:=http
://www.lua.org
/
34 MAINTAINER
:=Jo-Philipp Wich
<jo@mein.io
>
37 define Package
/lua
/Default
/description
38 Lua is a powerful light-weight programming language designed for extending
39 applications. Lua is also frequently used
as a general-purpose
, stand-alone
40 language. Lua is free software.
44 $(call Package
/lua
/Default
)
51 define Package
/liblua
/description
52 $(call Package
/lua
/Default
/description
)
53 This package contains the Lua shared libraries
, needed by other programs.
57 $(call Package
/lua
/Default
)
62 define Package
/lua
/description
63 $(call Package
/lua
/Default
/description
)
64 This package contains the Lua language interpreter.
68 $(call Package
/lua
/Default
)
73 define Package
/luac
/description
74 $(call Package
/lua
/Default
/description
)
75 This package contains the Lua language compiler.
78 define Package
/lua-examples
79 $(call Package
/lua
/Default
)
84 define Package
/lua-examples
/description
85 $(call Package
/lua
/Default
/description
)
86 This package contains Lua language examples.
89 define Build
/Configure
92 TARGET_CFLAGS
+= -DLUA_USE_LINUX
$(FPIC
) -std
=gnu99
95 $(MAKE
) $(PKG_JOBS
) -C
$(PKG_BUILD_DIR
) \
96 CC
="$(TARGET_CROSS)gcc" \
97 AR
="$(TARGET_CROSS)ar rcu" \
98 RANLIB
="$(TARGET_CROSS)ranlib" \
100 CFLAGS
="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
101 MYLDFLAGS
="$(TARGET_LDFLAGS)" \
102 PKG_VERSION
=$(PKG_VERSION
) \
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" \
111 define Host
/Configure
112 $(SED
) 's,"/usr/local/","$(STAGING_DIR_HOSTPKG)/",' $(HOST_BUILD_DIR
)/src
/luaconf.h
115 ifeq ($(HOST_OS
),Darwin
)
118 ifeq ($(HOST_OS
),FreeBSD
)
126 $(MAKE
) -C
$(HOST_BUILD_DIR
) \
127 CC
="$(HOSTCC) -std=gnu99" \
132 $(MAKE
) -C
$(HOST_BUILD_DIR
) \
133 INSTALL_TOP
="$(STAGING_DIR_HOSTPKG)" \
137 define Build
/InstallDev
138 $(INSTALL_DIR
) $(1)/usr
/include
139 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/lua
{,lib
,conf
}.h
$(1)/usr
/include/
140 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/lauxlib.h
$(1)/usr
/include/
141 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/lnum_config.h
$(1)/usr
/include/
142 $(INSTALL_DIR
) $(1)/usr
/lib
143 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/liblua.
{a
,so
*} $(1)/usr
/lib
/
144 $(LN
) liblua.so.
$(PKG_VERSION
) $(1)/usr
/lib
/liblualib.so
145 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
146 $(CP
) $(PKG_BUILD_DIR
)/etc
/lua.
pc $(1)/usr
/lib
/pkgconfig
/
149 define Package
/liblua
/install
150 $(INSTALL_DIR
) $(1)/usr
/lib
151 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/liblua.so.
* $(1)/usr
/lib
/
154 define Package
/lua
/install
155 $(INSTALL_DIR
) $(1)/usr
/bin
156 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/lua
$(1)/usr
/bin
/
159 define Package
/luac
/install
160 $(INSTALL_DIR
) $(1)/usr
/bin
161 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/luac
$(1)/usr
/bin
/
164 define Package
/lua-examples
/install
165 $(INSTALL_DIR
) $(1)/usr
/share
/lua
/examples
166 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/test/*.lua \
167 $(1)/usr
/share
/lua
/examples
/
170 $(eval
$(call BuildPackage
,liblua
))
171 $(eval
$(call BuildPackage
,lua
))
172 $(eval
$(call BuildPackage
,luac
))
173 $(eval
$(call BuildPackage
,lua-examples
))
174 $(eval
$(call HostBuild
))