luajit: new package
[feed/packages.git] / lang / luajit / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=luajit
4 PKG_VERSION:=2016-06-05-8e5d7be
5 PKG_RELEASE:=1
6 PKG_MAINTAINER:=Morteza Milani <milani@pichak.co>
7 PKG_LICENSE:=MIT
8 PKG_LICENSE_FILES:=COPYRIGHT
9
10 PKG_SOURCE_PROTO:=git
11 PKG_SOURCE_URL:=https://github.com/LuaJIT/LuaJIT.git
12 PKG_SOURCE_VERSION:=8e5d7bec0d110aa4ccd7e8492f697ff2a88a55ed
13 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
16
17 PKG_USE_MIPS16:=0
18
19 include $(INCLUDE_DIR)/package.mk
20 include $(INCLUDE_DIR)/host-build.mk
21
22 define Package/luajit
23 SECTION:=lang
24 CATEGORY:=Languages
25 TITLE:=LuaJIT
26 URL:=http://www.luajit.org
27 DEPENDS:=@(i386||x86_64||arm||armeb||powerpc||mips||mipsel)
28 endef
29
30 define Package/luajit/description
31 LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
32 endef
33
34 TARGET_CFLAGS += $(FPIC) -std=gnu99
35 HOST_CFLAGS += $(FPIC) -std=gnu99
36
37 ifeq ($(HOST_ARCH),x86_64)
38 ifeq ($(CONFIG_x86_64),)
39 HOST_BITS := -m32
40 endif
41 endif
42
43 define Build/Compile
44 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
45 HOST_CC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_BITS)" \
46 CROSS="$(TARGET_CROSS)" \
47 DPREFIX=$(PKG_INSTALL_DIR)/usr \
48 PREFIX=/usr \
49 TARGET_CFLAGS="$(TARGET_CFLAGS)"
50 rm -rf $(PKG_INSTALL_DIR)
51 mkdir -p $(PKG_INSTALL_DIR)
52 $(MAKE) -C $(PKG_BUILD_DIR) \
53 DPREFIX=$(PKG_INSTALL_DIR)/usr \
54 PREFIX=/usr \
55 install
56 endef
57
58 define Build/InstallDev
59 $(INSTALL_DIR) $(1)/usr/include/luajit-2.1
60 $(CP) $(PKG_INSTALL_DIR)/usr/include/luajit-2.1/*.h $(1)/usr/include/luajit-2.1
61 $(INSTALL_DIR) $(1)/usr/lib
62 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} $(1)/usr/lib/
63 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
64 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/luajit.pc $(1)/usr/lib/pkgconfig/
65 $(CP) $(PKG_INSTALL_DIR)/usr/bin/luajit-2.1.0-beta2 $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME)
66 endef
67
68 define Package/luajit/install
69 $(INSTALL_DIR) $(1)/usr/lib/
70 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so $(1)/usr/lib/
71 $(INSTALL_DIR) $(1)/usr/bin
72 $(CP) $(PKG_INSTALL_DIR)/usr/bin/luajit-2.1.0-beta2 $(1)/usr/bin/$(PKG_NAME)
73 endef
74
75 define Host/Compile
76 $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
77 DPREFIX=$(STAGING_DIR)/host \
78 TARGET_CFLAGS="$(HOST_CFLAGS)" \
79 TARGET_LDFLAGS="$(HOST_LDFLAGS)"
80 endef
81
82 define Host/Install
83 $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
84 DPREFIX=$(STAGING_DIR)/host \
85 install
86 $(CP) $(STAGING_DIR)/host/bin/luajit-2.1.0-beta2 $(STAGING_DIR)/host/bin/$(PKG_NAME)
87 endef
88
89 $(eval $(call HostBuild,luajit))
90 $(eval $(call BuildPackage,luajit))