|
|
|
package("make")
|
|
|
|
|
|
|
|
set_kind("binary")
|
|
|
|
set_homepage("https://www.gnu.org/software/make/")
|
|
|
|
set_description("GNU make tool.")
|
|
|
|
|
|
|
|
add_urls("https://ftp.gnu.org/gnu/make/make-$(version).tar.gz",
|
|
|
|
"https://mirrors.ustc.edu.cn/gnu/make/make-$(version).tar.gz",
|
|
|
|
"http://mirror.easyname.at/gnu/make/make-$(version).tar.gz")
|
|
|
|
add_versions("4.2.1", "e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7")
|
|
|
|
|
|
|
|
on_install("@windows", function(package)
|
|
|
|
import("core.tool.toolchain")
|
|
|
|
local runenvs = toolchain.load("msvc"):runenvs()
|
|
|
|
os.vrunv("build_w32.bat", {}, {envs = runenvs})
|
|
|
|
os.cp("WinRel/gnumake.exe", path.join(package:installdir("bin"), "make.exe"))
|
|
|
|
end)
|
|
|
|
|
|
|
|
on_install("@macosx", "@linux", function (package)
|
|
|
|
-- fix undefined reference to `__alloca'
|
|
|
|
if is_subhost("linux") then
|
|
|
|
io.replace("glob/glob.c", "!defined __alloca && !defined __GNU_LIBRARY__", "1")
|
|
|
|
end
|
|
|
|
import("package.tools.autoconf").install(package, {"--disable-dependency-tracking", "--disable-gtk", "--disable-silent-rules"})
|
|
|
|
end)
|
|
|
|
|
|
|
|
on_test(function (package)
|
|
|
|
os.vrun("make --version")
|
|
|
|
end)
|