PocketGo
build liblua 5.1.4
參考資訊:
1. build liblua dynamic so
編譯步驟如下:
$ cd ~ $ export PATH=$PATH:/opt/miyoo/bin $ export TARGETMACH=arm-linux $ export BUILDMACH=i686-pc-linux-gnu $ export CROSS=arm-linux $ export CC=${CROSS}-gcc $ export LD=${CROSS}-ld $ export AS=${CROSS}-as $ export CXX=${CROSS}-g++ $ wget https://www.lua.org/ftp/lua-5.1.4.tar.gz $ tar xvf lua-5.1.4.tar.gz $ cd lua-5.1.4 $ vim Makefile --- lua-5.1.4/Makefile 2008-08-12 00:40:48.000000000 +0000 +++ lua-5.1.4-shared-lib/Makefile 2009-01-13 22:01:33.000000000 +0000 @@ -43,7 +43,7 @@ # What to install. TO_BIN= lua luac TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp -TO_LIB= liblua.a +TO_LIB= liblua.a liblua.so TO_MAN= lua.1 luac.1 $ vim src/Makefile --- lua-5.1.4/src/Makefile 2008-01-19 19:37:58.000000000 +0000 +++ lua-5.1.4-shared-lib/src/Makefile 2009-01-13 22:40:20.000000000 +0000 @@ -8,7 +8,7 @@ PLAT= none CC= gcc -CFLAGS= -O2 -Wall $(MYCFLAGS) +CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS) AR= ar rcu RANLIB= ranlib RM= rm -f @@ -23,6 +23,7 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris LUA_A= liblua.a +LUA_SO= liblua.so CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ lundump.o lvm.o lzio.o @@ -36,7 +37,7 @@ LUAC_O= luac.o print.o ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) -ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) +ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) ALL_A= $(LUA_A) default: $(PLAT) @@ -57,6 +58,8 @@ $(LUAC_T): $(LUAC_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) +$(LUA_SO): $(CORE_O) $(LIB_O) + $(CC) -o $@ -shared $? clean: $(RM) $(ALL_T) $(ALL_O) $ make linux