lua.mk 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #############################################################
  2. #
  3. # lua
  4. #
  5. #############################################################
  6. LUA_VERSION = 5.1.4
  7. LUA_SITE = http://www.lua.org/ftp
  8. LUA_INSTALL_STAGING = YES
  9. ifeq ($(BR2_PACKAGE_LUA_SHARED_LIBRARY),y)
  10. LUA_MYCFLAGS += -fPIC -DLUA_USE_DLOPEN
  11. LUA_MYLIBS += -ldl
  12. endif
  13. ifeq ($(BR2_PACKAGE_LUA_INTERPRETER_READLINE),y)
  14. LUA_DEPENDENCIES = readline ncurses
  15. LUA_MYLIBS += -lreadline -lhistory -lncurses
  16. LUA_MYCFLAGS += -DLUA_USE_LINUX
  17. else
  18. LUA_MYCFLAGS += -DLUA_USE_POSIX
  19. endif
  20. define LUA_BUILD_CMDS
  21. sed -i -e 's/-O2//' $(@D)/src/Makefile
  22. sed -i -e 's/\/usr\/local/\/usr/' $(@D)/etc/lua.pc
  23. $(MAKE) \
  24. CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
  25. MYCFLAGS="$(TARGET_CFLAGS) $(LUA_MYCFLAGS)" \
  26. MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
  27. PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
  28. endef
  29. ifeq ($(BR2_PACKAGE_LUA_SHARED_LIBRARY),y)
  30. define LUA_INSTALL_STAGING_SHARED_LIB
  31. $(INSTALL) -D $(@D)/src/liblua.so.$(LUA_VERSION) \
  32. $(STAGING_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  33. ln -sf liblua.so.$(LUA_VERSION) $(STAGING_DIR)/usr/lib/liblua.so
  34. endef
  35. endif
  36. define LUA_INSTALL_STAGING_CMDS
  37. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  38. $(STAGING_DIR)/usr/lib/pkgconfig/lua.pc
  39. $(INSTALL) $(@D)/src/liblua.a $(STAGING_DIR)/usr/lib
  40. $(INSTALL) $(@D)/src/lua $(STAGING_DIR)/usr/bin
  41. $(INSTALL) $(@D)/src/luac $(STAGING_DIR)/usr/bin
  42. $(INSTALL) $(@D)/src/lua.h $(STAGING_DIR)/usr/include
  43. $(INSTALL) $(@D)/src/luaconf.h $(STAGING_DIR)/usr/include
  44. $(INSTALL) $(@D)/src/lualib.h $(STAGING_DIR)/usr/include
  45. $(INSTALL) $(@D)/src/lauxlib.h $(STAGING_DIR)/usr/include
  46. endef
  47. ifeq ($(BR2_PACKAGE_LUA_INTERPRETER),y)
  48. define LUA_INSTALL_INTERPRETER
  49. $(INSTALL) $(@D)/src/lua $(TARGET_DIR)/usr/bin
  50. endef
  51. endif
  52. ifeq ($(BR2_PACKAGE_LUA_COMPILER),y)
  53. define LUA_INSTALL_COMPILER
  54. $(INSTALL) $(@D)/src/luac $(TARGET_DIR)/usr/bin
  55. endef
  56. endif
  57. ifeq ($(BR2_PACKAGE_LUA_SHARED_LIBRARY),y)
  58. define LUA_INSTALL_LIBRARY
  59. $(INSTALL) $(@D)/src/liblua.so.$(LUA_VERSION) \
  60. $(TARGET_DIR)/usr/lib/liblua.so.$(LUA_VERSION)
  61. ln -sf liblua.so.$(LUA_VERSION) $(TARGET_DIR)/usr/lib/liblua.so
  62. $(INSTALL) $(@D)/src/liblua.a $(TARGET_DIR)/usr/lib/liblua.a
  63. endef
  64. else
  65. define LUA_INSTALL_LIBRARY
  66. $(INSTALL) $(@D)/src/liblua.a $(TARGET_DIR)/usr/lib/liblua.a
  67. endef
  68. endif
  69. ifeq ($(BR2_HAVE_DEVFILES),y)
  70. define LUA_INSTALL_DEVFILES
  71. $(INSTALL) -m 0644 -D $(@D)/etc/lua.pc \
  72. $(TARGET_DIR)/usr/lib/pkgconfig/lua.pc
  73. $(INSTALL) $(@D)/src/lua.h $(TARGET_DIR)/usr/include
  74. $(INSTALL) $(@D)/src/luaconf.h $(TARGET_DIR)/usr/include
  75. $(INSTALL) $(@D)/src/lualib.h $(TARGET_DIR)/usr/include
  76. $(INSTALL) $(@D)/src/lauxlib.h $(TARGET_DIR)/usr/include
  77. endef
  78. endif
  79. define LUA_INSTALL_TARGET_CMDS
  80. $(LUA_INSTALL_INTERPRETER)
  81. $(LUA_INSTALL_COMPILER)
  82. $(LUA_INSTALL_LIBRARY)
  83. $(LUA_INSTALL_DEVFILES)
  84. endef
  85. LUA_INSTALLED_FILES = \
  86. /usr/include/lua.h \
  87. /usr/include/luaconf.h \
  88. /usr/include/lualib.h \
  89. /usr/include/lauxlib.h \
  90. /usr/lib/pkgconfig/lua.pc \
  91. /usr/bin/lua \
  92. /usr/bin/luac \
  93. /usr/lib/liblua.a \
  94. /usr/lib/liblua.so*
  95. define LUA_UNINSTALL_STAGING_CMDS
  96. for i in $(LUA_INSTALLED_FILES); do \
  97. rm -f $(STAGING_DIR)$$i; \
  98. done
  99. endef
  100. define LUA_UNINSTALL_TARGET_CMDS
  101. for i in $(LUA_INSTALLED_FILES); do \
  102. rm -f $(TARGET_DIR)$$i; \
  103. done
  104. endef
  105. define LUA_CLEAN_CMDS
  106. -$(MAKE) -C $(@D) clean
  107. endef
  108. $(eval $(call GENTARGETS))