Господа следует понимать, что Вы делаете:
1. lua.c это интерактивный шелл и одновременно интерпритатор Lua (должен быть сборан с liblua);
2. luac.c это транслятор в байткод Lua (должен быть соборан с liblua);
3. liblua это статическая(или динамическая) библиотека (должна быть собрана без файлов [lua.c, luac.c]);
Более подробно можно найти в директории с документацией в том же каталоге или в Makefile:
lua is the stand-alone Lua interpreter. It loads and executes Lua programs, either in textual source form or in precompiled binary form. (Precompiled binaries are output by luac, the Lua compiler.) lua can be used as a batch interpreter and also interactively.
luac is the Lua compiler. It translates programs written in the Lua programming language into binary files that can be loaded and executed with lua_dofile in C or with dofile in Lua.