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.
This commit is contained in:
parent
1df4db99c9
commit
4a3b7be795
|
@ -4,6 +4,7 @@ vars.cflags = {
|
||||||
vars.ackcflags = {
|
vars.ackcflags = {
|
||||||
"-O6"
|
"-O6"
|
||||||
}
|
}
|
||||||
|
vars.ackldflags = {}
|
||||||
vars.plats = {
|
vars.plats = {
|
||||||
"cpm",
|
"cpm",
|
||||||
"linux386",
|
"linux386",
|
||||||
|
|
|
@ -4,6 +4,10 @@ local conly = {
|
||||||
rpi = true
|
rpi = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local softfp = {
|
||||||
|
cpm = true,
|
||||||
|
}
|
||||||
|
|
||||||
local sourcefiles = filenamesof(
|
local sourcefiles = filenamesof(
|
||||||
"./hilo.b",
|
"./hilo.b",
|
||||||
"./hilo.bas",
|
"./hilo.bas",
|
||||||
|
@ -15,6 +19,11 @@ local sourcefiles = filenamesof(
|
||||||
"./startrek.c"
|
"./startrek.c"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
local usesfp = {
|
||||||
|
["mandelbrot.c"] = true,
|
||||||
|
["startrek.c"] = true,
|
||||||
|
}
|
||||||
|
|
||||||
local installmap = {}
|
local installmap = {}
|
||||||
for _, file in ipairs(sourcefiles) do
|
for _, file in ipairs(sourcefiles) do
|
||||||
local b = basename(file)
|
local b = basename(file)
|
||||||
|
@ -22,6 +31,12 @@ for _, file in ipairs(sourcefiles) do
|
||||||
local _, _, e = b:find("%.(%w*)$")
|
local _, _, e = b:find("%.(%w*)$")
|
||||||
|
|
||||||
for _, plat in ipairs(vars.plats) do
|
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
|
if (e == "c") or not conly[plat] then
|
||||||
local exe = ackprogram {
|
local exe = ackprogram {
|
||||||
name = be.."_"..plat,
|
name = be.."_"..plat,
|
||||||
|
@ -29,6 +44,7 @@ for _, file in ipairs(sourcefiles) do
|
||||||
vars = {
|
vars = {
|
||||||
plat = plat,
|
plat = plat,
|
||||||
lang = e,
|
lang = e,
|
||||||
|
["+ackldflags"] = flags,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ definerule("ackprogram",
|
||||||
},
|
},
|
||||||
_clibrary = acklibrary,
|
_clibrary = acklibrary,
|
||||||
commands = {
|
commands = {
|
||||||
"ACKDIR=$(INSDIR) $(INSDIR)/bin/ack -m%{plat} -.%{lang} -o %{outs} %{ins}"
|
"ACKDIR=$(INSDIR) $(INSDIR)/bin/ack -m%{plat} -.%{lang} -o %{outs} %{ins} %{ackldflags}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue