lua.mk 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. ################################################################################
  2. #
  3. # lua
  4. #
  5. ################################################################################
  6. LUA_VERSION = 5.1.5
  7. LUA_SITE = http://www.lua.org/ftp
  8. LUA_INSTALL_STAGING = YES
  9. LUA_LICENSE = MIT
  10. LUA_LICENSE_FILES = COPYRIGHT
  11. LUA_CFLAGS = -Wall -fPIC
  12. LUA_MYLIBS += -ldl
  13. ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
  14. LUA_DEPENDENCIES = readline ncurses
  15. LUA_MYLIBS += -lreadline -lhistory -lncurses
  16. LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLINE
  17. else
  18. ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_LINENOISE),y)
  19. LUA_DEPENDENCIES = linenoise
  20. LUA_MYLIBS += -llinenoise
  21. LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_LINENOISE
  22. else
  23. LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN
  24. endif
  25. endif
  26. # We never want to have host-readline and host-ncurses as dependencies
  27. # of host-lua.
  28. HOST_LUA_DEPENDENCIES =
  29. HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX
  30. HOST_LUA_MYLIBS = -ldl
  31. define LUA_BUILD_CMDS
  32. $(MAKE) \
  33. CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
  34. CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \
  35. MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
  36. PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
  37. endef
  38. define HOST_LUA_BUILD_CMDS
  39. $(MAKE) \
  40. CFLAGS="$(HOST_LUA_CFLAGS)" \
  41. MYLDFLAGS="$(HOST_LDFLAGS)" \
  42. MYLIBS="$(HOST_LUA_MYLIBS)" \
  43. PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
  44. endef
  45. define LUA_INSTALL_STAGING_CMDS
  46. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  47. $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc
  48. $(INSTALL) -m 0755 -D $(@D)/src/lua $(STAGING_DIR)/usr/bin/lua
  49. $(INSTALL) -m 0755 -D $(@D)/src/luac $(STAGING_DIR)/usr/bin/luac
  50. $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
  51. $(STAGING_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  52. ln -sf liblua.so.$(LUA_VERSION) $(STAGING_DIR)/usr/lib/liblua.so
  53. $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(STAGING_DIR)/usr/lib/liblua.a
  54. $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(STAGING_DIR)/usr/include/lua.h
  55. $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(STAGING_DIR)/usr/include/luaconf.h
  56. $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(STAGING_DIR)/usr/include/lualib.h
  57. $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(STAGING_DIR)/usr/include/lauxlib.h
  58. endef
  59. ifeq ($(BR2_HAVE_DEVFILES),y)
  60. define LUA_INSTALL_DEVFILES
  61. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  62. $(TARGET_DIR)/usr/lib/pkgconfig/lua.pc
  63. $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(TARGET_DIR)/usr/include/lua.h
  64. $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(TARGET_DIR)/usr/include/luaconf.h
  65. $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(TARGET_DIR)/usr/include/lualib.h
  66. $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(TARGET_DIR)/usr/include/lauxlib.h
  67. endef
  68. endif
  69. define LUA_INSTALL_TARGET_CMDS
  70. $(INSTALL) -m 0755 -D $(@D)/src/lua $(TARGET_DIR)/usr/bin/lua
  71. $(INSTALL) -m 0755 -D $(@D)/src/luac $(TARGET_DIR)/usr/bin/luac
  72. $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
  73. $(TARGET_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  74. ln -sf liblua.so.$(LUA_VERSION) $(TARGET_DIR)/usr/lib/liblua.so
  75. $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(TARGET_DIR)/usr/lib/liblua.a
  76. $(LUA_INSTALL_DEVFILES)
  77. endef
  78. define HOST_LUA_INSTALL_CMDS
  79. $(INSTALL) -m 0755 -D $(@D)/src/lua $(HOST_DIR)/usr/bin/lua
  80. $(INSTALL) -m 0755 -D $(@D)/src/luac $(HOST_DIR)/usr/bin/luac
  81. $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
  82. $(HOST_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  83. ln -sf liblua.so.$(LUA_VERSION) $(HOST_DIR)/usr/lib/liblua.so
  84. $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(HOST_DIR)/usr/lib/liblua.a
  85. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  86. $(HOST_DIR)/usr/lib/pkgconfig/lua.pc
  87. $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(HOST_DIR)/usr/include/lua.h
  88. $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(HOST_DIR)/usr/include/luaconf.h
  89. $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(HOST_DIR)/usr/include/lualib.h
  90. $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(HOST_DIR)/usr/include/lauxlib.h
  91. endef
  92. LUA_INSTALLED_FILES = \
  93. /usr/include/lua.h \
  94. /usr/include/luaconf.h \
  95. /usr/include/lualib.h \
  96. /usr/include/lauxlib.h \
  97. /usr/lib/pkgconfig/lua.pc \
  98. /usr/bin/lua \
  99. /usr/bin/luac \
  100. /usr/lib/liblua.a \
  101. /usr/lib/liblua.so*
  102. define LUA_UNINSTALL_STAGING_CMDS
  103. for i in $(LUA_INSTALLED_FILES); do \
  104. rm -f $(STAGING_DIR)$$i; \
  105. done
  106. endef
  107. define LUA_UNINSTALL_TARGET_CMDS
  108. for i in $(LUA_INSTALLED_FILES); do \
  109. rm -f $(TARGET_DIR)$$i; \
  110. done
  111. endef
  112. define HOST_LUA_UNINSTALL_TARGET_CMDS
  113. for i in $(LUA_INSTALLED_FILES); do \
  114. rm -f $(HOST_DIR)$$i; \
  115. done
  116. endef
  117. define LUA_CLEAN_CMDS
  118. -$(MAKE) -C $(@D) clean
  119. endef
  120. define HOST_LUA_CLEAN_CMDS
  121. -$(MAKE) -C $(@D) clean
  122. endef
  123. $(eval $(generic-package))
  124. $(eval $(host-generic-package))