57 lines
998 B
Plaintext
57 lines
998 B
Plaintext
|
-- $Source$
|
||
|
-- $State$
|
||
|
|
||
|
local d = ROOTDIR.."util/topgen/"
|
||
|
|
||
|
local lpars = LLgen {
|
||
|
file (d.."topgen.g")
|
||
|
}
|
||
|
|
||
|
local cfile_with_headers = cfile {
|
||
|
class = "cfile_with_headers",
|
||
|
dynamicheaders = {
|
||
|
file (d),
|
||
|
lpars
|
||
|
}
|
||
|
}
|
||
|
|
||
|
tool_topgen = cprogram {
|
||
|
cfile_with_headers (d.."LLlex.c"),
|
||
|
cfile_with_headers (d.."hash.c"),
|
||
|
cfile_with_headers (d.."main.c"),
|
||
|
cfile_with_headers (d.."pattern.c"),
|
||
|
cfile_with_headers (d.."symtab.c"),
|
||
|
|
||
|
foreach {
|
||
|
rule = cfile_with_headers,
|
||
|
ith { lpars, from=2 }
|
||
|
},
|
||
|
|
||
|
lib_assert,
|
||
|
lib_print,
|
||
|
lib_alloc,
|
||
|
lib_system,
|
||
|
lib_string,
|
||
|
|
||
|
outputs = {"%U%/topgen"},
|
||
|
install = pm.install("%TOOLDIR%topgen")
|
||
|
}
|
||
|
|
||
|
topgen = simple {
|
||
|
class = "topgen",
|
||
|
|
||
|
outputs = {"%U%/gen.c"},
|
||
|
command = {
|
||
|
"mkdir -p %out[1]:dirname%",
|
||
|
"cd %out[1]:dirname% && %TOOLDIR%topgen %in[1]%"
|
||
|
},
|
||
|
}
|
||
|
|
||
|
-- Revision history
|
||
|
-- $Log$
|
||
|
-- Revision 1.1 2006-07-22 12:31:19 dtrg
|
||
|
-- Added support for the top target peephole optimiser.
|
||
|
--
|
||
|
-- Revision 1.1 2006/07/20 23:24:28 dtrg
|
||
|
-- First version in CVS.
|