Rework all the ackbuilder scripts not to use wildcards, because we can't expand

them without luaposix, which isn't available (easily) on OSX or Windows.
This commit is contained in:
David Given 2022-07-14 23:57:54 +02:00
parent 99ec64a7a0
commit 25b6712e63
101 changed files with 2168 additions and 183 deletions

View file

@ -7,7 +7,6 @@
-- is = { set of rule types which made the target } -- is = { set of rule types which made the target }
-- } -- }
local posix = require("posix")
local emitter = {} local emitter = {}
local rules = {} local rules = {}
local targets = {} local targets = {}
@ -125,7 +124,7 @@ local function concatpath(...)
end end
-- Returns a list of the targets within the given collection; the keys of any -- Returns a list of the targets within the given collection; the keys of any
-- keyed items are lost. Lists and wildcards are expanded. -- keyed items are lost. Lists are expanded.
local function targetsof(...) local function targetsof(...)
local o = {} local o = {}
@ -226,9 +225,6 @@ local function abspath(...)
return dotocollection({...}, return dotocollection({...},
function(filename) function(filename)
assertString(filename, 1) assertString(filename, 1)
if not filename:find("^[/$]") then
filename = concatpath(posix.getcwd(), filename)
end
return filename return filename
end end
) )
@ -397,13 +393,17 @@ end
local function loadbuildfilefor(filepart, targetpart) local function loadbuildfilefor(filepart, targetpart)
local normalname = concatpath(filepart, "/build.lua") local normalname = concatpath(filepart, "/build.lua")
if posix.access(normalname, "r") then local fp = io.open(normalname, "r")
if fp then
fp:close()
loadbuildfile(normalname) loadbuildfile(normalname)
return return
end end
local extendedname = concatpath(filepart, "/build-"..targetpart..".lua") local extendedname = concatpath(filepart, "/build-"..targetpart..".lua")
if posix.access(extendedname, "r") then fp = io.open(extendedname, "r")
if fp then
fp:close()
loadbuildfile(extendedname) loadbuildfile(extendedname)
return return
end end
@ -420,10 +420,7 @@ loadtarget = function(targetname)
if not targetname:find("%+") then if not targetname:find("%+") then
local files local files
if targetname:find("[?*]") then if targetname:find("[?*]") then
files = posix.glob(targetname) error("wildcards not supported")
if not files then
files = {}
end
else else
files = {targetname} files = {targetname}
end end
@ -819,8 +816,6 @@ local function parse_arguments(argmap, arg)
end end
globals = { globals = {
posix = posix,
abspath = abspath, abspath = abspath,
asstring = asstring, asstring = asstring,
basename = basename, basename = basename,

View file

@ -23,7 +23,23 @@ normalrule {
clibrary { clibrary {
name = "emheaders", name = "emheaders",
hdrs = { hdrs = {
"./*.h", "./arch.h",
"./as_spec.h",
"./cgg_cg.h",
"./cg_pattern.h",
"./em_abs.h",
"./em_ego.h",
"./em_flag.h",
"./em_mes.h",
"./em_ptyp.h",
"./em_reg.h",
"./ip_spec.h",
"./ocm_chan.h",
"./ocm_parco.h",
"./ocm_proc.h",
"./out.h",
"./ranlib.h",
"./stb.h",
"./con_float", "./con_float",
"+em_path", "+em_path",
"+local", "+local",

View file

@ -2,10 +2,11 @@
cprogram { cprogram {
name = "em_b", name = "em_b",
srcs = { srcs = {
"./*.c", "./b0.c",
"./b1.c",
}, },
deps = { deps = {
"./*.h", "./b.h",
"modules+headers", "modules+headers",
"modules/src/alloc+lib", "modules/src/alloc+lib",
"modules/src/data+lib", "modules/src/data+lib",

View file

@ -4,12 +4,12 @@ for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { srcs = {
"./*.c", "./init.c",
"./*.e", "./main.c",
}, },
hdrs = {}, -- must be empty hdrs = {}, -- must be empty
deps = { deps = {
"./*.h", "./b.h",
"h+emheaders", "h+emheaders",
"lang/cem/libcc.ansi/headers+pkg", "lang/cem/libcc.ansi/headers+pkg",
"plat/"..plat.."/include+pkg", "plat/"..plat.."/include+pkg",

View file

@ -4,15 +4,47 @@ for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { srcs = {
"./*.c", "./abs.c",
"./*.e", "./asc.c",
"./asrt.c",
"./atn.c",
"./chr.c",
"./conversion.c",
"./error.c",
"./exp.c",
"./file.c",
"./hlt.c",
"./io.c",
"./log.c",
"./mki.c",
"./oct.c",
"./peek.c",
"./power.c",
"./print.c",
"./random.c",
"./read.c",
"./return.c",
"./salloc.c",
"./sgn.c",
"./sin.c",
"./sqt.c",
"./stop.c",
"./string.c",
"./swap.c",
"./trace.c",
"./trap.c",
"./write.c",
"./fef.e",
"./fif.e",
"./setline.e",
}, },
hdrs = {}, -- must be empty hdrs = {}, -- must be empty
deps = { deps = {
"h+emheaders", "h+emheaders",
"lang/cem/libcc.ansi/headers+pkg", "lang/cem/libcc.ansi/headers+pkg",
"plat/"..plat.."/include+pkg", "plat/"..plat.."/include+pkg",
"./*.h", "./bc_io.h",
"./lib.h",
}, },
vars = { plat = plat } vars = { plat = plat }
} }

View file

@ -2,7 +2,7 @@ include("util/LLgen/build.lua")
llgen { llgen {
name = "llgen", name = "llgen",
srcs = { "./*.g" } srcs = { "./basic.g" }
} }
normalrule { normalrule {
@ -21,11 +21,29 @@ normalrule {
cprogram { cprogram {
name = "em_bem", name = "em_bem",
srcs = { srcs = {
"./*.c", "./bem.c",
"./compile.c",
"./eval.c",
"./func.c",
"./gencode.c",
"./graph.c",
"./initialize.c",
"./parsepar.c",
"./symbols.c",
"./util.c",
matching(filenamesof("+llgen"), "%.c$"), matching(filenamesof("+llgen"), "%.c$"),
}, },
deps = { deps = {
"./*.h", "./bem.h",
"./eval.h",
"./func.h",
"./gencode.h",
"./graph.h",
"./llmess.h",
"./parsepar.h",
"./symbols.h",
"./util.h",
"./yylexp.h",
"+llgen", "+llgen",
"+tokentab_h", "+tokentab_h",
"h+emheaders", "h+emheaders",

View file

@ -13,11 +13,34 @@ normalrule {
} }
} }
local str_files = basename(filenamesof("./*.str")) local str_files = {
"./code.str",
"./declar.str",
"./def.str",
"./estack.str",
"./expr.str",
"./field.str",
"./idf.str",
"./l_brace.str",
"./l_outdef.str",
"./l_state.str",
"./macro.str",
"./next.str",
"./proto.str",
"./stack.str",
"./stmt.str",
"./struct.str",
"./switch.str",
"./type.str",
"./util.str"
}
local str_bases = basename(filenamesof(str_files))
local str_targets = {} local str_targets = {}
for _, f in ipairs(str_files) do for _, f in ipairs(str_bases) do
local bf = f:gsub("%.str$", "") local bf = f:gsub("%.str$", ""):gsub("^$./", "")
str_targets[#str_targets+1] = normalrule { str_targets[#str_targets+1] = normalrule {
name = "allocd_header/"..bf, name = "allocd_header/"..bf,
ins = { "./make.allocd", "./"..f }, ins = { "./make.allocd", "./"..f },
@ -32,7 +55,7 @@ normalrule {
name = "next-c", name = "next-c",
ins = { ins = {
"./make.next", "./make.next",
"./*.str", str_files
}, },
outleaves = { "next.c" }, outleaves = { "next.c" },
commands = { commands = {
@ -78,7 +101,11 @@ llgen {
name = "llgen", name = "llgen",
srcs = { srcs = {
"+tokenfile-g", -- must be first "+tokenfile-g", -- must be first
"./*.g", "./declar.g",
"./expression.g",
"./ival.g",
"./program.g",
"./statement.g",
}, },
} }

View file

@ -58,7 +58,8 @@ normalrule {
name = "next_c", name = "next_c",
ins = { ins = {
"./make.next", "./make.next",
"./*.str", "./macro.str",
"./replace.str",
}, },
outleaves = { "next.c" }, outleaves = { "next.c" },
commands = { commands = {
@ -82,7 +83,22 @@ tabgen {
cprogram { cprogram {
name = "cpp", name = "cpp",
srcs = concat( srcs = concat(
"./*.c", "./ch3bin.c",
"./ch3mon.c",
"./domacro.c",
"./error.c",
"./expr.c",
"./idf.c",
"./init.c",
"./input.c",
"./LLlex.c",
"./LLmessage.c",
"./main.c",
"./options.c",
"./preprocess.c",
"./replace.c",
"./skip.c",
"./tokenname.c",
matching(filenamesof(llgen), "%.c$"), matching(filenamesof(llgen), "%.c$"),
"+next_c", "+next_c",
"+symbol2str_c", "+symbol2str_c",

View file

@ -33,24 +33,163 @@ for _, plat in ipairs(vars.plats) do
srcs = { srcs = {
"+ctype_files", "+ctype_files",
"+ctype_tab", "+ctype_tab",
"./core/ctype/*.c", "./core/ctype/tolower.c",
"./core/errno/*.c", "./core/ctype/toupper.c",
"./core/locale/*.c", "./core/errno/errlist.c",
"./core/math/*.c", "./core/errno/perror.c",
"./core/math/*.e", "./core/errno/strerror.c",
"./core/misc/*.c", "./core/locale/localeconv.c",
"./core/printf/*.c", "./core/locale/setlocale.c",
"./core/scanf/*.c", "./core/math/asin.c",
"./core/setjmp/*.c", "./core/math/atan2.c",
"./core/setjmp/*.e", "./core/math/atan.c",
"./core/stdlib/*.c", "./core/math/ceil.c",
"./core/stdio/*.c", "./core/math/exp.c",
"./core/string/*.c", "./core/math/fabs.c",
"./core/time/*.c", "./core/math/floor.c",
"./sys/exit/*.c", "./core/math/fmod.c",
"./sys/malloc/*.c", "./core/math/frexp.e",
"./sys/misc/*.c", "./core/math/hugeval.c",
"./sys/stdio/*.c", "./core/math/hypot.c",
"./core/math/isnan.c",
"./core/math/ldexp.c",
"./core/math/log10.c",
"./core/math/log.c",
"./core/math/modf.e",
"./core/math/pow.c",
"./core/math/sin.c",
"./core/math/sinh.c",
"./core/math/sqrt.c",
"./core/math/tan.c",
"./core/math/tanh.c",
"./core/misc/abort.c",
"./core/misc/assert.c",
"./core/misc/getopt.c",
"./core/misc/raise.c",
"./core/misc/termcap.c",
"./core/printf/doprnt.c",
"./core/printf/fltpr.c",
"./core/printf/fprintf.c",
"./core/printf/icompute.c",
"./core/printf/itoa.c",
"./core/printf/printf.c",
"./core/printf/snprintf.c",
"./core/printf/sprintf.c",
"./core/printf/vfprintf.c",
"./core/printf/vprintf.c",
"./core/printf/vsnprintf.c",
"./core/printf/vsprintf.c",
"./core/scanf/doscan.c",
"./core/scanf/fscanf.c",
"./core/scanf/scanf.c",
"./core/scanf/sscanf.c",
"./core/scanf/vfscanf.c",
"./core/setjmp/setjmp.e",
"./core/setjmp/sigmisc.c",
"./core/stdio/clearerr.c",
"./core/stdio/feof.c",
"./core/stdio/ferror.c",
"./core/stdio/fgetc.c",
"./core/stdio/fgetpos.c",
"./core/stdio/fgets.c",
"./core/stdio/fputc.c",
"./core/stdio/fputs.c",
"./core/stdio/fread.c",
"./core/stdio/fsetpos.c",
"./core/stdio/fwrite.c",
"./core/stdio/getc.c",
"./core/stdio/getchar.c",
"./core/stdio/gets.c",
"./core/stdio/getw.c",
"./core/stdio/putc.c",
"./core/stdio/putchar.c",
"./core/stdio/puts.c",
"./core/stdio/putw.c",
"./core/stdio/rewind.c",
"./core/stdlib/abs.c",
"./core/stdlib/atof.c",
"./core/stdlib/atoi.c",
"./core/stdlib/atol.c",
"./core/stdlib/bsearch.c",
"./core/stdlib/div.c",
"./core/stdlib/ecvt.c",
"./core/stdlib/environ.c",
"./core/stdlib/ext_comp.c",
"./core/stdlib/getenv.c",
"./core/stdlib/labs.c",
"./core/stdlib/ldiv.c",
"./core/stdlib/mblen.c",
"./core/stdlib/mbstowcs.c",
"./core/stdlib/mbtowc.c",
"./core/stdlib/putenv.c",
"./core/stdlib/qsort.c",
"./core/stdlib/rand.c",
"./core/stdlib/setenv.c",
"./core/stdlib/strtod.c",
"./core/stdlib/strtol.c",
"./core/stdlib/wcstombs.c",
"./core/stdlib/wctomb.c",
"./core/string/memchr.c",
"./core/string/memcmp.c",
"./core/string/memcpy.c",
"./core/string/memmove.c",
"./core/string/memset.c",
"./core/string/strcat.c",
"./core/string/strchr.c",
"./core/string/strcmp.c",
"./core/string/strcoll.c",
"./core/string/strcpy.c",
"./core/string/strcspn.c",
"./core/string/strdup.c",
"./core/string/strlen.c",
"./core/string/strncat.c",
"./core/string/strncmp.c",
"./core/string/strncpy.c",
"./core/string/strpbrk.c",
"./core/string/strrchr.c",
"./core/string/strspn.c",
"./core/string/strstr.c",
"./core/string/strtok.c",
"./core/string/strxfrm.c",
"./core/time/asctime.c",
"./core/time/ctime.c",
"./core/time/difftime.c",
"./core/time/gmtime.c",
"./core/time/localtime.c",
"./core/time/misc.c",
"./core/time/mktime.c",
"./core/time/strftime.c",
"./core/time/tzset.c",
"./sys/exit/atexit.c",
"./sys/exit/exit.c",
"./sys/malloc/calloc.c",
"./sys/malloc/malloc.c",
"./sys/malloc/realloc.c",
"./sys/misc/clock.c",
"./sys/misc/getpass.c",
"./sys/misc/isatty.c",
"./sys/misc/mktemp.c",
"./sys/misc/popen.c",
"./sys/misc/remove.c",
"./sys/misc/sleep.c",
"./sys/misc/system.c",
"./sys/misc/time.c",
"./sys/stdio/data.c",
"./sys/stdio/fclose.c",
"./sys/stdio/fdopen.c",
"./sys/stdio/fflush.c",
"./sys/stdio/fileno.c",
"./sys/stdio/fillbuf.c",
"./sys/stdio/flushbuf.c",
"./sys/stdio/fopen.c",
"./sys/stdio/freopen.c",
"./sys/stdio/fseek.c",
"./sys/stdio/ftell.c",
"./sys/stdio/setbuf.c",
"./sys/stdio/setvbuf.c",
"./sys/stdio/tmpfile.c",
"./sys/stdio/tmpnam.c",
"./sys/stdio/ungetc.c",
}, },
hdrs = {}, -- must be empty hdrs = {}, -- must be empty
deps = { deps = {

View file

@ -11,9 +11,38 @@ local function addheader(dir, list)
end end
end end
addheader("", filenamesof("./*.h")) addheader("", filenamesof(
addheader("sys/", filenamesof("./sys/*.h")) "./assert.h",
addheader("ack/", filenamesof("./ack/*.h")) "./ctype.h",
"./errno.h",
"./fcntl.h",
"./float.h",
"./iso646.h",
"./limits.h",
"./locale.h",
"./math.h",
"./setjmp.h",
"./signal.h",
"./stdarg.h",
"./stdbool.h",
"./stddef.h",
"./stdint.h",
"./stdio.h",
"./stdlib.h",
"./string.h",
"./time.h",
"./unistd.h"
))
addheader("sys/", filenamesof(
"./sys/time.h",
"./sys/times.h"
))
addheader("ack/", filenamesof(
"./ack/config.h",
"./ack/emufile.h"
))
acklibrary { acklibrary {
name = "headers", name = "headers",

View file

@ -15,7 +15,10 @@ llgen {
srcs = { srcs = {
-- order here is important -- order here is important
"+tokenfile_g", "+tokenfile_g",
"./*.g", "./declar.g",
"./expression.g",
"./program.g",
"./statement.g",
} }
} }
@ -31,7 +34,14 @@ normalrule {
} }
} }
for _, f in ipairs(filenamesof("./*.xh")) do local xh_files = {
"./def.xh",
"./node.xh",
"./real.xh",
"./type.xh",
}
for _, f in ipairs(filenamesof(xh_files)) do
local name = replace(basename(f), "%.xh$", "") local name = replace(basename(f), "%.xh$", "")
normalrule { normalrule {
name = name.."_h", name = name.."_h",
@ -46,7 +56,13 @@ for _, f in ipairs(filenamesof("./*.xh")) do
} }
end end
for _, f in ipairs(filenamesof("./*.xc")) do local xc_files = {
"./casestat.xc",
"./scope.xc",
"./tmpvar.xc",
}
for _, f in ipairs(filenamesof(xc_files)) do
local name = replace(basename(f), "%.xc$", "") local name = replace(basename(f), "%.xc$", "")
normalrule { normalrule {
name = name.."_c", name = name.."_c",
@ -65,8 +81,8 @@ normalrule {
name = "next_c", name = "next_c",
ins = { ins = {
"./make.next", "./make.next",
"./*.xh", xh_files,
"./*.xc", xc_files
}, },
outleaves = { "next.c" }, outleaves = { "next.c" },
commands = { commands = {
@ -94,7 +110,28 @@ tabgen {
cprogram { cprogram {
name = "em_m2", name = "em_m2",
srcs = { srcs = {
"./*.c", "./chk_expr.c",
"./code.c",
"./cstoper.c",
"./def.c",
"./defmodule.c",
"./desig.c",
"./enter.c",
"./error.c",
"./idf.c",
"./input.c",
"./LLlex.c",
"./LLmessage.c",
"./lookup.c",
"./main.c",
"./misc.c",
"./node.c",
"./options.c",
"./stab.c",
"./tokenname.c",
"./type.c",
"./typequiv.c",
"./walk.c",
"+casestat_c", "+casestat_c",
"+next_c", "+next_c",
"+scope_c", "+scope_c",

View file

@ -1,4 +1,7 @@
clibrary { clibrary {
name = "headers", name = "headers",
hdrs = {"./*.h"} hdrs = {
"./libm2.h",
"./m2_traps.h",
}
} }

View file

@ -9,7 +9,34 @@ local function addheader(dir, list)
end end
end end
addheader("", filenamesof("./*.def")) addheader("", filenamesof(
"./Arguments.def",
"./ArraySort.def",
"./ASCII.def",
"./Conversions.def",
"./CSP.def",
"./EM.def",
"./Epilogue.def",
"./InOut.def",
"./MathLib0.def",
"./Mathlib.def",
"./PascalIO.def",
"./Processes.def",
"./random.def",
"./RealConversions.def",
"./RealInOut.def",
"./Semaphores.def",
"./Storage.def",
"./Streams.def",
"./Strings.def",
"./StripUnix.def",
"./Termcap.def",
"./Terminal.def",
"./Traps.def",
"./Unix.def",
"./XXTermcap.def"
))
installable { installable {
name = "headers", name = "headers",
@ -20,8 +47,47 @@ for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { srcs = {
"./*.c", "./absd.c",
"./*.mod", "./absi.c",
"./absl.c",
"./Arguments.c",
"./ArraySort.mod",
"./blockmove.c",
"./cap.c",
"./catch.c",
"./confarray.c",
"./Conversions.mod",
"./CSP.mod",
"./dvi.c",
"./halt.c",
"./init.c",
"./InOut.mod",
"./load.c",
"./MathLib0.mod",
"./Mathlib.mod",
"./PascalIO.mod",
"./Processes.mod",
"./random.mod",
"./rcka.c",
"./rcki.c",
"./rckil.c",
"./rcku.c",
"./rckul.c",
"./RealConversions.mod",
"./RealInOut.mod",
"./Semaphores.mod",
"./sigtrp.c",
"./stackprio.c",
"./Storage.mod",
"./store.c",
"./StrAss.c",
"./Streams.mod",
"./Strings.mod",
"./SYSTEM.c",
"./Termcap.mod",
"./Terminal.mod",
"./Traps.mod",
"./ucheck.c",
"./EM.e", "./EM.e",
"./LtoUset.e", "./LtoUset.e",
"./absf.e", "./absf.e",

View file

@ -15,7 +15,10 @@ llgen {
srcs = { srcs = {
-- order here is important -- order here is important
"+tokenfile_g", "+tokenfile_g",
"./*.g", "./declar.g",
"./expression.g",
"./program.g",
"./statement.g",
} }
} }
@ -31,7 +34,15 @@ normalrule {
} }
} }
for _, f in ipairs(filenamesof("./*.xh")) do local xh_files = {
"./def.xh",
"./desig.xh",
"./node.xh",
"./scope.xh",
"./type.xh",
}
for _, f in ipairs(filenamesof(xh_files)) do
local name = replace(basename(f), "%.xh$", "") local name = replace(basename(f), "%.xh$", "")
normalrule { normalrule {
name = name.."_h", name = name.."_h",
@ -46,7 +57,12 @@ for _, f in ipairs(filenamesof("./*.xh")) do
} }
end end
for _, f in ipairs(filenamesof("./*.xc")) do local xc_files = {
"./casestat.xc",
"./tmpvar.xc",
}
for _, f in ipairs(filenamesof(xc_files)) do
local name = replace(basename(f), "%.xc$", "") local name = replace(basename(f), "%.xc$", "")
normalrule { normalrule {
name = name.."_c", name = name.."_c",
@ -65,8 +81,8 @@ normalrule {
name = "next_c", name = "next_c",
ins = { ins = {
"./make.next", "./make.next",
"./*.xh", xh_files,
"./*.xc", xc_files
}, },
outleaves = { "next.c" }, outleaves = { "next.c" },
commands = { commands = {
@ -94,7 +110,31 @@ tabgen {
cprogram { cprogram {
name = "em_pc", name = "em_pc",
srcs = { srcs = {
"./*.c", "./body.c",
"./chk_expr.c",
"./code.c",
"./cstoper.c",
"./def.c",
"./desig.c",
"./enter.c",
"./error.c",
"./idf.c",
"./input.c",
"./label.c",
"./LLlex.c",
"./LLmessage.c",
"./lookup.c",
"./main.c",
"./misc.c",
"./node.c",
"./options.c",
"./progs.c",
"./readwrite.c",
"./scope.c",
"./stab.c",
"./tokenname.c",
"./type.c",
"./typequiv.c",
"+casestat_c", "+casestat_c",
"+chartab_c", "+chartab_c",
"+next_c", "+next_c",

View file

@ -1,4 +1,9 @@
clibrary { clibrary {
name = "headers", name = "headers",
hdrs = {"./*.h"} hdrs = {
"./pc_err.h",
"./pc_file.h",
"./pc.h",
"./pc_math.h",
}
} }

View file

@ -4,7 +4,66 @@ for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { srcs = {
"./*.c", "./abi.c",
"./abl.c",
"./abr.c",
"./arg.c",
"./ass.c",
"./asz.c",
"./atn.c",
"./bcp.c",
"./buff.c",
"./catch.c",
"./cls.c",
"./cvt.c",
"./diag.c",
"./efl.c",
"./eln.c",
"./exp.c",
"./get.c",
"./hlt.c",
"./incpt.c",
"./ini.c",
"./log.c",
"./mdi.c",
"./mdl.c",
"./new.c",
"./nfa.c",
"./nobuff.c",
"./notext.c",
"./opn.c",
"./outcpt.c",
"./pac.c",
"./pclose.c",
"./pcreat.c",
"./pentry.c",
"./perrno.c",
"./pexit.c",
"./popen.c",
"./put.c",
"./rcka.c",
"./rdc.c",
"./rdi.c",
"./rdl.c",
"./rdr.c",
"./rf.c",
"./rln.c",
"./rnd.c",
"./sin.c",
"./sqt.c",
"./string.c",
"./unp.c",
"./uread.c",
"./uwrite.c",
"./wdw.c",
"./wf.c",
"./wrc.c",
"./wrf.c",
"./wri.c",
"./wrl.c",
"./wrr.c",
"./wrs.c",
"./wrz.c",
"./bts.e", "./bts.e",
"./encaps.e", "./encaps.e",
"./fef.e", "./fef.e",

View file

@ -1,7 +1,7 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.e" }, srcs = { "./dummy.e", },
vars = { plat = plat }, vars = { plat = plat },
} }
end end

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.e" }, srcs = {
"./edata.e",
"./em_end.e",
"./end.e",
"./etext.e",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

12
mach/i386/as/build.lua Normal file
View file

@ -0,0 +1,12 @@
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
}
}

View file

@ -1,7 +1,59 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, -- csb8.s srcs = {
"./adi.s",
"./and.s",
"./blm.s",
"./cii.s",
"./cms.s",
"./com.s",
"./csa4.s",
"./csa8.s",
"./csb4.s",
"./csb8.s",
"./cuu.s",
"./divrem8.s",
"./dup.s",
"./dvi8.s",
"./dvi.s",
"./dvu8.s",
"./dvu.s",
"./error.s",
"./exg.s",
"./fat.s",
"./fp8087.s",
"./gto.s",
"./iaar.s",
"./ilar.s",
"./inn.s",
"./ior.s",
"./isar.s",
"./lar4.s",
"./loi.s",
"./mli8.s",
"./mli.s",
"./mon.s",
"./ngi.s",
"./nop.s",
"./print.s",
"./rck.s",
"./rmi8.s",
"./rmi.s",
"./rmu.s",
"./rol.s",
"./ror.s",
"./sar4.s",
"./sbi.s",
"./set.s",
"./sli.s",
"./sri.s",
"./sti.s",
"./strhp.s",
"./trp.s",
"./unknown.s",
"./xor.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

8
mach/i386/ncg/build.lua Normal file
View file

@ -0,0 +1,8 @@
bundle {
name = "headers",
srcs = {
"./mach.c",
"./mach.h"
}
}

12
mach/i80/as/build.lua Normal file
View file

@ -0,0 +1,12 @@
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
}
}

View file

@ -58,7 +58,52 @@ end
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = concat("./*.s", generated), srcs = {
"./aar2.s",
"./adi4.s",
"./and.s",
"./blm.s",
"./cii.s",
"./cmi4.s",
"./cmps_mag.s",
"./cmpu_mag.s",
"./cms.s",
"./com.s",
"./csa.s",
"./csb.s",
"./dup.s",
"./dvi2.s",
"./dvi4.s",
"./exg.s",
"./flp.s",
"./inn.s",
"./ior.s",
"./lar2.s",
"./loi.s",
"./mli2.s",
"./mli4.s",
"./mlu2.s",
"./ngi4.s",
"./nop.s",
"./pchl.s",
"./pro.s",
"./rck.s",
"./ret.s",
"./rol4.s",
"./ror4.s",
"./rst.s",
"./sar2.s",
"./sbi4.s",
"./set2.s",
"./set.s",
"./sli2.s",
"./sli4.s",
"./sri2.s",
"./sri4.s",
"./sti.s",
"./xor.s",
generated
},
vars = { vars = {
plat = plat, plat = plat,
["+ackcflags"] = {"-Imach/i80/libem"} ["+ackcflags"] = {"-Imach/i80/libem"}

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

8
mach/i80/ncg/build.lua Normal file
View file

@ -0,0 +1,8 @@
bundle {
name = "headers",
srcs = {
"./mach.c",
"./mach.h"
}
}

12
mach/i86/as/build.lua Normal file
View file

@ -0,0 +1,12 @@
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
}
}

View file

@ -1,7 +1,67 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./adi.s",
"./and.s",
"./blm.s",
"./cii.s",
"./cmi4.s",
"./cms.s",
"./cmu4.s",
"./com.s",
"./csa2.s",
"./csa4.s",
"./csb2.s",
"./csb4.s",
"./cuu.s",
"./dup.s",
"./dvi4.s",
"./dvi.s",
"./dvu4.s",
"./dvu.s",
"./error.s",
"./exg.s",
"./fat.s",
"./fp8087.s",
"./gto.s",
"./iaar.s",
"./ilar.s",
"./inn.s",
"./ior.s",
"./isar.s",
"./lar2.s",
"./lfr6.s",
"./lfr8.s",
"./loi.s",
"./mli4.s",
"./mli.s",
"./mon.s",
"./ngi.s",
"./nop.s",
"./print.s",
"./rck.s",
"./ret6.s",
"./ret8.s",
"./retarea.s",
"./return.s",
"./rmi4.s",
"./rmi.s",
"./rmu4.s",
"./rmu.s",
"./rol.s",
"./ror.s",
"./sar2.s",
"./sbi.s",
"./set.s",
"./sli.s",
"./sri.s",
"./sti.s",
"./strhp.s",
"./trp.s",
"./unknown.s",
"./xor.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

8
mach/i86/ncg/build.lua Normal file
View file

@ -0,0 +1,8 @@
bundle {
name = "headers",
srcs = {
"./mach.c",
"./mach.h"
}
}

12
mach/m68020/as/build.lua Normal file
View file

@ -0,0 +1,12 @@
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
}
}

View file

@ -2,8 +2,37 @@ for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { srcs = {
"./*.s", -- csb8.s "./aar.s",
"./*.c" "./cii.s",
"./cmi.s",
"./cms.s",
"./cmu.s",
"./csa8.s",
"./csa.s",
"./csb8.s",
"./csb.s",
"./cuu.s",
"./cvf.s",
"./dia.s",
"./divrem8.s",
"./dvi8.s",
"./dvu8.s",
"./exg.s",
"./fat.s",
"./fp68881.s",
"./inn.s",
"./lar.s",
"./los.s",
"./mon.s",
"./nop.s",
"./rmi8.s",
"./rmu8.s",
"./sar.s",
"./set.s",
"./shp.s",
"./sts.s",
"./trp.s",
"./trpstr.c",
}, },
vars = { plat = plat }, vars = { plat = plat },
deps = { deps = {

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

View file

@ -0,0 +1,9 @@
bundle {
name = "headers",
srcs = {
"./mach.c",
"./mach.h",
"./whichone.h"
}
}

View file

@ -4,3 +4,16 @@ normalrule {
ins = {"./mktables.lua", "./instructions.dat"}, ins = {"./mktables.lua", "./instructions.dat"},
commands = {"$(LUA) %{ins[1]} %{outs} < %{ins[2]}"} commands = {"$(LUA) %{ins[1]} %{outs} < %{ins[2]}"}
} }
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
}
}

View file

@ -6,7 +6,33 @@ for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { srcs = {
"./*.s", -- dus4.s "./aar4.s",
"./and.s",
"./bls4.s",
"./cms.s",
"./compareul.s",
"./com.s",
"./csa.s",
"./csb.s",
"./c_ud_i.s",
"./c_uf_i.s",
"./c_ui_d.s",
"./c_ui_f.s",
"./dus4.s",
"./exg.s",
"./fef8.s",
"./fif8.s",
"./inn.s",
"./ior.s",
"./lar4.s",
"./los4.s",
"./rck.s",
"./sar4.s",
"./set.s",
"./sts4.s",
"./trp.s",
"./xor.s",
"./zer.s",
}, },
vars = { plat = plat }, vars = { plat = plat },
deps = { deps = {

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

7
mach/mips/mcg/build.lua Normal file
View file

@ -0,0 +1,7 @@
bundle {
name = "headers",
srcs = {
"./platform.c",
}
}

12
mach/pdp/as/build.lua Normal file
View file

@ -0,0 +1,12 @@
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
}
}

View file

@ -1,6 +1,6 @@
cprogram { cprogram {
name = "cv", name = "cv",
srcs = { "./*.c" }, srcs = { "./cv.c" },
deps = { deps = {
"h+emheaders", "h+emheaders",
"modules/src/object+lib", "modules/src/object+lib",

View file

@ -1,7 +1,79 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./aar.s",
"./adf.s",
"./adi.s",
"./and.s",
"./cff.s",
"./cfi.s",
"./cif.s",
"./cii.s",
"./ciu.s",
"./cmf.s",
"./cmi4.s",
"./cmi.s",
"./cms.s",
"./cmu4.s",
"./cmu.s",
"./csa.s",
"./csb.s",
"./dup.s",
"./dvf.s",
"./dvi4.s",
"./dvi.s",
"./dvu2.s",
"./dvu4.s",
"./dvu.s",
"./eret.s",
"./exg.s",
"./fef.s",
"./fif.s",
"./gto.s",
"./iaar.s",
"./ilar.s",
"./inn.s",
"./isar.s",
"./lar.s",
"./los2.s",
"./mlf.s",
"./mli4.s",
"./mli.s",
"./mlu4.s",
"./mlu.s",
"./mon.s",
"./ngf.s",
"./ngi.s",
"./nop.s",
"./prf.s",
"./printf.s",
"./rck.s",
"./ret.s",
"./rmi4.s",
"./rmi.s",
"./rmu2.s",
"./rmu4.s",
"./rmu.s",
"./rol.s",
"./ror.s",
"./RT.s",
"./sar.s",
"./save.s",
"./sbf.s",
"./sbi.s",
"./setfl.s",
"./set.s",
"./sim.s",
"./sli.s",
"./sri.s",
"./sru.s",
"./sto2.s",
"./strhp.s",
"./trp.s",
"./unknown.s",
"./xor.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

12
mach/powerpc/as/build.lua Normal file
View file

@ -0,0 +1,12 @@
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
}
}

View file

@ -6,7 +6,35 @@ for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { srcs = {
"./*.s", -- dus4.s "./aar4.s",
"./and.s",
"./bls4.s",
"./cfi8.s",
"./cfu8.s",
"./cif8.s",
"./cms.s",
"./com.s",
"./csa.s",
"./csb.s",
"./cuf8.s",
-- "./dus4.s",
"./exg.s",
"./fd_00000000.s",
"./fef4.s",
"./fef8.s",
"./fif4.s",
"./fif8.s",
"./inn.s",
"./ior.s",
"./lar4.s",
"./los4.s",
"./rck.s",
"./sar4.s",
"./set.s",
"./sts4.s",
"./trp.s",
"./xor.s",
"./zer.s",
}, },
vars = { plat = plat }, vars = { plat = plat },
deps = { deps = {

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

View file

@ -0,0 +1,7 @@
bundle {
name = "headers",
srcs = {
"./platform.c",
}
}

View file

@ -0,0 +1,8 @@
bundle {
name = "headers",
srcs = {
"./mach.c",
"./mach.h"
}
}

View file

@ -11,10 +11,7 @@ definerule("build_as",
local archlib = clibrary { local archlib = clibrary {
name = e.name.."/archlib", name = e.name.."/archlib",
srcs = {}, srcs = {},
hdrs = { hdrs = { "mach/"..e.arch.."/as+headers" },
"mach/"..e.arch.."/as/mach*.c",
"mach/"..e.arch.."/as/*.h"
}
} }
local preprocessedy = cppfile { local preprocessedy = cppfile {
@ -38,7 +35,12 @@ definerule("build_as",
return cprogram { return cprogram {
name = e.name, name = e.name,
srcs = concat( srcs = concat(
"mach/proto/as/*.c", "mach/proto/as/comm3.c",
"mach/proto/as/comm4.c",
"mach/proto/as/comm5.c",
"mach/proto/as/comm6.c",
"mach/proto/as/comm7.c",
"mach/proto/as/comm8.c",
matching(filenamesof(yaccfiles), "%.c$") matching(filenamesof(yaccfiles), "%.c$")
), ),
deps = { deps = {

View file

@ -11,9 +11,24 @@ definerule("build_cg",
name = e.name.."/headers", name = e.name.."/headers",
srcs = {}, srcs = {},
hdrs = { hdrs = {
"mach/proto/cg/*.h", "mach/proto/cg/assert.h",
"mach/proto/cg/codegen.h",
"mach/proto/cg/data.h",
"mach/proto/cg/equiv.h",
"mach/proto/cg/extern.h",
"mach/proto/cg/fillem.h",
"mach/proto/cg/gencode.h",
"mach/proto/cg/glosym.h",
"mach/proto/cg/param.h",
"mach/proto/cg/reg.h",
"mach/proto/cg/regvar.h",
"mach/proto/cg/result.h",
"mach/proto/cg/salloc.h",
"mach/proto/cg/state.h",
"mach/proto/cg/subr.h",
"mach/proto/cg/types.h",
"mach/"..e.arch.."/cg/mach.c", "mach/"..e.arch.."/cg/mach.c",
"mach/"..e.arch.."/cg/*.h", "mach/"..e.arch.."/cg/mach.h",
} }
} }
@ -25,7 +40,21 @@ definerule("build_cg",
return cprogram { return cprogram {
name = e.name, name = e.name,
srcs = { srcs = {
"mach/proto/cg/*.c", "mach/proto/cg/codegen.c",
"mach/proto/cg/compute.c",
"mach/proto/cg/equiv.c",
"mach/proto/cg/fillem.c",
"mach/proto/cg/gencode.c",
"mach/proto/cg/glosym.c",
"mach/proto/cg/main.c",
"mach/proto/cg/move.c",
"mach/proto/cg/nextem.c",
"mach/proto/cg/reg.c",
"mach/proto/cg/regvar.c",
"mach/proto/cg/salloc.c",
"mach/proto/cg/state.c",
"mach/proto/cg/subr.c",
"mach/proto/cg/var.c",
matching(filenamesof(tables), "%.c$") matching(filenamesof(tables), "%.c$")
}, },
deps = { deps = {

View file

@ -3,10 +3,51 @@ include("plat/build.lua")
-- For now, all floats are little-endian. -- For now, all floats are little-endian.
local byte_order = "mach/i86/libfp/byte_order.h" local byte_order = "mach/i86/libfp/byte_order.h"
local srcs = {
"./adder.c",
"./add_ext.c",
"./adf4.c",
"./adf8.c",
"./cff4.c",
"./cff8.c",
"./cfi.c",
"./cfu.c",
"./cif4.c",
"./cif8.c",
"./cmf4.c",
"./cmf8.c",
"./compact.c",
"./cuf4.c",
"./cuf8.c",
"./div_ext.c",
"./dvf4.c",
"./dvf8.c",
"./extend.c",
"./fef4.c",
"./fef8.c",
"./fif4.c",
"./fif8.c",
"./fptrp.e",
"./mlf4.c",
"./mlf8.c",
"./mul_ext.c",
"./ngf4.c",
"./ngf8.c",
"./nrm_ext.c",
"./sbf4.c",
"./sbf8.c",
"./sft_ext.c",
"./shifter.c",
"./sub_ext.c",
"./zrf4.c",
"./zrf8.c",
"./zrf_ext.c",
}
-- For now, only cpm uses software floating-point. -- For now, only cpm uses software floating-point.
for _, plat in ipairs({"cpm"}) do for _, plat in ipairs({"cpm"}) do
local edits = {} local edits = {}
for _, src in fpairs("./*.c", "./*.e") do for _, src in fpairs(srcs) do
-- Compile each src file into assembly code. -- Compile each src file into assembly code.
local n = basename(src):gsub("%.%w*$", "") local n = basename(src):gsub("%.%w*$", "")
@ -14,7 +55,11 @@ for _, plat in ipairs({"cpm"}) do
name = "s_"..plat.."/"..n, name = "s_"..plat.."/"..n,
srcs = { src }, srcs = { src },
deps = { deps = {
"./*.h", "./FP_bias.h",
"./FP_shift.h",
"./FP_trap.h",
"./FP_types.h",
"./get_put.h",
byte_order, byte_order,
}, },
suffix = ".s", suffix = ".s",

View file

@ -11,8 +11,16 @@ definerule("build_mcg",
name = e.name.."/headers", name = e.name.."/headers",
srcs = {}, srcs = {},
hdrs = { hdrs = {
"mach/proto/mcg/*.h", "mach/proto/mcg/basicblock.h",
"mach/"..e.arch.."/mcg/*.h", "mach/proto/mcg/graph.h",
"mach/proto/mcg/hop.h",
"mach/proto/mcg/ir.h",
"mach/proto/mcg/mcgg_generated_footer.h",
"mach/proto/mcg/mcgg_generated_header.h",
"mach/proto/mcg/mcg.h",
"mach/proto/mcg/procedure.h",
"mach/proto/mcg/reg.h",
"mach/"..e.arch.."/mcg+headers",
} }
} }
@ -24,7 +32,33 @@ definerule("build_mcg",
return cprogram { return cprogram {
name = e.name, name = e.name,
srcs = { srcs = {
"mach/proto/mcg/*.c", "mach/proto/mcg/basicblock.c",
"mach/proto/mcg/data.c",
"mach/proto/mcg/graph.c",
"mach/proto/mcg/hop.c",
"mach/proto/mcg/ir.c",
"mach/proto/mcg/main.c",
"mach/proto/mcg/parse_em.c",
"mach/proto/mcg/pass_convertstackops.c",
"mach/proto/mcg/pass_eliminatetrivialblocks.c",
"mach/proto/mcg/pass_groupirs.c",
"mach/proto/mcg/pass_instructionselection.c",
"mach/proto/mcg/pass_livevreganalysis.c",
"mach/proto/mcg/pass_lowerpushes.c",
"mach/proto/mcg/pass_phigroups.c",
"mach/proto/mcg/pass_prologueepilogue.c",
"mach/proto/mcg/pass_registerallocator.c",
"mach/proto/mcg/pass_removedeadblocks.c",
"mach/proto/mcg/pass_removedeadphis.c",
"mach/proto/mcg/pass_returnvalues.c",
"mach/proto/mcg/pass_splitcriticaledges.c",
"mach/proto/mcg/pass_ssa.c",
"mach/proto/mcg/pass_typeinference.c",
"mach/proto/mcg/predicates.c",
"mach/proto/mcg/procedure.c",
"mach/proto/mcg/reg.c",
"mach/proto/mcg/symbol.c",
"mach/proto/mcg/treebuilder.c",
"mach/"..e.arch.."/mcg/platform.c", "mach/"..e.arch.."/mcg/platform.c",
matching(filenamesof(tables), "%.c$") matching(filenamesof(tables), "%.c$")
}, },

View file

@ -2,7 +2,7 @@ include("util/ncgg/build.lua")
definerule("build_ncg", definerule("build_ncg",
{ {
arch = { type="string" } arch = { type="string" },
}, },
function(e) function(e)
-- Remember this is executed from the caller's directory; local -- Remember this is executed from the caller's directory; local
@ -21,8 +21,7 @@ definerule("build_ncg",
"mach/proto/ncg/state.h", "mach/proto/ncg/state.h",
"mach/proto/ncg/types.h", "mach/proto/ncg/types.h",
"mach/proto/ncg/xmach.h", "mach/proto/ncg/xmach.h",
"mach/"..e.arch.."/ncg/mach.c", "mach/"..e.arch.."/ncg+headers",
"mach/"..e.arch.."/ncg/*.h",
} }
} }
@ -34,7 +33,22 @@ definerule("build_ncg",
return cprogram { return cprogram {
name = e.name, name = e.name,
srcs = { srcs = {
"mach/proto/ncg/*.c", "mach/proto/ncg/codegen.c",
"mach/proto/ncg/compute.c",
"mach/proto/ncg/equiv.c",
"mach/proto/ncg/fillem.c",
"mach/proto/ncg/gencode.c",
"mach/proto/ncg/glosym.c",
"mach/proto/ncg/label.c",
"mach/proto/ncg/main.c",
"mach/proto/ncg/move.c",
"mach/proto/ncg/nextem.c",
"mach/proto/ncg/reg.c",
"mach/proto/ncg/regvar.c",
"mach/proto/ncg/salloc.c",
"mach/proto/ncg/state.c",
"mach/proto/ncg/subr.c",
"mach/proto/ncg/var.c",
matching(filenamesof(tables), "%.c$") matching(filenamesof(tables), "%.c$")
}, },
deps = { deps = {

View file

@ -12,7 +12,10 @@ definerule("build_top",
return cprogram { return cprogram {
name = e.name, name = e.name,
srcs = { "mach/proto/top/*.c", }, srcs = {
"mach/proto/top/queue.c",
"mach/proto/top/top.c",
},
deps = { t }, deps = { t },
} }
end end

13
mach/vc4/as/build.lua Normal file
View file

@ -0,0 +1,13 @@
bundle {
name = "headers",
srcs = {
"./mach0.c",
"./mach1.c",
"./mach2.c",
"./mach3.c",
"./mach4.c",
"./mach5.c",
"./binary.h",
}
}

View file

@ -1,7 +1,10 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./csa.s",
"./csb.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

View file

@ -1,7 +1,12 @@
for _, plat in ipairs(vars.plats) do for _, plat in ipairs(vars.plats) do
acklibrary { acklibrary {
name = "lib_"..plat, name = "lib_"..plat,
srcs = { "./*.s" }, srcs = {
"./edata.s",
"./em_end.s",
"./end.s",
"./etext.s",
},
vars = { plat = plat }, vars = { plat = plat },
} }
end end

8
mach/vc4/ncg/build.lua Normal file
View file

@ -0,0 +1,8 @@
bundle {
name = "headers",
srcs = {
"./mach.c",
"./mach.h"
}
}

View file

@ -1,7 +1,12 @@
clibrary { clibrary {
name = "headers", name = "headers",
hdrs = { hdrs = {
"./h/*.h" "./h/ansi.h",
"./h/em_arith.h",
"./h/em.h",
"./h/em_label.h",
"./h/em_mesX.h",
"./h/emO_code.h",
} }
} }

View file

@ -1,11 +1,21 @@
clibrary { clibrary {
name = "lib", name = "lib",
srcs = { "./*.c" }, srcs = {
"./botch.c",
"./clear.c",
"./Malloc.c",
"./No_Mem.c",
"./Realloc.c",
"./Salloc.c",
"./Srealloc.c",
"./st_alloc.c",
"./std_alloc.c",
},
hdrs = { "./alloc.h" }, hdrs = { "./alloc.h" },
deps = { deps = {
"modules+headers", "modules+headers",
"modules/src/system+lib", "modules/src/system+lib",
"./*.h" "./alloc.h"
}, },
} }

View file

@ -1,7 +1,25 @@
clibrary { local hfiles = {
name = "lib", "./array.h",
srcs = { "./*.c" }, "./astring.h",
hdrs = { "./*.h" }, "./diagnostics.h",
deps = { "./*.h" }, "./imap.h",
"./pmap.h",
"./smap.h",
"./stringlist.h",
}
clibrary {
name = "lib",
srcs = {
"./array.c",
"./astring.c",
"./diagnostics.c",
"./imap.c",
"./pmap.c",
"./smap.c",
"./stringlist.c",
},
hdrs = hfiles,
deps = hfiles,
} }

View file

@ -1,6 +1,19 @@
clibrary { clibrary {
name = "lib", name = "lib",
srcs = { "./*.c" }, srcs = {
"./C_ms_com.c",
"./C_ms_ego.c",
"./C_ms_emx.c",
"./C_ms_err.c",
"./C_ms_flt.c",
"./C_ms_gto.c",
"./C_ms_opt.c",
"./C_ms_par.c",
"./C_ms_reg.c",
"./C_ms_src.c",
"./C_ms_stb.c",
"./C_ms_std.c",
},
deps = { deps = {
"h+emheaders", "h+emheaders",
"modules+headers", "modules+headers",

View file

@ -19,7 +19,8 @@ clibrary {
hdrs = { "./flt_arith.h" }, hdrs = { "./flt_arith.h" },
deps = { deps = {
"modules+headers", "modules+headers",
"./*.h", "./flt_arith.h",
"./flt_misc.h",
} }
} }

View file

@ -1,7 +1,10 @@
clibrary { clibrary {
name = "lib", name = "lib",
srcs = {}, srcs = {},
hdrs = { "./idf_pkg.*" }, hdrs = {
"./idf_pkg.body",
"./idf_pkg.spec",
}
} }

View file

@ -1,9 +1,13 @@
clibrary { clibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.c" "./AtEoIF.c",
"./AtEoIT.c",
}, },
hdrs = { "./inp_pkg.*" } hdrs = {
"./inp_pkg.body",
"./inp_pkg.spec",
}
} }

View file

@ -1,12 +1,28 @@
clibrary { clibrary {
name = "lib", name = "lib",
srcs = { "./*.c" }, srcs = {
"./rd_arhdr.c",
"./rd_bytes.c",
"./rd.c",
"./rd_int2.c",
"./rd_int4.c",
"./rd_ranlib.c",
"./rd_unsig2.c",
"./wr_arhdr.c",
"./wr_bytes.c",
"./wr.c",
"./wr_int2.c",
"./wr_int4.c",
"./wr_putc.c",
"./wr_ranlib.c",
},
hdrs = { "./object.h" }, hdrs = { "./object.h" },
deps = { deps = {
"modules+headers", "modules+headers",
"h+local", "h+local",
"h+emheaders", "h+emheaders",
"./*.h", "./object.h",
"./obj.h",
}, },
} }

View file

@ -56,7 +56,7 @@ local function variant(name, cflags)
"modules/src/em_data+lib", "modules/src/em_data+lib",
"modules/src/string+lib", "modules/src/string+lib",
"modules/src/system+lib", "modules/src/system+lib",
"./*.h", "./em_comp.h",
} }
} }
end end

View file

@ -1,6 +1,8 @@
ackfile { ackfile {
name = "bdos_o", name = "bdos_o",
srcs = { "./*.s" }, srcs = {
"./bdos.s",
},
vars = { plat = "cpm" }, vars = { plat = "cpm" },
} }
@ -38,7 +40,12 @@ cprogram {
name = "emu", name = "emu",
srcs = { srcs = {
"+bdos_c", "+bdos_c",
"./*.c" "./biosbdos.c",
"./dis8080.c",
"./emulator.c",
"./fileio.c",
"./intel_8080_emulator.c",
"./main.c",
}, },
} }

View file

@ -1,6 +1,9 @@
acklibrary { acklibrary {
name = "internal", name = "internal",
hdrs = { "./*.h" } hdrs = {
"./asm.h",
"./cpmsys.h",
}
} }
local bdos_calls = { local bdos_calls = {
@ -125,8 +128,32 @@ end
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.c", "./_bdos.s",
"./*.s", "./_bios_raw.s",
"./_bios.s",
"./bios_sectran.s",
"./bios_seldsk.s",
"./brk.c",
"./close.c",
"./cpm_overwrite_ccp.s",
"./cpm_printstring0.s",
"./cpm_read_random_safe.c",
"./creat.c",
-- "./errno.s",
"./fcb.c",
"./fd.c",
"./getpid.c",
"./_hol0.s",
"./_inn2.s",
"./isatty.c",
"./kill.c",
"./lseek.c",
"./open.c",
"./read.c",
"./signal.c",
"./time.c",
"./_trap.s",
"./write.c",
generated generated
}, },
deps = { deps = {

View file

@ -9,5 +9,7 @@ plat_testsuite {
"floats", -- floats aren't supported "floats", -- floats aren't supported
"long-long", "long-long",
}, },
tests = { "./*.c" }, tests = {
"./parsefcb_c.c",
}
} }

74
plat/em/libsys/build.lua Normal file
View file

@ -0,0 +1,74 @@
bundle {
name = "srcs",
srcs = {
"./access.e",
"./acct.e",
"./alarm.e",
"./brk.e",
"./chdir.e",
"./chmod.e",
"./chown.e",
"./chroot.e",
"./close.e",
"./creat.e",
"./dup2.e",
"./dup.e",
"./errno.e",
"./execl.e",
"./execle.e",
"./execv.e",
"./execve.e",
"./_exit.e",
"./fork.e",
"./fstat.e",
"./ftime.e",
"./getegid.e",
"./geteuid.e",
"./getgid.e",
"./getpid.e",
"./getuid.e",
"./gtty.c",
"./ioctl.e",
"./isatty.c",
"./kill.e",
"./link.e",
"./lock.e",
"./lseek.e",
"./mknod.e",
"./mount.e",
"./mpxcall.e",
"./nice.e",
"./open.e",
"./pause.e",
"./pipe.e",
"./prof.e",
"./ptrace.e",
"./read.e",
"./sbrk.e",
"./setgid.e",
"./setsig.e",
"./setuid.e",
"./signal.c",
"./sigtrp.e",
"./stat.e",
"./stime.e",
"./stty.c",
"./sync.e",
"./tell.c",
"./time.c",
"./times.e",
"./umask.e",
"./umount.e",
"./unlink.e",
"./utime.e",
"./wait.e",
"./write.e",
}
}
bundle {
name = "headers",
srcs = {
}
}

View file

@ -1,13 +1,10 @@
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.e", "plat/em/libsys+srcs",
"./*.c",
"plat/em/libsys/*.c",
"plat/em/libsys/*.e",
}, },
deps = { deps = {
"plat/em/libsys/*.h", "plat/em/libsys+headers",
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",
"plat/em22/include+pkg", "plat/em22/include+pkg",
"h+emheaders", "h+emheaders",

View file

@ -0,0 +1,35 @@
bundle {
name = "srcs",
srcs = {
"./close.c",
"./creat.c",
"./execve.c",
"./_exit.c",
"./fork.c",
"./getpid.c",
"./gettimeofday.c",
"./_hol0.s",
"./ioctl.c",
"./isatty.c",
"./kill.c",
"./lseek.c",
"./open.c",
"./read.c",
"./sbrk.c",
"./signal.c",
"./sigprocmask.c",
"./unlink.c",
"./wait.c",
"./waitpid.c",
"./write.c",
}
}
bundle {
name = "headers",
srcs = {
"./libsys.h",
"./syscalls.h",
}
}

View file

@ -1,12 +1,13 @@
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.s", "./execl.s",
"plat/linux/libsys/*.c", "./_syscall.s",
"plat/linux/libsys/*.s", "./trapno.s",
"plat/linux/libsys+srcs",
}, },
deps = { deps = {
"plat/linux/libsys/*.h", "plat/linux/libsys+headers",
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",
"plat/linux386/include+pkg", "plat/linux386/include+pkg",
}, },

View file

@ -1,12 +1,11 @@
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.s", "./_syscall.s",
"plat/linux/libsys/*.c", "plat/linux/libsys+srcs",
"plat/linux/libsys/*.s",
}, },
deps = { deps = {
"plat/linux/libsys/*.h", "plat/linux/libsys+headers",
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",
"plat/linux68k/include+pkg", "plat/linux68k/include+pkg",
}, },

View file

@ -25,7 +25,7 @@ acklibrary {
"plat/linux/libsys/write.c", "plat/linux/libsys/write.c",
}, },
deps = { deps = {
"plat/linux/libsys/*.h", "plat/linux/libsys+headers",
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",
"plat/linuxmips/include+pkg", "plat/linuxmips/include+pkg",
}, },

View file

@ -20,7 +20,10 @@ clibrary {
cprogram { cprogram {
name = "emuppc", name = "emuppc",
srcs = { "./*.c" }, srcs = {
"./emu.c",
"./main.c",
},
deps = { deps = {
"+dispatcher_lib" "+dispatcher_lib"
} }

View file

@ -27,7 +27,7 @@ acklibrary {
"plat/linux/libsys/write.c", "plat/linux/libsys/write.c",
}, },
deps = { deps = {
"plat/linux/libsys/*.h", "plat/linux/libsys+headers",
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",
"plat/linuxppc/include+pkg", "plat/linuxppc/include+pkg",
}, },

View file

@ -1,8 +1,39 @@
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.c", "./brk.c",
"./*.s", "./close.s",
"./creat.c",
"./errno.s",
"./getpid.s",
"./gettimeofday.c",
"./_hol0.s",
"./isatty.s",
"./kill.c",
"./lseek.c",
"./open.c",
"./read.c",
"./setmode.c",
"./signal.c",
"./sys_exists.s",
"./sys_fdmodes.c",
"./sys_getdate.s",
"./sys_getmode.c",
"./sys_gettime.s",
"./sys_initmain.c",
"./sys_iseof.c",
"./sys_isopen.s",
"./sys_isreadyr.s",
"./sys_rawcreat.s",
"./sys_rawlseek.s",
"./sys_rawopen.s",
"./sys_rawrw.s",
"./sys_seteof.c",
"./sys_seterrno.c",
"./sys_setmode.c",
"./sys_xret.s",
"./unlink.s",
"./write.c",
}, },
deps = { deps = {
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",

View file

@ -3,7 +3,15 @@ clibrary {
vars = { vars = {
["+cflags"] = {"-Iplat/pc86/emu/x86emu", "-DDEBUG"} ["+cflags"] = {"-Iplat/pc86/emu/x86emu", "-DDEBUG"}
}, },
srcs = {"./x86emu/*.c"} srcs = {
"./x86emu/debug.c",
"./x86emu/decode.c",
"./x86emu/fpu.c",
"./x86emu/ops2.c",
"./x86emu/ops.c",
"./x86emu/prim_ops.c",
"./x86emu/sys.c",
}
} }
cprogram { cprogram {

View file

@ -1,8 +1,22 @@
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.c", "./brk.c",
"./*.s", "./close.c",
"./creat.c",
"./errno.s",
"./getpid.c",
"./_hol0.s",
"./isatty.c",
"./kill.c",
"./lseek.c",
"./open.c",
"./read.c",
"./signal.c",
"./_sys_rawread.s",
"./_sys_rawwrite.s",
"./time.c",
"./write.c",
}, },
deps = { deps = {
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",

View file

@ -1,8 +1,87 @@
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.c", "./access.s",
"./*.s", "./acct.s",
"./alarm.s",
"./chdir.s",
"./chmod.s",
"./chown.s",
"./chroot.s",
"./cleanup.c",
"./close.s",
"./creat.s",
"./dup.s",
"./errno.s",
"./execle.s",
"./execl.s",
"./execve.s",
"./execv.s",
"./exit.c",
"./_exit.s",
"./fetchi.s",
"./fork.s",
"./fperr.s",
"./fstat.s",
"./ftime.s",
"./getgid.s",
"./getgrp.s",
"./getpid.s",
"./getppid.s",
"./getuid.s",
"./gldav.s",
"./gtty.c",
"./ioctl.s",
"./isatty.c",
"./killbkg.s",
"./killpg.s",
"./kill.s",
"./link.s",
"./lock.s",
"./login.s",
"./lseek.s",
"./lstat.s",
"./mknod.s",
"./mount.s",
"./mpxcall.s",
"./nice.s",
"./nostk.s",
"./open.s",
"./pause.s",
"./phys.s",
"./pipe.s",
"./profil.s",
"./ptrace.s",
"./qfstat.s",
"./qstat.s",
"./quota.s",
"./readlink.s",
"./read.s",
"./reboot.s",
"./renice.s",
"./rtp.s",
"./sbrk.s",
"./setgid.s",
"./setgrp.s",
"./setuid.s",
"./signal.s",
"./stat.s",
"./stime.s",
"./stty.c",
"./submit.s",
"./symlink.s",
"./sync.s",
"./time.s",
"./times.s",
"./ucall.s",
"./umask.s",
"./umount.s",
"./unlink.s",
"./utime.s",
"./vfork.s",
"./vhangup.s",
"./wait.s",
"./write.s",
}, },
deps = { deps = {
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",

View file

@ -1,8 +1,27 @@
acklibrary { acklibrary {
name = "lib", name = "lib",
srcs = { srcs = {
"./*.c", "./brk.c",
"./*.s", "./close.c",
"./creat.c",
"./errno.s",
"./getpid.c",
"./_hol0.s",
"./isatty.c",
"./kill.c",
"./lseek.c",
"./open.c",
"./pi_fast_mode.s",
"./pi_phys_to_user.s",
"./pi_uart.s",
"./pi_user_to_phys.s",
"./read.c",
"./select.c",
"./signal.c",
"./tcgetattr.c",
"./tcsetattr.c",
"./time.c",
"./write.c",
}, },
deps = { deps = {
"lang/cem/libcc.ansi/headers+headers", "lang/cem/libcc.ansi/headers+headers",

9
tests/plat/b/build.lua Normal file
View file

@ -0,0 +1,9 @@
bundle {
name = "srcs",
srcs = {
"./control_b.b",
"./incdec_b.b",
"./operators_b.b",
}
}

12
tests/plat/bugs/build.lua Normal file
View file

@ -0,0 +1,12 @@
bundle {
name = "srcs",
srcs = {
"./bug-157-i80-varargs_c.c",
"./bug-164-faddrn_c.c",
"./bug-203-ego-sr_c-O3.c",
"./bug-22-inn_mod.mod",
"./bug-62-notvar_var_e.c",
}
}

View file

@ -20,7 +20,7 @@ definerule("plat_testsuite",
end end
for _, set in ipairs(e.sets) do for _, set in ipairs(e.sets) do
if not skipsets[set] then if not skipsets[set] then
local fs = filenamesof("tests/plat/"..set.."/*") local fs = filenamesof("tests/plat/"..set.."+srcs")
for _, f in ipairs(fs) do for _, f in ipairs(fs) do
testfiles[#testfiles+1] = f testfiles[#testfiles+1] = f
end end

42
tests/plat/core/build.lua Normal file
View file

@ -0,0 +1,42 @@
bundle {
name = "srcs",
srcs = {
"./aar_e.e",
"./and_e.e",
"./andv_e.e",
"./brk_c.c",
"./bss_e.c",
"./calloc_c.c",
"./cii_e.e",
"./cmi_e.e",
"./cms_e.e",
"./cmu_e.e",
"./csa_e.c",
"./csb_e.c",
"./_dummy_e.c",
"./dup_e.e",
"./exg_e.e",
"./inn_e.e",
"./intadd_e.c",
"./intcmp_e.c",
"./intdiv_e.c",
"./intrem_e.c",
"./intshift_e.c",
"./intsub_e.c",
"./ior_e.e",
"./iorv_e.e",
"./lar_e.e",
"./newdispose_p.p",
"./pascalsets_p.p",
"./rck_e.e",
"./rotate_e.e",
"./sar_e.e",
"./set_e.e",
"./setjmp_c.c",
"./structcopy_e.c",
"./xor_e.e",
"./xorv_e.e",
}
}

View file

@ -0,0 +1,12 @@
bundle {
name = "srcs",
srcs = {
"./doublecmp_e.c",
"./from_d_to_si_e.c",
"./from_d_to_ui_e.c",
"./from_si_to_d_e.c",
"./from_ui_to_d_e.c",
}
}

7
tests/plat/lib/build.lua Normal file
View file

@ -0,0 +1,7 @@
bundle {
name = "srcs",
srcs = {
}
}

View file

@ -0,0 +1,15 @@
bundle {
name = "srcs",
srcs = {
"./lladdsub_e.c",
"./llbitset_e.c",
"./llcmp_e.c",
"./llconvert_e.c",
"./lldivrem_e.c",
"./llmul_e.c",
"./llshift_e.c",
"./llswitch_e.c",
}
}

13
tests/plat/m2/build.lua Normal file
View file

@ -0,0 +1,13 @@
bundle {
name = "srcs",
srcs = {
"./ConvTest_mod.mod",
"./NestProc_mod.mod",
"./OpenArray_mod.mod",
"./SemaTest_mod.mod",
"./Set100_mod.mod",
"./StringTest_mod.mod",
}
}

View file

@ -26,7 +26,17 @@ normalrule {
cprogram { cprogram {
name = "em_ass", name = "em_ass",
srcs = { srcs = {
"./ass*.c", "./ass00.c",
"./ass30.c",
"./ass40.c",
"./ass50.c",
"./ass60.c",
"./ass70.c",
"./ass80.c",
"./assci.c",
"./asscm.c",
"./assda.c",
"./assrl.c",
"+asstb", "+asstb",
}, },
deps = { deps = {
@ -37,7 +47,11 @@ cprogram {
--"modules/src/data+lib", --"modules/src/data+lib",
--"modules/src/object+lib", --"modules/src/object+lib",
"modules/src/system+lib", "modules/src/system+lib",
"./ass*.h", "./ass00.h",
"./assci.h",
"./asscm.h",
"./assex.h",
"./assrl.h",
} }
} }

View file

@ -13,7 +13,7 @@ local cgglexer = flex {
cprogram { cprogram {
name = "cgg", name = "cgg",
srcs = concat( srcs = concat(
"./*.c", "./main.c",
matching(filenamesof(cggparser), "%.c$"), matching(filenamesof(cggparser), "%.c$"),
matching(filenamesof(cgglexer), "%.c$") matching(filenamesof(cgglexer), "%.c$")
), ),

View file

@ -14,17 +14,257 @@ local function build_ego(name)
} }
end end
build_ego("bo") cprogram {
build_ego("ca") name = "bo",
build_ego("cf") srcs = {
build_ego("cj") "./bo/bo.c",
build_ego("cs") },
build_ego("ic") deps = {
build_ego("il") "util/ego/share+lib",
build_ego("lv") "modules/src/em_data+lib",
build_ego("sp") "h+emheaders",
build_ego("sr") },
build_ego("ud") vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "ca",
srcs = {
"./ca/ca.c",
"./ca/ca_put.c",
},
deps = {
"./ca/ca.h",
"./ca/ca_put.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "cf",
srcs = {
"./cf/cf.c",
"./cf/cf_idom.c",
"./cf/cf_loop.c",
"./cf/cf_succ.c",
},
deps = {
"./cf/cf.h",
"./cf/cf_idom.h",
"./cf/cf_loop.h",
"./cf/cf_succ.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "cj",
srcs = {
"./cj/cj.c",
},
deps = {
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "cs",
srcs = {
"./cs/cs_alloc.c",
"./cs/cs_aux.c",
"./cs/cs_avail.c",
"./cs/cs.c",
"./cs/cs_debug.c",
"./cs/cs_elim.c",
"./cs/cs_entity.c",
"./cs/cs_getent.c",
"./cs/cs_kill.c",
"./cs/cs_partit.c",
"./cs/cs_profit.c",
"./cs/cs_stack.c",
"./cs/cs_vnm.c",
},
deps = {
"./cs/cs_alloc.h",
"./cs/cs_aux.h",
"./cs/cs_avail.h",
"./cs/cs_debug.h",
"./cs/cs_elim.h",
"./cs/cs_entity.h",
"./cs/cs_getent.h",
"./cs/cs.h",
"./cs/cs_kill.h",
"./cs/cs_partit.h",
"./cs/cs_profit.h",
"./cs/cs_stack.h",
"./cs/cs_vnm.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "ic",
srcs = {
"./ic/ic_aux.c",
"./ic/ic.c",
"./ic/ic_io.c",
"./ic/ic_lib.c",
"./ic/ic_lookup.c",
},
deps = {
"./ic/ic_aux.h",
"./ic/ic.h",
"./ic/ic_io.h",
"./ic/ic_lib.h",
"./ic/ic_lookup.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "il",
srcs = {
"./il/il1_anal.c",
"./il/il1_aux.c",
"./il/il1_cal.c",
"./il/il1_formal.c",
"./il/il2_aux.c",
"./il/il3_aux.c",
"./il/il3_change.c",
"./il/il3_subst.c",
"./il/il_aux.c",
"./il/il.c",
},
deps = {
"./il/il1_anal.h",
"./il/il1_aux.h",
"./il/il1_cal.h",
"./il/il1_formal.h",
"./il/il2_aux.h",
"./il/il3_aux.h",
"./il/il3_change.h",
"./il/il3_subst.h",
"./il/il_aux.h",
"./il/il.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "lv",
srcs = {
"./lv/lv.c",
},
deps = {
"./lv/lv.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "sp",
srcs = {
"./sp/sp.c",
},
deps = {
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "sr",
srcs = {
"./sr/sr_aux.c",
"./sr/sr.c",
"./sr/sr_cand.c",
"./sr/sr_expr.c",
"./sr/sr_iv.c",
"./sr/sr_reduce.c",
"./sr/sr_xform.c",
},
deps = {
"./sr/sr_aux.h",
"./sr/sr_cand.h",
"./sr/sr_expr.h",
"./sr/sr.h",
"./sr/sr_iv.h",
"./sr/sr_reduce.h",
"./sr/sr_xform.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram {
name = "ud",
srcs = {
"./ud/ud_aux.c",
"./ud/ud.c",
"./ud/ud_const.c",
"./ud/ud_copy.c",
"./ud/ud_defs.c",
},
deps = {
"./ud/ud_aux.h",
"./ud/ud_const.h",
"./ud/ud_copy.h",
"./ud/ud_defs.h",
"./ud/ud.h",
"util/ego/share+lib",
"modules/src/em_data+lib",
"h+emheaders",
},
vars = {
["+cflags"] = {"-DDEBUG", "-DVERBOSE", "-DNOTCOMPACT"}
}
}
cprogram { cprogram {
name = "em_ego", name = "em_ego",

View file

@ -18,13 +18,31 @@ normalrule {
cprogram { cprogram {
name = "ra", name = "ra",
srcs = { "./ra*.c" }, srcs = {
"./ra_allocl.c",
"./ra_aux.c",
"./ra.c",
"./ra_interv.c",
"./ra_items.c",
"./ra_lifet.c",
"./ra_pack.c",
"./ra_profits.c",
"./ra_xform.c",
},
deps = { deps = {
"util/ego/share+lib", "util/ego/share+lib",
"modules/src/em_data+lib", "modules/src/em_data+lib",
"h+emheaders", "h+emheaders",
"+itemtab_h", "+itemtab_h",
"./ra*.h", "./ra_allocl.h",
"./ra_aux.h",
"./ra.h",
"./ra_interv.h",
"./ra_items.h",
"./ra_lifet.h",
"./ra_pack.h",
"./ra_profits.h",
"./ra_xform.h",
}, },
vars = { vars = {
["+cflags"] = {"-DVERBOSE", "-DNOTCOMPACT"} ["+cflags"] = {"-DVERBOSE", "-DNOTCOMPACT"}

View file

@ -48,7 +48,23 @@ clibrary {
"./init_glob.c", "./init_glob.c",
}, },
deps = { deps = {
"./*.h", "./alloc.h",
"./cset.h",
"./debug.h",
"./def.h",
"./files.h",
"./get.h",
"./global.h",
"./go.h",
"./init_glob.h",
"./locals.h",
"./lset.h",
"./map.h",
"./parser.h",
"./put.h",
"./stack_chg.h",
"./types.h",
"./utils.h",
"+classdefs_h", "+classdefs_h",
"+pop_push_h", "+pop_push_h",
"h+emheaders", "h+emheaders",

View file

@ -87,7 +87,46 @@ clibrary {
cprogram { cprogram {
name = "int", name = "int",
srcs = { srcs = {
"./*.c", "./alloc.c",
"./core.c",
"./data.c",
"./disassemble.c",
"./do_array.c",
"./do_branch.c",
"./do_comp.c",
"./do_conv.c",
"./do_fpar.c",
"./do_incdec.c",
"./do_intar.c",
"./do_load.c",
"./do_logic.c",
"./do_misc.c",
"./do_proc.c",
"./do_ptrar.c",
"./do_sets.c",
"./do_store.c",
"./do_unsar.c",
"./dump.c",
"./fra.c",
"./global.c",
"./init.c",
"./io.c",
"./log.c",
"./main.c",
"./m_ioctl.c",
"./moncalls.c",
"./monstruct.c",
"./m_sigtrp.c",
"./proctab.c",
"./read.c",
"./rsb.c",
"./segment.c",
"./stack.c",
"./switch.c",
"./tally.c",
"./text.c",
"./trap.c",
"./warn.c",
}, },
deps = { deps = {
"h+emheaders", "h+emheaders",

View file

@ -1,6 +1,20 @@
cprogram { cprogram {
name = "led", name = "led",
srcs = { "./*.c" }, srcs = {
"./archive.c",
"./error.c",
"./extract.c",
"./finish.c",
"./main.c",
"./memory.c",
"./output.c",
"./read.c",
"./relocate.c",
"./save.c",
"./scan.c",
"./sym.c",
"./write.c",
},
deps = { deps = {
"./archive.h", "./const.h", "./debug.h", "./defs.h", "./archive.h", "./const.h", "./debug.h", "./defs.h",
"./error.h", "./extract.h", "./finish.h", "./mach.h", "./error.h", "./extract.h", "./finish.h", "./mach.h",

View file

@ -2,12 +2,16 @@ include("first/yacc.lua")
flex { flex {
name = "flex", name = "flex",
srcs = { "./*.l" }, srcs = {
"./scan.l",
}
} }
yacc { yacc {
name = "yacc", name = "yacc",
srcs = { "./*.y" }, srcs = {
"./gram.y",
}
} }
normalrule { normalrule {
@ -41,7 +45,7 @@ clibrary {
cprogram { cprogram {
name = "mcgg", name = "mcgg",
srcs = { srcs = {
"./*.c", "./iburg.c",
matching(filenamesof("+flex"), "%.c$"), matching(filenamesof("+flex"), "%.c$"),
matching(filenamesof("+yacc"), "%.c$") matching(filenamesof("+yacc"), "%.c$")
}, },

View file

@ -27,7 +27,20 @@ normalrule {
cprogram { cprogram {
name = "ncgg", name = "ncgg",
srcs = concat( srcs = concat(
"./*.c", "./coerc.c",
"./emlookup.c",
"./error.c",
"./expr.c",
"./hall.c",
"./instruct.c",
"./iocc.c",
"./lookup.c",
"./main.c",
"./output.c",
"./set.c",
"./strlookup.c",
"./subr.c",
"./var.c",
matching(filenamesof(cggparser), "%.c$"), matching(filenamesof(cggparser), "%.c$"),
matching(filenamesof(cgglexer), "%.c$"), matching(filenamesof(cgglexer), "%.c$"),
"+keywords" "+keywords"

View file

@ -61,7 +61,21 @@ local function variant(name, cflags)
srcs = { srcs = {
"+pattern_c", "+pattern_c",
"+pop_push_c", "+pop_push_c",
"./*.c", "./alloc.c",
"./backward.c",
"./cleanup.c",
"./flow.c",
"./getline.c",
"./lookup.c",
"./main.c",
"./peephole.c",
"./process.c",
"./putline.c",
"./reg.c",
"./special.c",
"./tes.c",
"./util.c",
"./var.c",
}, },
deps = concat( deps = concat(
headers, headers,

Some files were not shown because too many files have changed in this diff Show more