ego now builds and is used.

This needed lots of refactoring to ego --- not all platforms have ego descr
files, and ego will just crash if you invoke it without one. I think originally
it was never intended that these platforms would be used at -O2 or above.

Plats now only specify the ego descr file if they have one.
This commit is contained in:
David Given
2016-08-21 22:01:19 +02:00
parent 08823a172c
commit 5bae29a00c
19 changed files with 461 additions and 262 deletions

58
util/ego/build.lua Normal file
View File

@@ -0,0 +1,58 @@
local function build_ego(name)
cprogram {
name = name,
srcs = { "./"..name.."/*.c" },
deps = {
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DVERBOSE", "-DNOTCOMPACT"}
}
}
end
build_ego("bo")
build_ego("ca")
build_ego("cf")
build_ego("cj")
build_ego("cs")
build_ego("ic")
build_ego("il")
build_ego("lv")
build_ego("sp")
build_ego("sr")
build_ego("ud")
cprogram {
name = "em_ego",
srcs = { "./em_ego/em_ego.c" },
deps = {
"modules/src/print+lib",
"modules/src/string+lib",
"modules/src/system+lib",
"modules+headers",
"h+emheaders",
}
}
installable {
name = "pkg",
map = {
["$(PLATDEP)/em_ego"] = "+em_ego",
["$(PLATDEP)/ego/bo"] = "+bo",
["$(PLATDEP)/ego/ca"] = "+ca",
["$(PLATDEP)/ego/cf"] = "+cf",
["$(PLATDEP)/ego/cj"] = "+cj",
["$(PLATDEP)/ego/cs"] = "+cs",
["$(PLATDEP)/ego/ic"] = "+ic",
["$(PLATDEP)/ego/il"] = "+il",
["$(PLATDEP)/ego/lv"] = "+lv",
["$(PLATDEP)/ego/ra"] = "./ra+ra",
["$(PLATDEP)/ego/sp"] = "+sp",
["$(PLATDEP)/ego/sr"] = "+sr",
["$(PLATDEP)/ego/ud"] = "+ud",
"./descr+pkg",
}
}