ack/examples/build.lua
George Koehler 4a3b7be795 Use ack -mcpm -fp for mandelbrot.c, startrek.c
Add a variable %{ackldflags} so I can pass `-fp`.  This change seems
to cause the build to relink every ackprogram, because the link now
needs to use %{ackldflags} even if the flags are empty.

mandelbrot_c_cpm runs in YAZE-AG; startrek_c_cpm doesn't run because
it doesn't fit in the 16-bit address space.
2018-04-28 13:18:27 -04:00

62 lines
978 B
Lua

include("plat/build.lua")
local conly = {
rpi = true
}
local softfp = {
cpm = true,
}
local sourcefiles = filenamesof(
"./hilo.b",
"./hilo.bas",
"./hilo.c",
"./hilo.mod",
"./hilo.p",
"./mandelbrot.c",
"./paranoia.c",
"./startrek.c"
)
local usesfp = {
["mandelbrot.c"] = true,
["startrek.c"] = true,
}
local installmap = {}
for _, file in ipairs(sourcefiles) do
local b = basename(file)
local be = replace(b, "%.", "_")
local _, _, e = b:find("%.(%w*)$")
for _, plat in ipairs(vars.plats) do
local flags = {}
if softfp[plat] and usesfp[b] then
flags[#flags+1] = "-fp"
end
if (e == "c") or not conly[plat] then
local exe = ackprogram {
name = be.."_"..plat,
srcs = { file },
vars = {
plat = plat,
lang = e,
["+ackldflags"] = flags,
}
}
installmap["$(PLATIND)/examples/"..be.."."..plat] = exe
end
end
installmap["$(PLATIND)/examples/"..b] = file
end
installable {
name = "pkg",
map = installmap
}