diff options
| author | ruki <[email protected]> | 2017-03-30 11:58:21 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-03-30 11:58:21 +0800 |
| commit | a2a07d5d56016d98b1aa368886481268f29a2530 (patch) | |
| tree | c92c166b07aea4f63ddf269b24b39a59146a50f5 | |
| parent | 5d79b9e7497b1783b1e0ecf90cd2cd0e13af878c (diff) | |
add luajit makefile
| -rw-r--r-- | core/plat/macosx/prefix.mak | 8 | ||||
| -rw-r--r-- | core/src/demo/makefile | 9 | ||||
| -rw-r--r-- | core/src/demo/xmake.lua | 2 | ||||
| -rw-r--r-- | core/src/luajit/Makefile | 151 | ||||
| -rw-r--r-- | core/src/luajit/makefile | 91 | ||||
| -rw-r--r-- | core/src/luajit/xmake.lua | 4 | ||||
| -rw-r--r-- | core/src/makefile | 2 | ||||
| -rw-r--r-- | core/src/xmake/makefile | 13 | ||||
| -rw-r--r-- | core/src/xmake/xmake.lua | 2 |
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") |
