summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2017-03-30 11:58:21 +0800
committerruki <[email protected]>2017-03-30 11:58:21 +0800
commita2a07d5d56016d98b1aa368886481268f29a2530 (patch)
treec92c166b07aea4f63ddf269b24b39a59146a50f5
parent5d79b9e7497b1783b1e0ecf90cd2cd0e13af878c (diff)
add luajit makefile
-rw-r--r--core/plat/macosx/prefix.mak8
-rw-r--r--core/src/demo/makefile9
-rw-r--r--core/src/demo/xmake.lua2
-rw-r--r--core/src/luajit/Makefile151
-rw-r--r--core/src/luajit/makefile91
-rw-r--r--core/src/luajit/xmake.lua4
-rw-r--r--core/src/makefile2
-rw-r--r--core/src/xmake/makefile13
-rw-r--r--core/src/xmake/xmake.lua2
9 files changed, 110 insertions, 172 deletions
diff --git a/core/plat/macosx/prefix.mak b/core/plat/macosx/prefix.mak
index fc917bca6..62e73beae 100644
--- a/core/plat/macosx/prefix.mak
+++ b/core/plat/macosx/prefix.mak
@@ -13,7 +13,7 @@ LIB_SUFFIX = .a
DLL_PREFIX =
DLL_SUFFIX = .dylib
-ASM_SUFFIX = .S
+ASM_SUFFIX = .s
# cpu bits
BITS := $(if $(findstring x86_64,$(ARCH)),64,)
@@ -44,7 +44,7 @@ MM = $(PRE_)clang
AR = $(PRE_)ar
STRIP = $(PRE_)strip
RANLIB = $(PRE_)ranlib
-AS = yasm
+AS = $(PRE_)clang
RM = rm -f
RMDIR = rm -rf
CP = cp
@@ -143,9 +143,9 @@ LDFLAGS_DEBUG += -ftrapv
endif
# asflags
-ASFLAGS_RELEASE = Wa,-march=native
+ASFLAGS_RELEASE =
ASFLAGS_DEBUG =
-ASFLAGS = -m$(BITS) -f elf $(ARCH_ASFLAGS)
+ASFLAGS = -m$(BITS) -c -Wall
ASFLAGS-I = -I
ASFLAGS-o = -o
diff --git a/core/src/demo/makefile b/core/src/demo/makefile
index 8426ce7de..7a9b7754c 100644
--- a/core/src/demo/makefile
+++ b/core/src/demo/makefile
@@ -12,15 +12,14 @@ demo_C_FILES += xmake
# packages
demo_PKGS-$(TBOX) += tbox
-demo_PKGS-$(LUAJIT) += luajit
demo_PKGS-$(BASE) += base
# others
-demo_LIBS += xmake$(DTYPE)
-demo_INC_DIRS += ../
-demo_LIB_DIRS += ../xmake
+demo_LIBS += xmake$(DTYPE) luajit$(DTYPE)
+demo_INC_DIRS += ../ ../luajit/src
+demo_LIB_DIRS += ../xmake ../luajit
demo_CXFLAGS += -D__tb_prefix__=\"xmake\"
-
+
# suffix
include $(PRO_DIR)/suffix.mak
diff --git a/core/src/demo/xmake.lua b/core/src/demo/xmake.lua
index c39fbe20e..6449ef8d2 100644
--- a/core/src/demo/xmake.lua
+++ b/core/src/demo/xmake.lua
@@ -17,7 +17,7 @@ target("demo")
set_objectdir("$(buildir)/.objs")
-- add includes directory
- add_includedirs("$(projectdir)", "$(projectdir)/src", "../luajit/src")
+ add_includedirs("$(projectdir)", "$(projectdir)/src", "$(buildir)/luajit")
-- add links and directory
add_links("xmake", "luajit")
diff --git a/core/src/luajit/Makefile b/core/src/luajit/Makefile
deleted file mode 100644
index 0cbe741a4..000000000
--- a/core/src/luajit/Makefile
+++ /dev/null
@@ -1,151 +0,0 @@
-##############################################################################
-# LuaJIT top level Makefile for installation. Requires GNU Make.
-#
-# Please read doc/install.html before changing any variables!
-#
-# Suitable for POSIX platforms (Linux, *BSD, OSX etc.).
-# Note: src/Makefile has many more configurable options.
-#
-# ##### This Makefile is NOT useful for Windows! #####
-# For MSVC, please follow the instructions given in src/msvcbuild.bat.
-# For MinGW and Cygwin, cd to src and run make with the Makefile there.
-#
-# Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
-##############################################################################
-
-MAJVER= 2
-MINVER= 0
-RELVER= 4
-VERSION= $(MAJVER).$(MINVER).$(RELVER)
-ABIVER= 5.1
-
-##############################################################################
-#
-# Change the installation path as needed. This automatically adjusts
-# the paths in src/luaconf.h, too. Note: PREFIX must be an absolute path!
-#
-export PREFIX= /usr/local
-export MULTILIB= lib
-##############################################################################
-
-DPREFIX= $(DESTDIR)$(PREFIX)
-INSTALL_BIN= $(DPREFIX)/bin
-INSTALL_LIB= $(DPREFIX)/$(MULTILIB)
-INSTALL_SHARE= $(DPREFIX)/share
-INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER)
-
-INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION)
-INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
-INSTALL_LMODD= $(INSTALL_SHARE)/lua
-INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
-INSTALL_CMODD= $(INSTALL_LIB)/lua
-INSTALL_CMOD= $(INSTALL_CMODD)/$(ABIVER)
-INSTALL_MAN= $(INSTALL_SHARE)/man/man1
-INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
-
-INSTALL_TNAME= luajit-$(VERSION)
-INSTALL_TSYMNAME= luajit
-INSTALL_ANAME= libluajit-$(ABIVER).a
-INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER)
-INSTALL_SOSHORT= libluajit-$(ABIVER).so
-INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
-INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib
-INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib
-INSTALL_PCNAME= luajit.pc
-
-INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
-INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
-INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
-INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
-INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
-INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
-INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
-
-INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \
- $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD)
-UNINSTALL_DIRS= $(INSTALL_JITLIB) $(INSTALL_LJLIBD) $(INSTALL_INC) \
- $(INSTALL_LMOD) $(INSTALL_LMODD) $(INSTALL_CMOD) $(INSTALL_CMODD)
-
-RM= rm -f
-MKDIR= mkdir -p
-RMDIR= rmdir 2>/dev/null
-SYMLINK= ln -sf
-INSTALL_X= install -m 0755
-INSTALL_F= install -m 0644
-UNINSTALL= $(RM)
-LDCONFIG= ldconfig -n
-SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
- -e "s|^multilib=.*|multilib=$(MULTILIB)|"
-
-FILE_T= luajit
-FILE_A= libluajit.a
-FILE_SO= libluajit.so
-FILE_MAN= luajit.1
-FILE_PC= luajit.pc
-FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h
-FILES_JITLIB= bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua dis_arm.lua \
- dis_ppc.lua dis_mips.lua dis_mipsel.lua bcsave.lua vmdef.lua
-
-ifeq (,$(findstring Windows,$(OS)))
- ifeq (Darwin,$(shell uname -s))
- INSTALL_SONAME= $(INSTALL_DYLIBNAME)
- INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT1)
- INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT2)
- LDCONFIG= :
- endif
-endif
-
-##############################################################################
-
-INSTALL_DEP= src/luajit
-
-default all $(INSTALL_DEP):
- @echo "==== Building LuaJIT $(VERSION) ===="
- $(MAKE) -C src
- @echo "==== Successfully built LuaJIT $(VERSION) ===="
-
-install: $(INSTALL_DEP)
- @echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ===="
- $(MKDIR) $(INSTALL_DIRS)
- cd src && $(INSTALL_X) $(FILE_T) $(INSTALL_T)
- cd src && test -f $(FILE_A) && $(INSTALL_F) $(FILE_A) $(INSTALL_STATIC) || :
- $(RM) $(INSTALL_TSYM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
- cd src && test -f $(FILE_SO) && \
- $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
- $(LDCONFIG) $(INSTALL_LIB) && \
- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
- cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
- cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
- $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
- $(RM) $(FILE_PC).tmp
- cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC)
- cd src/jit && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB)
- $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)
- @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
-
-uninstall:
- @echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ===="
- $(UNINSTALL) $(INSTALL_TSYM) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC)
- for file in $(FILES_JITLIB); do \
- $(UNINSTALL) $(INSTALL_JITLIB)/$$file; \
- done
- for file in $(FILES_INC); do \
- $(UNINSTALL) $(INSTALL_INC)/$$file; \
- done
- $(LDCONFIG) $(INSTALL_LIB)
- $(RMDIR) $(UNINSTALL_DIRS) || :
- @echo "==== Successfully uninstalled LuaJIT $(VERSION) from $(PREFIX) ===="
-
-##############################################################################
-
-amalg:
- @echo "Building LuaJIT $(VERSION)"
- $(MAKE) -C src amalg
-
-clean:
- $(MAKE) -C src clean
-
-.PHONY: all install amalg clean
-
-##############################################################################
diff --git a/core/src/luajit/makefile b/core/src/luajit/makefile
new file mode 100644
index 000000000..bfe6ed17b
--- /dev/null
+++ b/core/src/luajit/makefile
@@ -0,0 +1,91 @@
+# prefix
+include $(PRO_DIR)/prefix.mak
+
+# module name
+NAMES = luajit
+
+# module type
+luajit_TYPE = LIB
+
+# config
+luajit_CONFIG = n
+
+# core files
+luajit_C_FILES += \
+ src/lib_aux \
+ src/lib_base \
+ src/lib_bit \
+ src/lib_debug \
+ src/lib_ffi \
+ src/lib_init \
+ src/lib_io \
+ src/lib_jit \
+ src/lib_math \
+ src/lib_os \
+ src/lib_package \
+ src/lib_string \
+ src/lib_table \
+ src/lj_alloc \
+ src/lj_api \
+ src/lj_asm \
+ src/lj_bc \
+ src/lj_bcread \
+ src/lj_bcwrite \
+ src/lj_carith \
+ src/lj_ccall \
+ src/lj_ccallback \
+ src/lj_cconv \
+ src/lj_cdata \
+ src/lj_char \
+ src/lj_clib \
+ src/lj_cparse \
+ src/lj_crecord \
+ src/lj_ctype \
+ src/lj_debug \
+ src/lj_dispatch \
+ src/lj_err \
+ src/lj_ffrecord \
+ src/lj_func \
+ src/lj_gc \
+ src/lj_gdbjit \
+ src/lj_ir \
+ src/lj_lex \
+ src/lj_lib \
+ src/lj_load \
+ src/lj_mcode \
+ src/lj_meta \
+ src/lj_obj \
+ src/lj_opt_dce \
+ src/lj_opt_fold \
+ src/lj_opt_loop \
+ src/lj_opt_mem \
+ src/lj_opt_narrow \
+ src/lj_opt_sink \
+ src/lj_opt_split \
+ src/lj_parse \
+ src/lj_record \
+ src/lj_snap \
+ src/lj_state \
+ src/lj_str \
+ src/lj_strscan \
+ src/lj_tab \
+ src/lj_trace \
+ src/lj_udata \
+ src/lj_vmevent \
+ src/lj_vmmath
+
+# asm files
+luajit_ASM_FILES += \
+ src/autogen/$(PLAT)/$(ARCH)/lj_vm
+
+# includes
+luajit_INC_DIRS += \
+ src/autogen/$(PLAT)/$(ARCH)
+
+# flags
+#luajit_CXFLAGS +=
+
+
+# suffix
+include $(PRO_DIR)/suffix.mak
+
diff --git a/core/src/luajit/xmake.lua b/core/src/luajit/xmake.lua
index fcdcf9b31..250210e0e 100644
--- a/core/src/luajit/xmake.lua
+++ b/core/src/luajit/xmake.lua
@@ -10,6 +10,10 @@ target("luajit")
-- set the object files directory
set_objectdir("$(buildir)/.objs")
+ -- add headers
+ add_headers("src/(*.h)")
+ set_headerdir("$(buildir)/luajit")
+
-- add include directories
add_includedirs("src", "src/autogen/$(plat)/$(arch)")
diff --git a/core/src/makefile b/core/src/makefile
index 8b34827e8..139d4ac64 100644
--- a/core/src/makefile
+++ b/core/src/makefile
@@ -3,7 +3,7 @@ include $(PRO_DIR)/prefix.mak
# projects
SUB_PROS += demo
-DEP_PROS += xmake
+DEP_PROS += luajit xmake
# suffix
include $(PRO_DIR)/suffix.mak
diff --git a/core/src/xmake/makefile b/core/src/xmake/makefile
index 6e4b25031..0d0399bb1 100644
--- a/core/src/xmake/makefile
+++ b/core/src/xmake/makefile
@@ -51,16 +51,11 @@ xmake_C_FILES += \
# flags
xmake_CXFLAGS += -D__tb_prefix__=\"xmake\"
+
+# includes
+xmake_INC_DIRS += \
+ ../luajit/src
-# header files
-xmake_INC_FILES = \
- xmake.h \
- machine.h \
- config.h \
- prefix.h \
- prefix/prefix.h \
- prefix/config.h \
- prefix/version.h
# suffix
include $(PRO_DIR)/suffix.mak
diff --git a/core/src/xmake/xmake.lua b/core/src/xmake/xmake.lua
index 845c1d17e..f532e4384 100644
--- a/core/src/xmake/xmake.lua
+++ b/core/src/xmake/xmake.lua
@@ -18,7 +18,7 @@ target("xmake")
set_objectdir("$(buildir)/.objs")
-- add includes directory
- add_includedirs("$(projectdir)", "../luajit/src")
+ add_includedirs("$(projectdir)", "$(buildir)/luajit")
-- add packages
add_packages("tbox", "base")