lua.mk 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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_LINUX
  17. else
  18. LUA_CFLAGS += -DLUA_USE_POSIX -DLUA_USE_DLOPEN
  19. endif
  20. # We never want to have host-readline and host-ncurses as dependencies
  21. # of host-lua.
  22. HOST_LUA_DEPENDENCIES =
  23. HOST_LUA_CFLAGS = -Wall -fPIC -DLUA_USE_DLOPEN -DLUA_USE_POSIX
  24. HOST_LUA_MYLIBS = -ldl
  25. define LUA_BUILD_CMDS
  26. $(MAKE) \
  27. CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
  28. CFLAGS="$(TARGET_CFLAGS) $(LUA_CFLAGS)" \
  29. MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
  30. PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
  31. endef
  32. define HOST_LUA_BUILD_CMDS
  33. $(MAKE) \
  34. CFLAGS="$(HOST_LUA_CFLAGS)" \
  35. MYLIBS="$(HOST_LUA_MYLIBS)" \
  36. PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
  37. endef
  38. define LUA_INSTALL_STAGING_SHARED_LIB
  39. $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
  40. $(STAGING_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  41. ln -sf liblua.so.$(LUA_VERSION) $(STAGING_DIR)/usr/lib/liblua.so
  42. endef
  43. define LUA_INSTALL_STAGING_CMDS
  44. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  45. $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc
  46. $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(STAGING_DIR)/usr/lib/liblua.a
  47. $(INSTALL) -m 0755 -D $(@D)/src/lua $(STAGING_DIR)/usr/bin/lua
  48. $(INSTALL) -m 0755 -D $(@D)/src/luac $(STAGING_DIR)/usr/bin/luac
  49. $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(STAGING_DIR)/usr/include/lua.h
  50. $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(STAGING_DIR)/usr/include/luaconf.h
  51. $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(STAGING_DIR)/usr/include/lualib.h
  52. $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(STAGING_DIR)/usr/include/lauxlib.h
  53. endef
  54. define LUA_INSTALL_INTERPRETER
  55. $(INSTALL) -m 0755 -D $(@D)/src/lua $(TARGET_DIR)/usr/bin/lua
  56. endef
  57. define LUA_INSTALL_COMPILER
  58. $(INSTALL) -m 0755 -D $(@D)/src/luac $(TARGET_DIR)/usr/bin/luac
  59. endef
  60. define LUA_INSTALL_LIBRARY
  61. $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
  62. $(TARGET_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  63. ln -sf liblua.so.$(LUA_VERSION) $(TARGET_DIR)/usr/lib/liblua.so
  64. $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(TARGET_DIR)/usr/lib/liblua.a
  65. endif
  66. ifeq ($(BR2_HAVE_DEVFILES),y)
  67. define LUA_INSTALL_DEVFILES
  68. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  69. $(TARGET_DIR)/usr/lib/pkgconfig/lua.pc
  70. $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(TARGET_DIR)/usr/include/lua.h
  71. $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(TARGET_DIR)/usr/include/luaconf.h
  72. $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(TARGET_DIR)/usr/include/lualib.h
  73. $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(TARGET_DIR)/usr/include/lauxlib.h
  74. endef
  75. endif
  76. define LUA_INSTALL_TARGET_CMDS
  77. $(LUA_INSTALL_INTERPRETER)
  78. $(LUA_INSTALL_COMPILER)
  79. $(LUA_INSTALL_LIBRARY)
  80. $(LUA_INSTALL_DEVFILES)
  81. endef
  82. define HOST_LUA_INSTALL_CMDS
  83. $(INSTALL) -m 0755 -D $(@D)/src/lua $(HOST_DIR)/usr/bin/lua
  84. $(INSTALL) -m 0755 -D $(@D)/src/luac $(HOST_DIR)/usr/bin/luac
  85. $(INSTALL) -m 0755 -D $(@D)/src/liblua.so.$(LUA_VERSION) \
  86. $(HOST_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  87. ln -sf liblua.so.$(LUA_VERSION) $(HOST_DIR)/usr/lib/liblua.so
  88. $(INSTALL) -m 0644 -D $(@D)/src/liblua.a $(HOST_DIR)/usr/lib/liblua.a
  89. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  90. $(HOST_DIR)/usr/lib/pkgconfig/lua.pc
  91. $(INSTALL) -m 0644 -D $(@D)/src/lua.h $(HOST_DIR)/usr/include/lua.h
  92. $(INSTALL) -m 0644 -D $(@D)/src/luaconf.h $(HOST_DIR)/usr/include/luaconf.h
  93. $(INSTALL) -m 0644 -D $(@D)/src/lualib.h $(HOST_DIR)/usr/include/lualib.h
  94. $(INSTALL) -m 0644 -D $(@D)/src/lauxlib.h $(HOST_DIR)/usr/include/lauxlib.h
  95. endef
  96. LUA_INSTALLED_FILES = \
  97. /usr/include/lua.h \
  98. /usr/include/luaconf.h \
  99. /usr/include/lualib.h \
  100. /usr/include/lauxlib.h \
  101. /usr/lib/pkgconfig/lua.pc \
  102. /usr/bin/lua \
  103. /usr/bin/luac \
  104. /usr/lib/liblua.a \
  105. /usr/lib/liblua.so*
  106. define LUA_UNINSTALL_STAGING_CMDS
  107. for i in $(LUA_INSTALLED_FILES); do \
  108. rm -f $(STAGING_DIR)$$i; \
  109. done
  110. endef
  111. define LUA_UNINSTALL_TARGET_CMDS
  112. for i in $(LUA_INSTALLED_FILES); do \
  113. rm -f $(TARGET_DIR)$$i; \
  114. done
  115. endef
  116. define HOST_LUA_UNINSTALL_TARGET_CMDS
  117. for i in $(LUA_INSTALLED_FILES); do \
  118. rm -f $(HOST_DIR)$$i; \
  119. done
  120. endef
  121. define LUA_CLEAN_CMDS
  122. -$(MAKE) -C $(@D) clean
  123. endef
  124. define HOST_LUA_CLEAN_CMDS
  125. -$(MAKE) -C $(@D) clean
  126. endef
  127. $(eval $(generic-package))
  128. $(eval $(host-generic-package))