Remove defunct pmfiles.
--HG-- branch : default-branch
This commit is contained in:
@@ -1,127 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- This is the build file used to compile LLgen. It should be run through
|
||||
-- Prime Mover (copy supplied). See the READ_ME file for more information.
|
||||
|
||||
include "c.pm"
|
||||
|
||||
-- Where is LLgen going to be installed eventually? (Needs trailing slash.)
|
||||
|
||||
PREFIX = PREFIX or "/usr/local/"
|
||||
|
||||
-- Where's LLgen's staging area? (Don't change. Needs trailing slash.)
|
||||
|
||||
INSTALLPATH = "bin/"
|
||||
|
||||
LLgen = cprogram {
|
||||
CEXTRAFLAGS = '-DLIBDIR=\\"'..PREFIX..'share/LLgen\\" -DNON_CORRECTING',
|
||||
|
||||
-- This line is needed to work around an OSX bug --- Apple's hacked gcc's
|
||||
-- preprocessor doesn't find LLgen.c's include files properly. Don't know
|
||||
-- why.
|
||||
|
||||
CINCLUDES = {PARENT, "-Isrc"},
|
||||
|
||||
cfile "src/main.c",
|
||||
cfile "src/gencode.c",
|
||||
cfile "src/compute.c",
|
||||
cfile "src/check.c",
|
||||
cfile "src/reach.c",
|
||||
cfile "src/global.c",
|
||||
cfile "src/name.c",
|
||||
cfile "src/sets.c",
|
||||
cfile "src/alloc.c",
|
||||
cfile "src/machdep.c",
|
||||
cfile "src/cclass.c",
|
||||
cfile "src/savegram.c",
|
||||
|
||||
-- These use pre-LLgen'd version of the files. If LLgen.g gets updated,
|
||||
-- they need rebuilding. Use the bootstrap script to do this.
|
||||
|
||||
cfile "src/LLgen.c",
|
||||
cfile "src/Lpars.c",
|
||||
cfile "src/tokens.c",
|
||||
|
||||
outputs = {"%U%/LLgen"},
|
||||
install = pm.install( INSTALLPATH.."bin/LLgen")
|
||||
}
|
||||
|
||||
library = group {
|
||||
install = {
|
||||
pm.install("lib/rec", INSTALLPATH.."share/LLgen/rec"),
|
||||
pm.install("lib/incl", INSTALLPATH.."share/LLgen/incl"),
|
||||
pm.install("lib/nc_incl", INSTALLPATH.."share/LLgen/nc_incl"),
|
||||
pm.install("lib/nc_rec", INSTALLPATH.."share/LLgen/nc_rec"),
|
||||
}
|
||||
}
|
||||
|
||||
manpage = group {
|
||||
install = {
|
||||
pm.install("doc/LLgen.1", INSTALLPATH.."man/man1/LLgen.1"),
|
||||
}
|
||||
}
|
||||
|
||||
documentation = group {
|
||||
simple {
|
||||
outputs = {"%U%-%I%.ps.gz"},
|
||||
command = "refer -sA+T -p %in[1]% %in[2]% | groff -Tps -e -t -ms "..
|
||||
"| gzip -c9 > %out[1]%",
|
||||
|
||||
file "doc/LLgen.refs",
|
||||
file "doc/LLgen.n",
|
||||
|
||||
install = {
|
||||
pm.install(INSTALLPATH.."share/doc/LLgen/LLgen.ps.gz")
|
||||
}
|
||||
},
|
||||
|
||||
simple {
|
||||
outputs = {"%U%-%I%.ps.gz"},
|
||||
command = "groff -Tps -e -t -p -ms %in% | gzip -c9 > %out[1]%",
|
||||
|
||||
file "doc/LLgen_NCER.n",
|
||||
|
||||
install = {
|
||||
pm.install(INSTALLPATH.."share/doc/LLgen/NCER.ps.gz")
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
-- Default rule: builds everything into the staging area, but does nothing
|
||||
-- else.
|
||||
|
||||
default = group {
|
||||
LLgen, -- build LLgen itself
|
||||
library, -- copy over the library
|
||||
manpage, -- copy over the man page
|
||||
documentation, -- build the two white papers
|
||||
}
|
||||
|
||||
-- This rule will build everything, and then install it to its final location.
|
||||
|
||||
install = group {
|
||||
default,
|
||||
|
||||
install = {
|
||||
"mkdir -p %PREFIX%",
|
||||
"(cd bin && tar chvf - $(find . ! -type d)) | (cd %PREFIX% && tar xUf -)"
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.5 2006-07-25 23:29:12 dtrg
|
||||
-- Modified to not try to unlink directories when installing.
|
||||
--
|
||||
-- Revision 1.4 2006/07/25 23:22:58 dtrg
|
||||
-- Updated to the latest version of pm which installs files with symlinks.
|
||||
--
|
||||
-- Revision 1.3 2006/07/23 20:33:26 dtrg
|
||||
-- Added a workaround for an OSX compiler bug.
|
||||
--
|
||||
-- Revision 1.2 2006/07/21 11:15:14 dtrg
|
||||
-- Updated to the latest version of pm.
|
||||
--
|
||||
@@ -1,61 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "%ROOTDIR%util/ack/"
|
||||
|
||||
local mktable = cprogram {
|
||||
cfile (d.."mktables.c")
|
||||
}
|
||||
|
||||
local makeheaders = simple {
|
||||
outputs= {"%U%/dmach.c", "%U%/intable.c"},
|
||||
command = {
|
||||
"cd %out[1]:dirname% && %in[1]% %BINDIR%lib"
|
||||
},
|
||||
|
||||
mktable
|
||||
}
|
||||
|
||||
tool_ack = cprogram {
|
||||
cfile (d.."list.c"),
|
||||
cfile (d.."data.c"),
|
||||
cfile (d.."main.c"),
|
||||
cfile (d.."scan.c"),
|
||||
cfile (d.."svars.c"),
|
||||
cfile (d.."trans.c"),
|
||||
cfile (d.."util.c"),
|
||||
cfile (d.."rmach.c"),
|
||||
cfile (d.."run.c"),
|
||||
cfile (d.."grows.c"),
|
||||
cfile (d.."files.c"),
|
||||
|
||||
cfile {
|
||||
CINCLUDES = {PARENT, d},
|
||||
ith { makeheaders, i = 1 }
|
||||
},
|
||||
cfile {
|
||||
CINCLUDES = {PARENT, d},
|
||||
ith { makeheaders, i = 2 }
|
||||
},
|
||||
|
||||
lib_string,
|
||||
|
||||
outputs = {"%U%/ack"},
|
||||
install = {
|
||||
pm.install("%BINDIR%bin/ack"),
|
||||
pm.install("%ROOTDIR%/lib/descr/fe", "%BINDIR%%PLATIND%/descr/fe"),
|
||||
pm.install(d.."ack.1.X", "%BINDIR%man/man1/ack.1")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.3 2007-02-25 12:48:06 dtrg
|
||||
-- Now installs the man page.
|
||||
--
|
||||
-- Revision 1.2 2006/10/15 00:28:12 dtrg
|
||||
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
@@ -1,35 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "util/amisc/"
|
||||
|
||||
local simple_tool = cprogram {
|
||||
class = "simple_tool",
|
||||
|
||||
cfile (d.."%S%.c"),
|
||||
lib_object,
|
||||
|
||||
outputs = {"%U%/%S%"},
|
||||
install = {
|
||||
pm.install("%U%/%S%", "%BINDIR%bin/%S%"),
|
||||
pm.install(d.."%S%.1", "%BINDIR%man/man1/%S%.1")
|
||||
}
|
||||
}
|
||||
|
||||
tool_anm = simple_tool { S = "anm" }
|
||||
tool_ashow = simple_tool { S = "ashow" }
|
||||
tool_asize = simple_tool { S = "asize" }
|
||||
tool_astrip = simple_tool { S = "astrip" }
|
||||
tool_aslod = simple_tool { S = "aslod" }
|
||||
tool_aelflod = simple_tool { S = "aelflod" }
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.3 2007-04-23 23:40:10 dtrg
|
||||
-- Added the aelflod tool for generating ELF executables. Added documentation for aelflod and ashow. Now installs the documentation when built.
|
||||
--
|
||||
-- Revision 1.2 2006/10/16 23:25:56 dtrg
|
||||
-- Added support for anm, asize, ashow, astrip and the new aslod tool.
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
@@ -1,31 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "util/arch/"
|
||||
|
||||
tool_aal = cprogram {
|
||||
CDEFINES = {PARENT, "AAL"},
|
||||
cfile (d.."archiver.c"),
|
||||
|
||||
lib_print,
|
||||
lib_string,
|
||||
lib_system,
|
||||
lib_object,
|
||||
|
||||
install = {
|
||||
pm.install("%BINDIR%bin/aal"),
|
||||
pm.install(d.."aal.1", "%BINDIR%man/man1/aal.1")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.3 2006-10-15 00:28:12 dtrg
|
||||
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
|
||||
--
|
||||
-- Revision 1.2 2006/07/30 23:45:35 dtrg
|
||||
-- Modified to install aal's manpage.
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
@@ -1,59 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/ceg/as_parser/"
|
||||
|
||||
local lpars = LLgen {
|
||||
file (d.."pars.g")
|
||||
}
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
file (d),
|
||||
lpars
|
||||
}
|
||||
}
|
||||
|
||||
tool_ceg_as_parser = cprogram {
|
||||
CDEFINES = {PARENT, "FLEX"},
|
||||
CLIBRARIES = {PARENT, "fl"},
|
||||
|
||||
cfile_with_headers (d.."conversion.c"),
|
||||
cfile_with_headers (d.."help.c"),
|
||||
|
||||
cfile_with_headers {
|
||||
flex {
|
||||
file (d.."table.l")
|
||||
}
|
||||
},
|
||||
|
||||
foreach {
|
||||
rule = cfile_with_headers,
|
||||
ith { lpars, from=2 }
|
||||
},
|
||||
|
||||
lib_alloc,
|
||||
lib_print,
|
||||
lib_string,
|
||||
lib_system,
|
||||
|
||||
outputs = {"%U%/as_parser"},
|
||||
install = pm.install(BINDIR.."%PLATDEP%/ceg/as_parser/as_parser"),
|
||||
}
|
||||
|
||||
tool_ceg_as_parser_eval = cprogram {
|
||||
cfile (d.."eval/eval.c"),
|
||||
|
||||
outputs = {"%U%/eval"},
|
||||
install = pm.install(BINDIR.."%PLATDEP%/ceg/as_parser/eval"),
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.2 2006-10-15 00:28:11 dtrg
|
||||
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
@@ -1,20 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/ceg/assemble/"
|
||||
|
||||
tool_ceg_assemble = group {
|
||||
install = {
|
||||
pm.install(d.."as_assemble/assemble.c", BINDIR..PLATDEP.."/ceg/assemble/as_assemble/assemble.c"),
|
||||
pm.install(d.."as_assemble/block_as.c", BINDIR..PLATDEP.."/ceg/assemble/as_assemble/block_as.c"),
|
||||
pm.install(d.."obj_assemble/assemble.c", BINDIR..PLATDEP.."/ceg/assemble/obj_assemble/assemble.c"),
|
||||
pm.install(d.."obj_assemble/block_as.c", BINDIR..PLATDEP.."/ceg/assemble/obj_assemble/block_as.c"),
|
||||
pm.install(d.."obj_assemble/const.h", BINDIR..PLATDEP.."/ceg/assemble/obj_assemble/const.h"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
@@ -1,89 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/ceg/ce_back/"
|
||||
|
||||
local function installmany(srcroot, destroot, list)
|
||||
local o = {}
|
||||
|
||||
for _, i in ipairs(list) do
|
||||
table.insert(o, pm.install(srcroot..i, destroot..i))
|
||||
end
|
||||
|
||||
return o
|
||||
end
|
||||
|
||||
tool_ceg_assemble = group {
|
||||
install = installmany(d, BINDIR.."%PLATDEP%/ceg/ce_back/",
|
||||
{
|
||||
"as_back/back.h",
|
||||
"as_back/bottom.c",
|
||||
"as_back/bss.c",
|
||||
"as_back/con1.c",
|
||||
"as_back/con2.c",
|
||||
"as_back/con4.c",
|
||||
"as_back/do_close.c",
|
||||
"as_back/do_open.c",
|
||||
"as_back/end_back.c",
|
||||
"as_back/gen1.c",
|
||||
"as_back/gen2.c",
|
||||
"as_back/gen4.c",
|
||||
"as_back/header.h",
|
||||
"as_back/init_back.c",
|
||||
"as_back/reloc1.c",
|
||||
"as_back/reloc2.c",
|
||||
"as_back/reloc4.c",
|
||||
"as_back/rom1.c",
|
||||
"as_back/rom2.c",
|
||||
"as_back/rom4.c",
|
||||
"as_back/set_global.c",
|
||||
"as_back/set_local.c",
|
||||
"as_back/switchseg.c",
|
||||
"as_back/symboldef.c",
|
||||
"as_back/text1.c",
|
||||
"as_back/text2.c",
|
||||
"as_back/text4.c",
|
||||
"as_back/dbsym.c",
|
||||
|
||||
"obj_back/back.h",
|
||||
"obj_back/con2.c",
|
||||
"obj_back/con4.c",
|
||||
"obj_back/data.c",
|
||||
"obj_back/data.h",
|
||||
"obj_back/do_close.c",
|
||||
"obj_back/do_open.c",
|
||||
"obj_back/end_back.c",
|
||||
"obj_back/extnd.c",
|
||||
"obj_back/gen1.c",
|
||||
"obj_back/gen2.c",
|
||||
"obj_back/gen4.c",
|
||||
"obj_back/hash.h",
|
||||
"obj_back/header.h",
|
||||
"obj_back/init_back.c",
|
||||
"obj_back/label.c",
|
||||
"obj_back/memory.c",
|
||||
"obj_back/misc.c",
|
||||
"obj_back/output.c",
|
||||
"obj_back/reloc1.c",
|
||||
"obj_back/reloc2.c",
|
||||
"obj_back/reloc4.c",
|
||||
"obj_back/relocation.c",
|
||||
"obj_back/rom2.c",
|
||||
"obj_back/rom4.c",
|
||||
"obj_back/set_global.c",
|
||||
"obj_back/set_local.c",
|
||||
"obj_back/switchseg.c",
|
||||
"obj_back/symboldef.c",
|
||||
"obj_back/symtable.c",
|
||||
"obj_back/text2.c",
|
||||
"obj_back/text4.c",
|
||||
"obj_back/common.c",
|
||||
"obj_back/dbsym.c",
|
||||
})
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
@@ -1,21 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/ceg/"
|
||||
|
||||
include (d.."as_parser/pmfile")
|
||||
include (d.."assemble/pmfile")
|
||||
include (d.."ce_back/pmfile")
|
||||
|
||||
tool_ceg = group {
|
||||
tool_ceg_as_parser,
|
||||
tool_ceg_as_parser_eval,
|
||||
tool_ceg_assemble,
|
||||
tool_ceg_ce_back,
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
@@ -1,54 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/cgg/"
|
||||
|
||||
local yacc_bootgram = yacc {
|
||||
file (d.."bootgram.y")
|
||||
}
|
||||
|
||||
tool_cgg = cprogram {
|
||||
cfile (d.."main.c"),
|
||||
|
||||
cfile {
|
||||
CINCLUDES = {PARENT, d},
|
||||
yacc_bootgram,
|
||||
},
|
||||
|
||||
cfile {
|
||||
CINCLUDES = {PARENT, d},
|
||||
flex {
|
||||
file (d.."bootlex.l")
|
||||
},
|
||||
|
||||
dynamicheaders = yacc_bootgram
|
||||
},
|
||||
|
||||
CLIBRARIES = {PARENT, "fl"},
|
||||
lib_em_data,
|
||||
lib_assert,
|
||||
lib_system,
|
||||
|
||||
install = pm.install(TOOLDIR.."cgg")
|
||||
}
|
||||
|
||||
cgg = simple {
|
||||
class = "cgg",
|
||||
|
||||
outputs = {"%U%/tables.c", "%U%/tables.h"},
|
||||
command = {
|
||||
"cd %out[1]:dirname% && (%BINDIR%%PLATDEP%/cpp -P -I%CGGINCLUDEDIR% %in% | %TOOLDIR%cgg)",
|
||||
},
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.3 2006-10-15 00:28:12 dtrg
|
||||
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
|
||||
--
|
||||
-- Revision 1.2 2006/07/22 20:58:27 dtrg
|
||||
-- cpp now gets installed in the right place.
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:21:17 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
@@ -1,25 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "util/cmisc/"
|
||||
|
||||
tool_tabgen = cprogram {
|
||||
cfile (d.."tabgen.c"),
|
||||
|
||||
outputs = {"%U%/tabgen"},
|
||||
install = pm.install(TOOLDIR.."tabgen")
|
||||
}
|
||||
|
||||
tabgen = simple {
|
||||
class = "tabgen",
|
||||
outputs = {"%U%-char.c"},
|
||||
command = {
|
||||
"%TOOLDIR%tabgen -f%in[1]% > %out[1]%"
|
||||
},
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:21:17 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
123
util/cpp/pmfile
123
util/cpp/pmfile
@@ -1,123 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/cpp/"
|
||||
|
||||
local extract_parameters = simple {
|
||||
outputs = {
|
||||
"%U%/pathlength.h",
|
||||
"%U%/errout.h",
|
||||
"%U%/idfsize.h",
|
||||
"%U%/numsize.h",
|
||||
"%U%/nparams.h",
|
||||
"%U%/ifdepth.h",
|
||||
"%U%/lapbuf.h",
|
||||
"%U%/strsize.h",
|
||||
"%U%/botch_free.h",
|
||||
"%U%/debug.h",
|
||||
"%U%/parbufsize.h",
|
||||
"%U%/textsize.h",
|
||||
"%U%/inputtype.h",
|
||||
"%U%/obufsize.h",
|
||||
"%U%/dobits.h",
|
||||
"%U%/line_prefix.h",
|
||||
},
|
||||
|
||||
command = {
|
||||
"cd %out[1]:dirname% && %in[1]% %in[2]%"
|
||||
},
|
||||
|
||||
file (d.."make.hfiles"),
|
||||
file (d.."Parameters")
|
||||
}
|
||||
|
||||
local lpars = LLgen {
|
||||
simple {
|
||||
outputs = {"%U%/tokenfile.g"},
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out[1]%"
|
||||
},
|
||||
file (d.."make.tokfile"),
|
||||
file (d.."tokenname.c")
|
||||
},
|
||||
file (d.."expression.g")
|
||||
}
|
||||
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
file (d),
|
||||
extract_parameters,
|
||||
lpars
|
||||
}
|
||||
}
|
||||
|
||||
tool_cpp = cprogram {
|
||||
cfile_with_headers (d.."LLlex.c"),
|
||||
cfile_with_headers (d.."LLmessage.c"),
|
||||
cfile_with_headers (d.."ch7bin.c"),
|
||||
cfile_with_headers (d.."ch7mon.c"),
|
||||
cfile_with_headers (d.."domacro.c"),
|
||||
cfile_with_headers (d.."error.c"),
|
||||
cfile_with_headers (d.."idf.c"),
|
||||
cfile_with_headers (d.."init.c"),
|
||||
cfile_with_headers (d.."input.c"),
|
||||
cfile_with_headers (d.."main.c"),
|
||||
cfile_with_headers (d.."options.c"),
|
||||
cfile_with_headers (d.."preprocess.c"),
|
||||
cfile_with_headers (d.."replace.c"),
|
||||
cfile_with_headers (d.."scan.c"),
|
||||
cfile_with_headers (d.."skip.c"),
|
||||
cfile_with_headers (d.."tokenname.c"),
|
||||
cfile_with_headers (d.."next.c"),
|
||||
cfile_with_headers (d.."expr.c"),
|
||||
|
||||
foreach {
|
||||
rule = cfile_with_headers,
|
||||
ith { lpars, from=2 }
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
simple {
|
||||
outputs = {"%U%-symbol2str.c"},
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out[1]%"
|
||||
},
|
||||
|
||||
file (d.."make.tokcase"),
|
||||
file (d.."tokenname.c")
|
||||
}
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
CINCLUDES = {PARENT, d},
|
||||
tabgen (d.."char.tab")
|
||||
},
|
||||
|
||||
lib_assert,
|
||||
lib_print,
|
||||
lib_alloc,
|
||||
lib_system,
|
||||
lib_string,
|
||||
|
||||
outputs = {"%U%/cpp"},
|
||||
install = {
|
||||
pm.install("%BINDIR%%PLATDEP%/cpp"),
|
||||
pm.install(d.."cpp.6", "%BINDIR%man/man6/cpp.6")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.4 2006-10-15 00:28:11 dtrg
|
||||
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
|
||||
--
|
||||
-- Revision 1.3 2006/07/22 20:58:27 dtrg
|
||||
-- cpp now gets installed in the right place.
|
||||
--
|
||||
-- Revision 1.2 2006/07/22 12:27:31 dtrg
|
||||
-- Removed a huge, ancient comment dating from the genmake days.
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:24:28 dtrg
|
||||
-- First version in CVS.
|
||||
@@ -1,57 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "util/data/"
|
||||
|
||||
local datafiles = simple {
|
||||
outputs = {
|
||||
"%U%/em_spec.h",
|
||||
"%U%/em_pseu.h",
|
||||
"%U%/em_mnem.h",
|
||||
"%U%/em_flag.c",
|
||||
"%U%/em_pseu.c",
|
||||
"%U%/em_mnem.c"
|
||||
},
|
||||
|
||||
command = {
|
||||
"%in[1]% %in[2]% %out[1]:dirname% %out[1]:dirname%"
|
||||
},
|
||||
|
||||
install = {
|
||||
pm.install("%U%/em_spec.h", "%HEADERDIR%em_spec.h"),
|
||||
pm.install("%U%/em_pseu.h", "%HEADERDIR%em_pseu.h"),
|
||||
pm.install("%U%/em_mnem.h", "%HEADERDIR%em_mnem.h")
|
||||
},
|
||||
|
||||
file (d.."new_table"),
|
||||
file ("%ROOTDIR%h/em_table"),
|
||||
}
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
datafiles,
|
||||
}
|
||||
}
|
||||
|
||||
module_em_data = clibrary {
|
||||
cfile_with_headers (d.."em_ptyp.c"),
|
||||
foreach {
|
||||
rule = cfile_with_headers,
|
||||
ith { datafiles, from=4 }
|
||||
},
|
||||
|
||||
outputs = {"%U%/libem_data.a"},
|
||||
install = pm.install("%LIBDIR%libem_data.a")
|
||||
}
|
||||
|
||||
lib_em_data = file "%LIBDIR%libem_data.a"
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.2 2007-02-25 12:49:04 dtrg
|
||||
-- new_table is now in /util/data, not /etc.
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:24:28 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
||||
234
util/ego/pmfile
234
util/ego/pmfile
@@ -1,234 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/ego/"
|
||||
|
||||
local makecldef = cprogram {
|
||||
cfile (d.."share/makecldef.c")
|
||||
}
|
||||
|
||||
local classdefs_h = simple {
|
||||
outputs = {"%U%/classdefs.h"},
|
||||
command = {
|
||||
"%in[1]% %in[2]% %in[3]% > %out[1]%"
|
||||
},
|
||||
|
||||
makecldef,
|
||||
file ("%HEADERDIR%em_mnem.h"),
|
||||
file (d.."share/cldefs.src")
|
||||
}
|
||||
|
||||
local pop_push_h = simple {
|
||||
outputs = {"%U%/pop_push.h"},
|
||||
command = {
|
||||
"awk -f %in[1]% < %in[2]% > %out%"
|
||||
},
|
||||
|
||||
file (d.."share/pop_push.awk"),
|
||||
file ("%ROOTDIR%h/em_table")
|
||||
}
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
classdefs_h,
|
||||
pop_push_h
|
||||
}
|
||||
}
|
||||
|
||||
local ego_core = cprogram {
|
||||
CINCLUDES = {PARENT, ("-I"..d.."share")},
|
||||
|
||||
cfile_with_headers (d.."share/debug.c"),
|
||||
cfile_with_headers (d.."share/global.c"),
|
||||
cfile_with_headers (d.."share/files.c"),
|
||||
cfile_with_headers (d.."share/go.c"),
|
||||
cfile_with_headers (d.."share/map.c"),
|
||||
cfile_with_headers (d.."share/aux.c"),
|
||||
cfile_with_headers (d.."share/get.c"),
|
||||
cfile_with_headers (d.."share/put.c"),
|
||||
cfile_with_headers (d.."share/alloc.c"),
|
||||
cfile_with_headers (d.."share/lset.c"),
|
||||
cfile_with_headers (d.."share/cset.c"),
|
||||
cfile_with_headers (d.."share/parser.c"),
|
||||
cfile_with_headers (d.."share/stack_chg.c"),
|
||||
cfile_with_headers (d.."share/locals.c"),
|
||||
cfile_with_headers (d.."share/init_glob.c"),
|
||||
}
|
||||
|
||||
tool_ego = group {
|
||||
CDEFINES = {PARENT, "VERBOSE", "NOTCOMPACT"},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."bo/bo.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/bo")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."ca/ca.c"),
|
||||
cfile_with_headers (d.."ca/ca_put.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/ca")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."cf/cf.c"),
|
||||
cfile_with_headers (d.."cf/cf_idom.c"),
|
||||
cfile_with_headers (d.."cf/cf_loop.c"),
|
||||
cfile_with_headers (d.."cf/cf_succ.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/cf")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."cj/cj.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/cj")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."cs/cs.c"),
|
||||
cfile_with_headers (d.."cs/cs_alloc.c"),
|
||||
cfile_with_headers (d.."cs/cs_aux.c"),
|
||||
cfile_with_headers (d.."cs/cs_avail.c"),
|
||||
cfile_with_headers (d.."cs/cs_debug.c"),
|
||||
cfile_with_headers (d.."cs/cs_elim.c"),
|
||||
cfile_with_headers (d.."cs/cs_entity.c"),
|
||||
cfile_with_headers (d.."cs/cs_getent.c"),
|
||||
cfile_with_headers (d.."cs/cs_kill.c"),
|
||||
cfile_with_headers (d.."cs/cs_partit.c"),
|
||||
cfile_with_headers (d.."cs/cs_profit.c"),
|
||||
cfile_with_headers (d.."cs/cs_stack.c"),
|
||||
cfile_with_headers (d.."cs/cs_vnm.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/cs")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."ic/ic.c"),
|
||||
cfile_with_headers (d.."ic/ic_aux.c"),
|
||||
cfile_with_headers (d.."ic/ic_io.c"),
|
||||
cfile_with_headers (d.."ic/ic_lib.c"),
|
||||
cfile_with_headers (d.."ic/ic_lookup.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/ic")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."il/il.c"),
|
||||
cfile_with_headers (d.."il/il1_anal.c"),
|
||||
cfile_with_headers (d.."il/il1_aux.c"),
|
||||
cfile_with_headers (d.."il/il1_cal.c"),
|
||||
cfile_with_headers (d.."il/il1_formal.c"),
|
||||
cfile_with_headers (d.."il/il2_aux.c"),
|
||||
cfile_with_headers (d.."il/il3_aux.c"),
|
||||
cfile_with_headers (d.."il/il3_change.c"),
|
||||
cfile_with_headers (d.."il/il3_subst.c"),
|
||||
cfile_with_headers (d.."il/il_aux.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/il")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."lv/lv.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/lv")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."ra/ra.c"),
|
||||
cfile_with_headers (d.."ra/ra_allocl.c"),
|
||||
cfile_with_headers (d.."ra/ra_aux.c"),
|
||||
cfile_with_headers (d.."ra/ra_interv.c"),
|
||||
cfile_with_headers (d.."ra/ra_lifet.c"),
|
||||
cfile_with_headers (d.."ra/ra_pack.c"),
|
||||
cfile_with_headers (d.."ra/ra_profits.c"),
|
||||
cfile_with_headers (d.."ra/ra_xform.c"),
|
||||
cfile {
|
||||
file (d.."ra/ra_items.c"),
|
||||
dynamicheaders = {
|
||||
simple {
|
||||
outputs = {"%U%/itemtab.h"},
|
||||
command = {
|
||||
"%in[1]% %in[2]% %in[3]% > %out[1]%"
|
||||
},
|
||||
|
||||
cprogram {
|
||||
cfile (d.."ra/makeitems.c"),
|
||||
},
|
||||
file (HEADERDIR.."em_mnem.h"),
|
||||
file (d.."ra/itemtab.src")
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/ra")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."sp/sp.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/sp")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."sr/sr.c"),
|
||||
cfile_with_headers (d.."sr/sr_aux.c"),
|
||||
cfile_with_headers (d.."sr/sr_cand.c"),
|
||||
cfile_with_headers (d.."sr/sr_expr.c"),
|
||||
cfile_with_headers (d.."sr/sr_iv.c"),
|
||||
cfile_with_headers (d.."sr/sr_reduce.c"),
|
||||
cfile_with_headers (d.."sr/sr_xform.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/sr")
|
||||
},
|
||||
|
||||
ego_core {
|
||||
cfile_with_headers (d.."ud/ud.c"),
|
||||
cfile_with_headers (d.."ud/ud_aux.c"),
|
||||
cfile_with_headers (d.."ud/ud_const.c"),
|
||||
cfile_with_headers (d.."ud/ud_copy.c"),
|
||||
cfile_with_headers (d.."ud/ud_defs.c"),
|
||||
lib_em_data,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/ud")
|
||||
},
|
||||
|
||||
cprogram {
|
||||
cfile (d.."em_ego/em_ego.c"),
|
||||
|
||||
lib_print,
|
||||
lib_string,
|
||||
lib_system,
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/em_ego")
|
||||
}
|
||||
}
|
||||
|
||||
-- This rule is used by the machine description pmfiles to massage and install
|
||||
-- the ego descr files.
|
||||
|
||||
ego_descr = simple {
|
||||
outputs = {"%U%-%I%"},
|
||||
command = {
|
||||
"%BINDIR%%PLATDEP%/cpp.ansi -P -I%HEADERDIR% %in[1]% | sed -f %in[2]% > %out[1]%"
|
||||
},
|
||||
|
||||
file (d.."descr/%ARCH%.descr"),
|
||||
file (d.."descr/descr.sed"),
|
||||
|
||||
install = pm.install("%BINDIR%%PLATDEP%/ego/%ARCH%descr")
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/led/"
|
||||
|
||||
tool_led = cprogram {
|
||||
cfile (d.."archive.c"),
|
||||
cfile (d.."error.c"),
|
||||
cfile (d.."extract.c"),
|
||||
cfile (d.."finish.c"),
|
||||
cfile (d.."main.c"),
|
||||
cfile (d.."memory.c"),
|
||||
cfile (d.."output.c"),
|
||||
cfile (d.."read.c"),
|
||||
cfile (d.."relocate.c"),
|
||||
cfile (d.."save.c"),
|
||||
cfile (d.."scan.c"),
|
||||
cfile (d.."sym.c"),
|
||||
cfile (d.."write.c"),
|
||||
|
||||
lib_string,
|
||||
lib_object,
|
||||
|
||||
outputs = {"%U%/led"},
|
||||
install = {
|
||||
-- FIXME lib.bin in next line needs removing --- pm bug?
|
||||
pm.install("%BINDIR%%PLATDEP%/em_led"),
|
||||
pm.install(d.."ack.out.5", "%BINDIR%man/man5/ack.out.5"),
|
||||
pm.install(d.."led.6", "%BINDIR%man/man6/em_led.6"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log: pmfile,v $
|
||||
-- Revision 1.2 2006/07/22 20:52:44 dtrg
|
||||
-- led now gets installed into the right place.
|
||||
--
|
||||
-- Revision 1.1 2006/07/22 20:04:41 dtrg
|
||||
-- Added support for the led link editor.
|
||||
@@ -1,59 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/misc/"
|
||||
|
||||
tool_em_decode = cprogram {
|
||||
cfile (d.."convert.c"),
|
||||
|
||||
lib_read_emkV,
|
||||
lib_eme,
|
||||
lib_em_data,
|
||||
lib_alloc,
|
||||
lib_print,
|
||||
lib_string,
|
||||
lib_system,
|
||||
|
||||
outputs = {"%U%/em_decode"},
|
||||
install = {
|
||||
-- FIXME lib.bin in next line needs removing --- pm bug?
|
||||
pm.install("%BINDIR%lib.bin/em_decode"),
|
||||
pm.install(d.."em_decode.6", "%BINDIR%man/man6/em_decode.6"),
|
||||
}
|
||||
}
|
||||
|
||||
tool_em_encode = cprogram {
|
||||
cfile (d.."convert.c"),
|
||||
|
||||
lib_read_emeV,
|
||||
lib_emk,
|
||||
lib_em_data,
|
||||
lib_alloc,
|
||||
lib_print,
|
||||
lib_string,
|
||||
lib_system,
|
||||
|
||||
outputs = {"%U%/em_encode"},
|
||||
install = {
|
||||
pm.install("%BINDIR%%PLATDEP%/em_encode"),
|
||||
pm.install(d.."em_decode.6", "%BINDIR%man/man6/em_decode.6")
|
||||
}
|
||||
}
|
||||
|
||||
tool_esize = cprogram {
|
||||
cfile (d.."esize.c"),
|
||||
|
||||
outputs = {"%U%/esize"},
|
||||
install = {
|
||||
pm.install("%BINDIR%/bin/esize"),
|
||||
pm.install(d.."esize.1", "%BINDIR%man/man1/esize.1")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.2 2006-07-22 20:10:41 dtrg
|
||||
-- Added support for the esize object inspection tool.
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:24:28 dtrg
|
||||
-- First version in CVS.
|
||||
@@ -1,67 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "util/ncgg/"
|
||||
|
||||
local ncgg_yacc = yacc {
|
||||
file (d.."cgg.y")
|
||||
}
|
||||
|
||||
tool_ncgg = cprogram {
|
||||
cfile (d.."subr.c"),
|
||||
cfile (d.."main.c"),
|
||||
cfile (d.."coerc.c"),
|
||||
cfile (d.."error.c"),
|
||||
cfile (d.."emlookup.c"),
|
||||
cfile (d.."expr.c"),
|
||||
cfile (d.."instruct.c"),
|
||||
cfile (d.."iocc.c"),
|
||||
cfile (d.."lookup.c"),
|
||||
cfile (d.."output.c"),
|
||||
cfile (d.."set.c"),
|
||||
cfile (d.."strlookup.c"),
|
||||
cfile (d.."var.c"),
|
||||
cfile (d.."hall.c"),
|
||||
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
|
||||
ncgg_yacc,
|
||||
dynamicheaders = flex {
|
||||
file (d.."scan.l")
|
||||
}
|
||||
},
|
||||
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
simple {
|
||||
outputs = {"%U%/enterkeyw.c"},
|
||||
|
||||
command = {
|
||||
"cp %{return posix.dirname(self['in'][3])}%/y.tab.h %{return posix.dirname(self.out[1])}%",
|
||||
"cd %{return posix.dirname(self.out[1])}% && "..ROOTDIR..d.."cvtkeywords "..ROOTDIR..d.."keywords",
|
||||
},
|
||||
|
||||
file (d.."cvtkeywords"),
|
||||
file (d.."keywords"),
|
||||
ncgg_yacc
|
||||
},
|
||||
|
||||
dynamicheaders = ncgg_yacc
|
||||
},
|
||||
|
||||
lib_em_data,
|
||||
|
||||
outputs = {"%U%-ncgg"},
|
||||
install = pm.install(TOOLDIR.."ncgg")
|
||||
}
|
||||
|
||||
ncgg = simple {
|
||||
class = "ncgg",
|
||||
|
||||
outputs = {"%U%/tables.c", "%U%/tables.h"},
|
||||
command = {
|
||||
"cd %out[1]:dirname% && (%BINDIR%%PLATDEP%/cpp.ansi -I%NCGGINCLUDEDIR% %in% | %TOOLDIR%ncgg)",
|
||||
"mv %out[1]:dirname%/tables.H %out[2]%"
|
||||
},
|
||||
}
|
||||
114
util/opt/pmfile
114
util/opt/pmfile
@@ -1,114 +0,0 @@
|
||||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/opt/"
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
file (d),
|
||||
}
|
||||
}
|
||||
|
||||
local local_tool_opt = cprogram {
|
||||
class = "opt_rule",
|
||||
|
||||
cfile_with_headers (d.."main.c"),
|
||||
cfile_with_headers (d.."getline.c"),
|
||||
cfile_with_headers (d.."lookup.c"),
|
||||
cfile_with_headers (d.."var.c"),
|
||||
cfile_with_headers (d.."process.c"),
|
||||
cfile_with_headers (d.."backward.c"),
|
||||
cfile_with_headers (d.."util.c"),
|
||||
cfile_with_headers (d.."alloc.c"),
|
||||
cfile_with_headers (d.."putline.c"),
|
||||
cfile_with_headers (d.."cleanup.c"),
|
||||
cfile_with_headers (d.."peephole.c"),
|
||||
cfile_with_headers (d.."flow.c"),
|
||||
cfile_with_headers (d.."tes.c"),
|
||||
cfile_with_headers (d.."reg.c"),
|
||||
|
||||
cfile_with_headers {
|
||||
simple {
|
||||
outputs = {"%U%-pop_push.c"},
|
||||
command = {
|
||||
"awk -f %in[1]% < %in[2]% > %out%"
|
||||
},
|
||||
|
||||
file (d.."pop_push.awk"),
|
||||
file ("%ROOTDIR%h/em_table")
|
||||
}
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
simple {
|
||||
outputs = {"%U%-pattern.c"},
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out%"
|
||||
},
|
||||
install = pm.install("pattern.c"),
|
||||
|
||||
cprogram {
|
||||
CLIBRARIES = {PARENT, "fl"},
|
||||
|
||||
cfile {
|
||||
yacc {
|
||||
file (d.."mktab.y")
|
||||
},
|
||||
|
||||
dynamicheaders = {
|
||||
file (d),
|
||||
flex {
|
||||
file (d.."scan.l")
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
lib_em_data,
|
||||
},
|
||||
|
||||
preprocess {
|
||||
file (d.."patterns")
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
lib_em_data,
|
||||
lib_assert,
|
||||
lib_print,
|
||||
lib_alloc,
|
||||
lib_system,
|
||||
lib_string,
|
||||
|
||||
outputs = {"%U%/em_opt"},
|
||||
}
|
||||
|
||||
tool_opt = group {
|
||||
group {
|
||||
local_tool_opt,
|
||||
install = pm.install(BINDIR.."lib.bin/em_opt")
|
||||
},
|
||||
|
||||
group {
|
||||
CDEFINES = {PARENT, "GLOBAL_OPT"},
|
||||
local_tool_opt,
|
||||
install = pm.install(BINDIR.."lib.bin/em_opt2")
|
||||
},
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.5 2007-02-25 12:51:21 dtrg
|
||||
-- em_table is now in /h, not /etc.
|
||||
--
|
||||
-- Revision 1.4 2007/02/20 00:27:01 dtrg
|
||||
-- Fixed a compilation error that was causing opt to not have its
|
||||
-- peephole optimisation tables, which would make it generate
|
||||
-- duff code.
|
||||
--
|
||||
-- Revision 1.3 2006/10/15 00:28:12 dtrg
|
||||
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
|
||||
--
|
||||
-- Revision 1.2 2006/07/20 23:10:07 dtrg
|
||||
-- Fixed revision history.
|
||||
--
|
||||
@@ -1,56 +0,0 @@
|
||||
-- $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.
|
||||
Reference in New Issue
Block a user