软件包:
SDK: OpenWrt-SDK-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
lua: lua-5.3.4.tar.gz (官网)
这是修改完的Makefile 和 默认解压完的Makefile 文件内容区别. 关键在Makefile这里:
# diff Makefile Makefile.default
7c7
< PLAT= linux-mipsel
---
> PLAT= none
9,10c9,10
< CC= mipsel-linux-gcc
< CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) -D_FILE_OFFSET_BITS=32 -I/home/wooya/soft/OpenWrt-SDK-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/include/ -L/home/wooya/soft/OpenWrt-SDK-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib
---
> CC= gcc -std=gnu99
> CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS)
12,13c12
< LIBS= -lm $(SYSLIBS) -L/home/wooya/soft/OpenWrt-SDK-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/usr/lib -lreadline -lncurses
< #LIBS= -lm $(SYSLIBS) -static
---
> LIBS= -lm $(SYSLIBS) $(MYLIBS)
15,16c14,15
< AR= mipsel-linux-ar rcu
< RANLIB= mipsel-linux-ranlib
---
> AR= ar rcu
> RANLIB= ranlib
111c110
< $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -L/home/wooya/soft/OpenWrt-SDK-ramips-mt7688_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/ -ldl "
---
> $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
./src/Makefile 修改好之后在./src 下 make linux .
执行成功后会生成lua的新版本的解释器 lua 文件 和 luac 文件
拷贝到openwrt 系统中去还需要安装一下 readline 和 ncurses (这个有的不用装, 系统里貌似带了)
opkg install libreadline
opkg install libncurses
如提示 Unknown package 就执行 opkg update 更新下, 再安装就好了
最后把文件拷贝到/usr/bin/下, 结束.
openwrt里的执行截图希望能帮到需要的小伙伴, 有问题留言交流..
网友评论