mirror of
https://github.com/cheat-engine/cheat-engine
synced 2026-08-15 02:26:08 -04:00
236 lines
6.1 KiB
Lua
236 lines
6.1 KiB
Lua
----------------------------------------------------
|
|
-- The main porpouse of this file is to build linux gcc makefiles.
|
|
-- Must have Premake version 3 installed.
|
|
-- Original Premake was changed to remove some parameters and add others.
|
|
-- Default parameters:
|
|
-- premake3s --target gnu --os linux
|
|
-- But it can build windows gcc makefiles, and visual studio projects.
|
|
-- premake3s --target gnu --os windows
|
|
-- premake3s --target gnu --os macosx
|
|
-- premake3s --target vs6
|
|
-- premake3s --target vs2002
|
|
-- premake3s --target vs2003
|
|
-- premake3s --target vs2005 (MUST UPDATE DEPENDENCIES)
|
|
-- In Linux the generated makefiles will not correctly build libraries in 64-bits.
|
|
-- must add "-m64 -fPIC" flags
|
|
----------------------------------------------------
|
|
|
|
if (not options.target) then
|
|
options.target = "gnu"
|
|
end
|
|
|
|
if (not options.os) then
|
|
if (options.target ~= "gnu") then
|
|
options.os = "windows"
|
|
else
|
|
options.os = "linux"
|
|
end
|
|
end
|
|
|
|
function fixPackagePath(package_files)
|
|
if (options.os ~= "linux") then
|
|
for i, file in package_files do
|
|
package_files[i] = "../src/"..file
|
|
end
|
|
end
|
|
end
|
|
|
|
----------------------------------------------------
|
|
|
|
lua_suffix = "5.1"
|
|
|
|
project.name = "lua"..lua_suffix
|
|
project.bindir = "../bin"
|
|
project.libdir = "../lib"
|
|
|
|
if (options.os ~= "linux") then
|
|
if (options.os == "macosx") then
|
|
project.path = "../mak.macosx"
|
|
else
|
|
project.path = "../mak."..options.target
|
|
end
|
|
end
|
|
|
|
lua_defines = { }
|
|
|
|
if (options.os == "windows") then
|
|
if (options.target == "gnu") then
|
|
-- Cygwin Only (POSIX build)
|
|
tinsert(lua_defines, {"LUA_USE_DLOPEN", "LUA_USE_READLINE"})
|
|
end
|
|
else
|
|
-- All non-Windows (posix)
|
|
tinsert(lua_defines, {"LUA_USE_POSIX"})
|
|
|
|
if (options.os == "linux") then
|
|
-- Linux Only
|
|
tinsert(lua_defines, {"LUA_USE_DLOPEN", "LUA_USE_READLINE"})
|
|
end
|
|
|
|
if (options.os == "macosx") then
|
|
-- MacOS X Only
|
|
tinsert(lua_defines, {"LUA_DL_DYLD"})
|
|
end
|
|
|
|
if (options.os == "bsd") then
|
|
-- BSD Only
|
|
tinsert(lua_defines, {"LUA_USE_DLOPEN"})
|
|
end
|
|
end
|
|
|
|
if (options.target == "vs2005") then
|
|
tinsert(lua_defines, {"_CRT_SECURE_NO_DEPRECATE"})
|
|
end
|
|
|
|
----------------------------------------------------
|
|
|
|
package = newpackage()
|
|
package.name = "lua"..lua_suffix.."_dll"
|
|
package.target = "lua"..lua_suffix
|
|
package.objdir = "../obj/"..package.name
|
|
package.language = "c"
|
|
package.kind = "dll"
|
|
package.defines = lua_defines
|
|
package.includepaths = { "../include" }
|
|
package.path = project.path
|
|
|
|
lua_files =
|
|
{
|
|
"lapi.c", "lcode.c", "ldebug.c", "ldo.c", "ldump.c", "lfunc.c", "lgc.c", "llex.c", "lmem.c",
|
|
"lobject.c", "lopcodes.c", "lparser.c", "lstate.c", "lstring.c", "ltable.c", "ltm.c",
|
|
"lundump.c", "lvm.c", "lzio.c",
|
|
"lauxlib.c", "lbaselib.c", "ldblib.c", "liolib.c", "lmathlib.c", "loslib.c", "ltablib.c",
|
|
"lstrlib.c", "loadlib.c", "linit.c"
|
|
}
|
|
fixPackagePath(lua_files)
|
|
|
|
package.files = lua_files
|
|
|
|
if (options.os == "windows") then
|
|
tinsert(package.files, {"../src/lua"..lua_suffix..".def"})
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
package = newpackage()
|
|
package.name = "lua"..lua_suffix.."_lib"
|
|
package.target = "lua"..lua_suffix
|
|
package.objdir = "../obj/"..package.name
|
|
if (options.os == "windows") then
|
|
package.libdir = "../lib/static"
|
|
end
|
|
package.language = "c"
|
|
package.kind = "lib"
|
|
package.defines = lua_defines
|
|
package.files = lua_files
|
|
package.includepaths = { "../include" }
|
|
package.path = project.path
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
package = newpackage()
|
|
package.name = "lua"..lua_suffix.."_exe"
|
|
package.target = "lua"..lua_suffix
|
|
package.objdir = "../obj/"..package.name
|
|
package.language = "c"
|
|
package.kind = "exe"
|
|
package.defines = lua_defines
|
|
package.includepaths = { "../include" }
|
|
package.path = project.path
|
|
|
|
package.files =
|
|
{
|
|
"lua.c"
|
|
}
|
|
fixPackagePath(package.files)
|
|
|
|
if (options.os == "windows") then
|
|
tinsert(package.files, {"../src/lua.rc"})
|
|
package.links = { "lua"..lua_suffix }
|
|
package.libpaths = { "../lib" }
|
|
package.linkoptions = { "setargv.obj" }
|
|
|
|
if (options.target == "gnu") then
|
|
tinsert(package.links, {"readline", "history"})
|
|
end
|
|
else
|
|
package.links = { "lua"..lua_suffix, "m" }
|
|
package.libpaths = { "../lib" }
|
|
|
|
if (options.os == "linux") then
|
|
tinsert(package.links, {"readline", "history", "curses", "ncurses"})
|
|
tinsert(package.links, {"dl"})
|
|
package.linkoptions = { "-Wl,-E" }
|
|
end
|
|
|
|
if (options.os == "bsd") then
|
|
package.linkoptions = { "-Wl,-E" }
|
|
end
|
|
|
|
if (options.os == "sunos") then
|
|
tinsert(package.links, {"dl"})
|
|
end
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
package = newpackage()
|
|
package.name = "luac"..lua_suffix.."_exe"
|
|
package.target = "luac"..lua_suffix
|
|
package.objdir = "../obj/"..package.name
|
|
package.language = "c"
|
|
package.kind = "exe"
|
|
package.defines = lua_defines
|
|
package.includepaths = { "../include", "../src" }
|
|
package.path = project.path
|
|
|
|
package.files =
|
|
{
|
|
"luac.c", "print.c"
|
|
}
|
|
fixPackagePath(package.files)
|
|
|
|
if (options.os == "windows") then
|
|
tinsert(package.files, {"../src/lua.rc"})
|
|
package.links = { "lua"..lua_suffix }
|
|
package.libpaths = { "../lib/static" }
|
|
package.linkoptions = { "setargv.obj" }
|
|
else
|
|
package.links = { "lua"..lua_suffix, "m" }
|
|
package.libpaths = { "../lib" }
|
|
|
|
if (options.os == "linux") then
|
|
tinsert(package.links, {"dl"})
|
|
package.linkoptions = { "-Wl,-E" }
|
|
end
|
|
|
|
if (options.os == "bsd") then
|
|
package.linkoptions = { "-Wl,-E" }
|
|
end
|
|
|
|
if (options.os == "sunos") then
|
|
tinsert(package.links, {"dl"})
|
|
end
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
|
|
package = newpackage()
|
|
package.name = "bin2c"..lua_suffix.."_exe"
|
|
package.target = "bin2c"..lua_suffix
|
|
package.objdir = "../obj/"..package.name
|
|
package.language = "c"
|
|
package.kind = "exe"
|
|
package.linkflags = { "static-runtime" }
|
|
package.path = project.path
|
|
|
|
package.files =
|
|
{
|
|
"../etc/bin2c.c"
|
|
}
|
|
|
|
if (options.os == "windows") then
|
|
tinsert(package.files, {"../src/lua.rc"})
|
|
end
|
|
|
|
---------------------------------------------------------------------
|