First version in CVS.
This commit is contained in:
parent
ea8f3fe1ff
commit
097c640a6c
143
first/c.pm
Normal file
143
first/c.pm
Normal file
|
@ -0,0 +1,143 @@
|
|||
-- pm includefile to compile *host* C programs.
|
||||
|
||||
-- Standard Lua boilerplate.
|
||||
|
||||
local io_open = io.open
|
||||
local string_gsub = string.gsub
|
||||
local string_gfind = string.gfind
|
||||
local table_insert = table.insert
|
||||
local table_getn = table.getn
|
||||
local filetime = pm.filetime
|
||||
|
||||
-- Define some variables.
|
||||
|
||||
CCOMPILER = "gcc"
|
||||
CC = "%CCOMPILER% %CBUILDFLAGS% %CDYNINCLUDES% %CINCLUDES% %CDEFINES% %CEXTRAFLAGS% -c -o %out% %in%"
|
||||
CPROGRAM = "%CCOMPILER% %CBUILDFLAGS% %CLINKFLAGS% %CEXTRAFLAGS% -o %out% %in% %CLIBRARIES%"
|
||||
CDEPENDS = "%CCOMPILER% %CBUILDFLAGS% %CDYNINCLUDES% %CINCLUDES% %CDEFINES% %CEXTRAFLAGS% -MM -MG %in% > %out%"
|
||||
AR = "%RM% %out% && ar cr %out% %in%"
|
||||
|
||||
CBUILDFLAGS = "-g -Os"
|
||||
CINCLUDES = {}
|
||||
CDEFINES = {}
|
||||
CEXTRAFLAGS = ""
|
||||
CLINKFLAGS = ""
|
||||
CDYNINCLUDES = ""
|
||||
CLIBRARIES = ""
|
||||
|
||||
--- Manage C file dependencies ----------------------------------------------
|
||||
|
||||
local dependency_cache = {}
|
||||
local function load_dependency_file(fn)
|
||||
local o = dependency_cache[fn]
|
||||
if o then
|
||||
return o
|
||||
end
|
||||
|
||||
-- Read in the dependency file.
|
||||
|
||||
local f = io_open(fn)
|
||||
if not f then
|
||||
print("failed to open "..fn)
|
||||
return nil
|
||||
end
|
||||
f = f:read("*a")
|
||||
|
||||
-- Massage the dependency file into a string containing one unescaped
|
||||
-- filename per line.
|
||||
|
||||
f = string_gsub(f, "^.*[^\\]: *", "")
|
||||
f = string_gsub(f, "\\\r?\n", "")
|
||||
f = string_gsub(f, "([^\\]) +", "%1\n")
|
||||
f = string_gsub(f, "\\", "")
|
||||
|
||||
-- Parse the string.
|
||||
|
||||
o = {}
|
||||
for l in string_gfind(f, "[^\n]+") do
|
||||
table_insert(o, l)
|
||||
end
|
||||
|
||||
dependency_cache[fn] = o
|
||||
return o
|
||||
end
|
||||
|
||||
-- This clause specialises 'simple' to add support for smart dependencies of C
|
||||
-- files.
|
||||
|
||||
simple_with_clike_dependencies = simple {
|
||||
class = "simple_with_clike_dependencies",
|
||||
makedepends = {"%CDEPENDS%"},
|
||||
|
||||
__init = function(self, p)
|
||||
simple.__init(self, p)
|
||||
|
||||
-- If we're a class, don't verify.
|
||||
|
||||
if ((type(p) == "table") and p.class) then
|
||||
return
|
||||
end
|
||||
|
||||
-- If dynamicheaders is an object, turn it into a singleton list.
|
||||
|
||||
if self.dynamicheaders then
|
||||
if (type(self.dynamicheaders) ~= "table") then
|
||||
self:__error("doesn't know what to do with dynamicheaders, which ",
|
||||
"should be a list or an object but was a ", type(self.dynamicheaders))
|
||||
end
|
||||
if self.dynamicheaders.class then
|
||||
self.dynamicheaders = {self.dynamicheaders}
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
||||
__dependencies = function(self, inputs, outputs)
|
||||
local obj = simple {
|
||||
CDYNINCLUDES = self.CDYNINCLUDES,
|
||||
command = self.makedepends,
|
||||
outputs = {"%U%-%I%.d"},
|
||||
unpack(inputs)
|
||||
}
|
||||
local o = obj:__build()
|
||||
local depends = load_dependency_file(o[1])
|
||||
if not depends then
|
||||
self:__error("could not determine the dependencies for ",
|
||||
pm.rendertable(inputs))
|
||||
end
|
||||
return depends
|
||||
end,
|
||||
|
||||
__buildadditionalchildren = function(self)
|
||||
self.CDYNINCLUDES = ""
|
||||
if self.dynamicheaders then
|
||||
for _, i in ipairs(self.dynamicheaders) do
|
||||
local o = i:__build()
|
||||
if o[1] then
|
||||
self.CDYNINCLUDES = self.CDYNINCLUDES..' "-I'..string_gsub(o[1], "/[^/]*$", "")..'"'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
-- These are the publically useful clauses.
|
||||
|
||||
cfile = simple_with_clike_dependencies {
|
||||
class = "cfile",
|
||||
command = {"%CC%"},
|
||||
outputs = {"%U%-%I%.o"},
|
||||
}
|
||||
|
||||
cprogram = simple {
|
||||
class = "cprogram",
|
||||
command = {"%CPROGRAM%"},
|
||||
outputs = {"%U%-%I%"},
|
||||
}
|
||||
|
||||
clibrary = simple {
|
||||
class = "clibrary",
|
||||
command = {
|
||||
"%AR%"
|
||||
},
|
||||
outputs = {"%U%-%I%.a"},
|
||||
}
|
34
first/llgen.pm
Normal file
34
first/llgen.pm
Normal file
|
@ -0,0 +1,34 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
-- This is unpleasant. LLgen can generate an arbitrary number of output files,
|
||||
-- which means we need our own output filename generator.
|
||||
|
||||
LLgen = simple {
|
||||
class = "LLgen",
|
||||
command = {
|
||||
"rm -f %out%",
|
||||
"cd %out[1]:dirname% && LLgen %in%"
|
||||
},
|
||||
|
||||
outputs = {"%U%/" },
|
||||
__outputs = function(self, inputs)
|
||||
local o = simple.__outputs(self, inputs)[1]
|
||||
|
||||
local outputs = {o.."Lpars.h", o.."Lpars.c"}
|
||||
|
||||
for _, i in ipairs(inputs) do
|
||||
i = string.gsub(i, "^.*/", "")
|
||||
i = string.gsub(i, "%.g$", ".c")
|
||||
table.insert(outputs, o..i)
|
||||
end
|
||||
|
||||
return outputs
|
||||
end
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
18
first/yacc.pm
Normal file
18
first/yacc.pm
Normal file
|
@ -0,0 +1,18 @@
|
|||
yacc = simple {
|
||||
class = "yacc",
|
||||
outputs = {"%U%/%I%.c"},
|
||||
|
||||
command = {
|
||||
"yacc -t -b %{return posix.dirname(self.out[1])}%/y -d %in%",
|
||||
"mv %{return posix.dirname(self.out[1])}%/y.tab.c %out%"
|
||||
}
|
||||
}
|
||||
|
||||
flex = simple {
|
||||
class = "flex",
|
||||
outputs = {"%U%/%I%.c"},
|
||||
|
||||
command = {
|
||||
"flex -s -t %in% > %out%"
|
||||
}
|
||||
}
|
216
lang/cem/cemcom.ansi/pmfile
Normal file
216
lang/cem/cemcom.ansi/pmfile
Normal file
|
@ -0,0 +1,216 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."lang/cem/cemcom.ansi/"
|
||||
|
||||
local extract_parameters = simple {
|
||||
outputs = {
|
||||
"%U%/lint.h",
|
||||
"%U%/pathlength.h",
|
||||
"%U%/errout.h",
|
||||
"%U%/idfsize.h",
|
||||
"%U%/numsize.h",
|
||||
"%U%/nparams.h",
|
||||
"%U%/ifdepth.h",
|
||||
"%U%/density.h",
|
||||
"%U%/macbuf.h",
|
||||
"%U%/strsize.h",
|
||||
"%U%/trgt_sizes.h",
|
||||
"%U%/botch_free.h",
|
||||
"%U%/dataflow.h",
|
||||
"%U%/debug.h",
|
||||
"%U%/use_tmp.h",
|
||||
"%U%/parbufsize.h",
|
||||
"%U%/textsize.h",
|
||||
"%U%/inputtype.h",
|
||||
"%U%/nopp.h",
|
||||
"%U%/nobitfield.h",
|
||||
"%U%/spec_arith.h",
|
||||
"%U%/static.h",
|
||||
"%U%/nocross.h",
|
||||
"%U%/regcount.h",
|
||||
"%U%/dbsymtab.h",
|
||||
},
|
||||
|
||||
command = {
|
||||
"cd %out[1]:dirname% && %in[1]% %in[2]%"
|
||||
},
|
||||
|
||||
file (d.."make.hfiles"),
|
||||
file (d.."BigPars")
|
||||
}
|
||||
|
||||
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.."program.g"),
|
||||
file (d.."declar.g"),
|
||||
file (d.."expression.g"),
|
||||
file (d.."statement.g"),
|
||||
file (d.."ival.g"),
|
||||
}
|
||||
|
||||
local allocd_header = simple {
|
||||
class = "allocd_header",
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out[1]%"
|
||||
},
|
||||
|
||||
file (d.."make.allocd")
|
||||
}
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
file (d),
|
||||
extract_parameters,
|
||||
allocd_header { outputs = {"%U%/code.h"}, (d.."code.str") },
|
||||
allocd_header { outputs = {"%U%/declar.h"}, (d.."declar.str") },
|
||||
allocd_header { outputs = {"%U%/def.h"}, (d.."def.str") },
|
||||
allocd_header { outputs = {"%U%/expr.h"}, (d.."expr.str") },
|
||||
allocd_header { outputs = {"%U%/field.h"}, (d.."field.str") },
|
||||
allocd_header { outputs = {"%U%/estack.h"}, (d.."estack.str") },
|
||||
allocd_header { outputs = {"%U%/util.h"}, (d.."util.str") },
|
||||
allocd_header { outputs = {"%U%/proto.h"}, (d.."proto.str") },
|
||||
allocd_header { outputs = {"%U%/replace.h"}, (d.."replace.str") },
|
||||
allocd_header { outputs = {"%U%/idf.h"}, (d.."idf.str") },
|
||||
allocd_header { outputs = {"%U%/macro.h"}, (d.."macro.str") },
|
||||
allocd_header { outputs = {"%U%/stack.h"}, (d.."stack.str") },
|
||||
allocd_header { outputs = {"%U%/stmt.h"}, (d.."stmt.str") },
|
||||
allocd_header { outputs = {"%U%/struct.h"}, (d.."struct.str") },
|
||||
allocd_header { outputs = {"%U%/switch.h"}, (d.."switch.str") },
|
||||
allocd_header { outputs = {"%U%/type.h"}, (d.."type.str") },
|
||||
allocd_header { outputs = {"%U%/l_brace.h"}, (d.."l_brace.str") },
|
||||
allocd_header { outputs = {"%U%/l_state.h"}, (d.."l_state.str") },
|
||||
allocd_header { outputs = {"%U%/l_outdef.h"}, (d.."l_outdef.str") },
|
||||
lpars
|
||||
}
|
||||
}
|
||||
|
||||
lang_cem_cemcom_ansi = cprogram {
|
||||
cfile_with_headers (d.."LLlex.c"),
|
||||
cfile_with_headers (d.."LLmessage.c"),
|
||||
cfile_with_headers (d.."arith.c"),
|
||||
cfile_with_headers (d.."blocks.c"),
|
||||
cfile_with_headers (d.."ch3.c"),
|
||||
cfile_with_headers (d.."ch3bin.c"),
|
||||
cfile_with_headers (d.."ch3mon.c"),
|
||||
cfile_with_headers (d.."code.c"),
|
||||
cfile_with_headers (d.."conversion.c"),
|
||||
cfile_with_headers (d.."cstoper.c"),
|
||||
cfile_with_headers (d.."dataflow.c"),
|
||||
cfile_with_headers (d.."declarator.c"),
|
||||
cfile_with_headers (d.."decspecs.c"),
|
||||
cfile_with_headers (d.."domacro.c"),
|
||||
cfile_with_headers (d.."dumpidf.c"),
|
||||
cfile_with_headers (d.."error.c"),
|
||||
cfile_with_headers (d.."eval.c"),
|
||||
cfile_with_headers (d.."expr.c"),
|
||||
cfile_with_headers (d.."field.c"),
|
||||
cfile_with_headers (d.."fltcstoper.c"),
|
||||
cfile_with_headers (d.."idf.c"),
|
||||
cfile_with_headers (d.."init.c"),
|
||||
cfile_with_headers (d.."input.c"),
|
||||
cfile_with_headers (d.."l_comment.c"),
|
||||
cfile_with_headers (d.."l_ev_ord.c"),
|
||||
cfile_with_headers (d.."l_lint.c"),
|
||||
cfile_with_headers (d.."l_misc.c"),
|
||||
cfile_with_headers (d.."l_outdef.c"),
|
||||
cfile_with_headers (d.."l_states.c"),
|
||||
cfile_with_headers (d.."label.c"),
|
||||
cfile_with_headers (d.."main.c"),
|
||||
cfile_with_headers (d.."options.c"),
|
||||
cfile_with_headers (d.."pragma.c"),
|
||||
cfile_with_headers (d.."proto.c"),
|
||||
cfile_with_headers (d.."replace.c"),
|
||||
cfile_with_headers (d.."skip.c"),
|
||||
cfile_with_headers (d.."stab.c"),
|
||||
cfile_with_headers (d.."stack.c"),
|
||||
cfile_with_headers (d.."struct.c"),
|
||||
cfile_with_headers (d.."switch.c"),
|
||||
cfile_with_headers (d.."tokenname.c"),
|
||||
cfile_with_headers (d.."type.c"),
|
||||
cfile_with_headers (d.."util.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 {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
tabgen (d.."char.tab")
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
simple {
|
||||
outputs = {"%U%-next.c"},
|
||||
command = {
|
||||
"%in% > %out%"
|
||||
},
|
||||
|
||||
file (d.."make.next"),
|
||||
|
||||
file (d.."code.str"),
|
||||
file (d.."declar.str"),
|
||||
file (d.."def.str"),
|
||||
file (d.."expr.str"),
|
||||
file (d.."field.str"),
|
||||
file (d.."estack.str"),
|
||||
file (d.."util.str"),
|
||||
file (d.."proto.str"),
|
||||
file (d.."replace.str"),
|
||||
file (d.."idf.str"),
|
||||
file (d.."macro.str"),
|
||||
file (d.."stack.str"),
|
||||
file (d.."stmt.str"),
|
||||
file (d.."struct.str"),
|
||||
file (d.."switch.str"),
|
||||
file (d.."type.str"),
|
||||
file (d.."l_brace.str"),
|
||||
file (d.."l_state.str"),
|
||||
file (d.."l_outdef.str"),
|
||||
}
|
||||
},
|
||||
|
||||
lib_em_mes,
|
||||
lib_emk,
|
||||
lib_em_data,
|
||||
lib_input,
|
||||
lib_assert,
|
||||
lib_alloc,
|
||||
lib_flt_arith,
|
||||
lib_print,
|
||||
lib_system,
|
||||
lib_string,
|
||||
|
||||
outputs = {"%U%/em_cemcom.ansi"},
|
||||
install = {
|
||||
pm.install( BINDIR..PLATDEP.."/em_cemcom.ansi"),
|
||||
pm.install(d.."cemcom.ansi.1", BINDIR.."/man/man1/cemcom.ansi.1"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
215
lang/cem/cemcom/pmfile
Normal file
215
lang/cem/cemcom/pmfile
Normal file
|
@ -0,0 +1,215 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."lang/cem/cemcom/"
|
||||
|
||||
local extract_parameters = simple {
|
||||
outputs = {
|
||||
"%U%/lint.h",
|
||||
"%U%/pathlength.h",
|
||||
"%U%/errout.h",
|
||||
"%U%/idfsize.h",
|
||||
"%U%/numsize.h",
|
||||
"%U%/nparams.h",
|
||||
"%U%/ifdepth.h",
|
||||
"%U%/density.h",
|
||||
"%U%/lapbuf.h",
|
||||
"%U%/strsize.h",
|
||||
"%U%/target_sizes.h",
|
||||
"%U%/botch_free.h",
|
||||
"%U%/dataflow.h",
|
||||
"%U%/debug.h",
|
||||
"%U%/use_tmp.h",
|
||||
"%U%/parbufsize.h",
|
||||
"%U%/textsize.h",
|
||||
"%U%/inputtype.h",
|
||||
"%U%/nopp.h",
|
||||
"%U%/nobitfield.h",
|
||||
"%U%/spec_arith.h",
|
||||
"%U%/static.h",
|
||||
"%U%/nofloat.h",
|
||||
"%U%/noRoption.h",
|
||||
"%U%/nocross.h",
|
||||
"%U%/regcount.h",
|
||||
"%U%/dbsymtab.h",
|
||||
},
|
||||
|
||||
command = {
|
||||
"cd %out[1]:dirname% && %in[1]% %in[2]%"
|
||||
},
|
||||
|
||||
file (d.."make.hfiles"),
|
||||
file (d.."BigPars")
|
||||
}
|
||||
|
||||
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.."program.g"),
|
||||
file (d.."declar.g"),
|
||||
file (d.."expression.g"),
|
||||
file (d.."statement.g"),
|
||||
file (d.."ival.g"),
|
||||
}
|
||||
|
||||
local allocd_header = simple {
|
||||
class = "allocd_header",
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out[1]%"
|
||||
},
|
||||
|
||||
file (d.."make.allocd")
|
||||
}
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
file (d),
|
||||
extract_parameters,
|
||||
allocd_header { outputs = {"%U%/code.h"}, (d.."code.str") },
|
||||
allocd_header { outputs = {"%U%/declar.h"}, (d.."declar.str") },
|
||||
allocd_header { outputs = {"%U%/def.h"}, (d.."def.str") },
|
||||
allocd_header { outputs = {"%U%/expr.h"}, (d.."expr.str") },
|
||||
allocd_header { outputs = {"%U%/field.h"}, (d.."field.str") },
|
||||
allocd_header { outputs = {"%U%/estack.h"}, (d.."estack.str") },
|
||||
allocd_header { outputs = {"%U%/util.h"}, (d.."util.str") },
|
||||
allocd_header { outputs = {"%U%/decspecs.h"}, (d.."decspecs.str") },
|
||||
allocd_header { outputs = {"%U%/idf.h"}, (d.."idf.str") },
|
||||
allocd_header { outputs = {"%U%/macro.h"}, (d.."macro.str") },
|
||||
allocd_header { outputs = {"%U%/stack.h"}, (d.."stack.str") },
|
||||
allocd_header { outputs = {"%U%/stmt.h"}, (d.."stmt.str") },
|
||||
allocd_header { outputs = {"%U%/struct.h"}, (d.."struct.str") },
|
||||
allocd_header { outputs = {"%U%/switch.h"}, (d.."switch.str") },
|
||||
allocd_header { outputs = {"%U%/type.h"}, (d.."type.str") },
|
||||
allocd_header { outputs = {"%U%/l_brace.h"}, (d.."l_brace.str") },
|
||||
allocd_header { outputs = {"%U%/l_state.h"}, (d.."l_state.str") },
|
||||
allocd_header { outputs = {"%U%/l_outdef.h"}, (d.."l_outdef.str") },
|
||||
lpars
|
||||
}
|
||||
}
|
||||
|
||||
lang_cem_cemcom = cprogram {
|
||||
cfile_with_headers (d.."LLlex.c"),
|
||||
cfile_with_headers (d.."LLmessage.c"),
|
||||
cfile_with_headers (d.."arith.c"),
|
||||
cfile_with_headers (d.."asm.c"),
|
||||
cfile_with_headers (d.."blocks.c"),
|
||||
cfile_with_headers (d.."ch7.c"),
|
||||
cfile_with_headers (d.."ch7bin.c"),
|
||||
cfile_with_headers (d.."ch7mon.c"),
|
||||
cfile_with_headers (d.."code.c"),
|
||||
cfile_with_headers (d.."conversion.c"),
|
||||
cfile_with_headers (d.."cstoper.c"),
|
||||
cfile_with_headers (d.."dataflow.c"),
|
||||
cfile_with_headers (d.."declarator.c"),
|
||||
cfile_with_headers (d.."decspecs.c"),
|
||||
cfile_with_headers (d.."domacro.c"),
|
||||
cfile_with_headers (d.."dumpidf.c"),
|
||||
cfile_with_headers (d.."error.c"),
|
||||
cfile_with_headers (d.."eval.c"),
|
||||
cfile_with_headers (d.."expr.c"),
|
||||
cfile_with_headers (d.."field.c"),
|
||||
cfile_with_headers (d.."idf.c"),
|
||||
cfile_with_headers (d.."init.c"),
|
||||
cfile_with_headers (d.."input.c"),
|
||||
cfile_with_headers (d.."l_comment.c"),
|
||||
cfile_with_headers (d.."l_ev_ord.c"),
|
||||
cfile_with_headers (d.."l_lint.c"),
|
||||
cfile_with_headers (d.."l_misc.c"),
|
||||
cfile_with_headers (d.."l_outdef.c"),
|
||||
cfile_with_headers (d.."l_states.c"),
|
||||
cfile_with_headers (d.."label.c"),
|
||||
cfile_with_headers (d.."main.c"),
|
||||
cfile_with_headers (d.."options.c"),
|
||||
cfile_with_headers (d.."replace.c"),
|
||||
cfile_with_headers (d.."scan.c"),
|
||||
cfile_with_headers (d.."skip.c"),
|
||||
cfile_with_headers (d.."stack.c"),
|
||||
cfile_with_headers (d.."struct.c"),
|
||||
cfile_with_headers (d.."switch.c"),
|
||||
cfile_with_headers (d.."tokenname.c"),
|
||||
cfile_with_headers (d.."type.c"),
|
||||
cfile_with_headers (d.."util.c"),
|
||||
cfile_with_headers (d.."stab.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 {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
tabgen (d.."char.tab")
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
simple {
|
||||
outputs = {"%U%-next.c"},
|
||||
command = {
|
||||
"%in% > %out%"
|
||||
},
|
||||
|
||||
file (d.."make.next"),
|
||||
|
||||
file (d.."code.str"),
|
||||
file (d.."declar.str"),
|
||||
file (d.."decspecs.str"),
|
||||
file (d.."def.str"),
|
||||
file (d.."expr.str"),
|
||||
file (d.."field.str"),
|
||||
file (d.."estack.str"),
|
||||
file (d.."util.str"),
|
||||
file (d.."idf.str"),
|
||||
file (d.."macro.str"),
|
||||
file (d.."stack.str"),
|
||||
file (d.."stmt.str"),
|
||||
file (d.."struct.str"),
|
||||
file (d.."switch.str"),
|
||||
file (d.."type.str"),
|
||||
file (d.."l_brace.str"),
|
||||
file (d.."l_state.str"),
|
||||
file (d.."l_outdef.str"),
|
||||
}
|
||||
},
|
||||
|
||||
lib_em_mes,
|
||||
lib_emk,
|
||||
lib_em_data,
|
||||
lib_input,
|
||||
lib_assert,
|
||||
lib_alloc,
|
||||
lib_flt_arith,
|
||||
lib_print,
|
||||
lib_system,
|
||||
lib_string,
|
||||
|
||||
outputs = {"%U%/em_cemcom"},
|
||||
install = {
|
||||
pm.install( BINDIR..PLATDEP.."/em_cemcom"),
|
||||
pm.install(d.."cemcom.1", BINDIR.."/man/man1/cemcom.1"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/6500/dl/pmfile
Normal file
19
mach/6500/dl/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "mach/6500/dl/"
|
||||
|
||||
tool_6500_dl = cprogram {
|
||||
cfile (d.."dl.c"),
|
||||
|
||||
lib_object,
|
||||
|
||||
outputs = {"%U%/dl"},
|
||||
install = pm.install(BINDIR..PLATDEP.."/6500/dl")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
103
mach/6500/libem/pmfile
Normal file
103
mach/6500/libem/pmfile
Normal file
|
@ -0,0 +1,103 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/6500/libem/"
|
||||
|
||||
proto_libem = aal {
|
||||
outputs = {"%U%/libem-%ARCH%.a"},
|
||||
install = pm.install("%BINDIR%lib/%ARCH%/tail_em"),
|
||||
|
||||
as (d.."adi4.s"),
|
||||
as (d.."cmi.s"),
|
||||
as (d.."cmi4.s"),
|
||||
as (d.."sbi4.s"),
|
||||
as (d.."addsub.s"),
|
||||
as (d.."cmu4.s"),
|
||||
as (d.."dum_float.s"),
|
||||
as (d.."dvi4.s"),
|
||||
as (d.."dvu4.s"),
|
||||
as (d.."lar.s"),
|
||||
as (d.."lol.s"),
|
||||
as (d.."los.s"),
|
||||
as (d.."loil.s"),
|
||||
as (d.."loi1.s"),
|
||||
as (d.."loi.s"),
|
||||
as (d.."mli4.s"),
|
||||
as (d.."mlu.s"),
|
||||
as (d.."mlu4.s"),
|
||||
as (d.."mul4.s"),
|
||||
as (d.."rmi.s"),
|
||||
as (d.."rmi4.s"),
|
||||
as (d.."div4.s"),
|
||||
as (d.."rmu.s"),
|
||||
as (d.."dvi.s"),
|
||||
as (d.."rmu4.s"),
|
||||
as (d.."duv4.s"),
|
||||
as (d.."ngi4.s"),
|
||||
as (d.."rtt.s"),
|
||||
as (d.."ret.s"),
|
||||
as (d.."sar.s"),
|
||||
as (d.."aar.s"),
|
||||
as (d.."adi.s"),
|
||||
as (d.."sbi.s"),
|
||||
as (d.."mli.s"),
|
||||
as (d.."ngi.s"),
|
||||
as (d.."set.s"),
|
||||
as (d.."zer.s"),
|
||||
as (d.."stl.s"),
|
||||
as (d.."sts.s"),
|
||||
as (d.."sdl.s"),
|
||||
as (d.."sti.s"),
|
||||
as (d.."stil.s"),
|
||||
as (d.."blm.s"),
|
||||
as (d.."sti1.s"),
|
||||
as (d.."test2.s"),
|
||||
as (d.."testFFh.s"),
|
||||
as (d.."trap.s"),
|
||||
as (d.."ldi.s"),
|
||||
as (d.."data.s"),
|
||||
as (d.."zri.s"),
|
||||
as (d.."locaddr.s"),
|
||||
as (d.."and.s"),
|
||||
as (d.."asp.s"),
|
||||
as (d.."cii.s"),
|
||||
as (d.."cms.s"),
|
||||
as (d.."cmu.s"),
|
||||
as (d.."com.s"),
|
||||
as (d.."csa.s"),
|
||||
as (d.."csb.s"),
|
||||
as (d.."dup.s"),
|
||||
as (d.."dvu.s"),
|
||||
as (d.."exg.s"),
|
||||
as (d.."exg2.s"),
|
||||
as (d.."gto.s"),
|
||||
as (d.."indir.s"),
|
||||
as (d.."inn.s"),
|
||||
as (d.."ior.s"),
|
||||
as (d.."lcs.s"),
|
||||
as (d.."lxa1.s"),
|
||||
as (d.."lxa2.s"),
|
||||
as (d.."lxl.s"),
|
||||
as (d.."pro.s"),
|
||||
as (d.."rol.s"),
|
||||
as (d.."rol4.s"),
|
||||
as (d.."ror.s"),
|
||||
as (d.."ror4.s"),
|
||||
as (d.."sli.s"),
|
||||
as (d.."sli4.s"),
|
||||
as (d.."sri.s"),
|
||||
as (d.."sri4.s"),
|
||||
as (d.."teq.s"),
|
||||
as (d.."tge.s"),
|
||||
as (d.."tgt.s"),
|
||||
as (d.."tle.s"),
|
||||
as (d.."tlt.s"),
|
||||
as (d.."tne.s"),
|
||||
as (d.."xor.s"),
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
23
mach/6500/pmfile
Normal file
23
mach/6500/pmfile
Normal file
|
@ -0,0 +1,23 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/6500/"
|
||||
|
||||
include (d.."dl/pmfile")
|
||||
--include (d.."libem/pmfile")
|
||||
|
||||
mach_6500 = group {
|
||||
ARCH = "6500",
|
||||
|
||||
proto_cg,
|
||||
proto_as,
|
||||
tool_6500_dl,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
16
mach/6800/pmfile
Normal file
16
mach/6800/pmfile
Normal file
|
@ -0,0 +1,16 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
mach_6800 = group {
|
||||
ARCH = "6800",
|
||||
|
||||
proto_as,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
16
mach/6805/pmfile
Normal file
16
mach/6805/pmfile
Normal file
|
@ -0,0 +1,16 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
mach_6805 = group {
|
||||
ARCH = "6805",
|
||||
|
||||
proto_as,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
16
mach/6809/pmfile
Normal file
16
mach/6809/pmfile
Normal file
|
@ -0,0 +1,16 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
mach_6809 = group {
|
||||
ARCH = "6809",
|
||||
|
||||
proto_as,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/arm/cv/pmfile
Normal file
19
mach/arm/cv/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/arm/cv/"
|
||||
|
||||
tool_arm_cv = cprogram {
|
||||
cfile (d.."cv.c"),
|
||||
|
||||
lib_object,
|
||||
|
||||
outputs = {"%U%/cv"},
|
||||
install = pm.install(BINDIR.."%PLATDEP%/arm/dl")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
22
mach/arm/pmfile
Normal file
22
mach/arm/pmfile
Normal file
|
@ -0,0 +1,22 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/arm/"
|
||||
|
||||
include (d.."cv/pmfile")
|
||||
|
||||
mach_arm = group {
|
||||
ARCH = "arm",
|
||||
|
||||
proto_as,
|
||||
proto_ncg { ARCHDIR = "arm" },
|
||||
tool_arm_cv,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/i386/cv/pmfile
Normal file
19
mach/i386/cv/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/i386/cv/"
|
||||
|
||||
tool_i386_cv = cprogram {
|
||||
cfile (d.."cv.c"),
|
||||
|
||||
lib_object,
|
||||
|
||||
outputs = {"%U%/cv"},
|
||||
install = pm.install(BINDIR.."%PLATDEP%/i386/dl")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
22
mach/i386/pmfile
Normal file
22
mach/i386/pmfile
Normal file
|
@ -0,0 +1,22 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/i386/"
|
||||
|
||||
include (d.."cv/pmfile")
|
||||
|
||||
mach_i386 = group {
|
||||
ARCH = "i386",
|
||||
|
||||
proto_as,
|
||||
proto_ncg { ARCHDIR = "i386" },
|
||||
tool_i386_cv,
|
||||
|
||||
install = pm.install("%ROOTDIR%lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/i80/pmfile
Normal file
19
mach/i80/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/i80/"
|
||||
|
||||
mach_i80 = group {
|
||||
ARCH = "i80",
|
||||
|
||||
proto_as,
|
||||
proto_ncg { ARCHDIR = "i80" },
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/i86/pmfile
Normal file
19
mach/i86/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/i86/"
|
||||
|
||||
mach_i86 = group {
|
||||
ARCH = "i86",
|
||||
|
||||
proto_as,
|
||||
proto_ncg { ARCHDIR = "i86" },
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/m68020/pmfile
Normal file
19
mach/m68020/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/m68020/"
|
||||
|
||||
mach_m68020 = group {
|
||||
ARCH = "m68020",
|
||||
|
||||
proto_as,
|
||||
proto_ncg { ARCHDIR = "m68020" },
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
20
mach/m68k2/pmfile
Normal file
20
mach/m68k2/pmfile
Normal file
|
@ -0,0 +1,20 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/m68k2/"
|
||||
|
||||
mach_m68k2 = group {
|
||||
ARCH = "m68k2",
|
||||
|
||||
proto_as,
|
||||
proto_ncg { ARCHDIR = "m68020" },
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/m68k4/pmfile
Normal file
19
mach/m68k4/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/m68k4/"
|
||||
|
||||
mach_m68k4 = group {
|
||||
ARCH = "m68k4",
|
||||
|
||||
proto_ncg { ARCHDIR = "m68020" },
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/ns/pmfile
Normal file
19
mach/ns/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/ns/"
|
||||
|
||||
mach_ns = group {
|
||||
ARCH = "ns",
|
||||
|
||||
proto_as,
|
||||
proto_ncg { ARCHDIR = "ns" },
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
20
mach/pdp/pmfile
Normal file
20
mach/pdp/pmfile
Normal file
|
@ -0,0 +1,20 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/pdp/"
|
||||
|
||||
mach_pdp = group {
|
||||
ARCH = "pdp",
|
||||
|
||||
proto_as,
|
||||
proto_cg,
|
||||
proto_ncg { ARCHDIR = "pdp" },
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
51
mach/proto/as/pmfile
Normal file
51
mach/proto/as/pmfile
Normal file
|
@ -0,0 +1,51 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/proto/as/"
|
||||
|
||||
local parser = yacc {
|
||||
simple {
|
||||
outputs = {"%U%-%I%.y"},
|
||||
command = {
|
||||
"cd %out[1]:dirname% && "..
|
||||
"%in[2]% -P -I%ROOTDIR%mach/%ARCH%/as -I"..d.." %CINCLUDES% %in[1]% > %out[1]%"
|
||||
},
|
||||
|
||||
file (d.."comm2.y"),
|
||||
tool_cpp
|
||||
}
|
||||
}
|
||||
|
||||
local cfile_with_tables = cfile {
|
||||
class = "cfile_with_tables",
|
||||
dynamicheaders = {
|
||||
parser,
|
||||
file (ROOTDIR.."mach/%ARCH%/as/")
|
||||
}
|
||||
}
|
||||
|
||||
proto_as = cprogram {
|
||||
class = "proto_as",
|
||||
|
||||
cfile_with_tables (d.."comm3.c"),
|
||||
cfile_with_tables (d.."comm4.c"),
|
||||
cfile_with_tables (d.."comm5.c"),
|
||||
cfile_with_tables (d.."comm6.c"),
|
||||
cfile_with_tables (d.."comm7.c"),
|
||||
cfile_with_tables (d.."comm8.c"),
|
||||
|
||||
cfile {
|
||||
parser,
|
||||
},
|
||||
|
||||
lib_object,
|
||||
|
||||
outputs = {"%U%/%ARCH%-as"},
|
||||
install = pm.install(BINDIR.."%PLATDEP%/%ARCH%/as")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
97
mach/proto/cg/pmfile
Normal file
97
mach/proto/cg/pmfile
Normal file
|
@ -0,0 +1,97 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/proto/cg/"
|
||||
|
||||
local make_tables = cgg {
|
||||
CGGINCLUDEDIR = (ROOTDIR.."mach/%ARCH%/cg/"),
|
||||
file (ROOTDIR.."mach/%ARCH%/cg/table")
|
||||
}
|
||||
|
||||
local cfile_with_tables = cfile {
|
||||
class = "cfile_with_tables",
|
||||
dynamicheaders = {
|
||||
make_tables,
|
||||
file (ROOTDIR.."mach/%ARCH%/cg/"),
|
||||
file (ROOTDIR.."mach/")
|
||||
}
|
||||
}
|
||||
|
||||
proto_cg = cprogram {
|
||||
class = "proto_cg",
|
||||
|
||||
cfile_with_tables (d.."codegen.c"),
|
||||
cfile_with_tables (d.."compute.c"),
|
||||
cfile_with_tables (d.."equiv.c"),
|
||||
cfile_with_tables (d.."gencode.c"),
|
||||
cfile_with_tables (d.."glosym.c"),
|
||||
cfile_with_tables (d.."move.c"),
|
||||
cfile_with_tables (d.."nextem.c"),
|
||||
cfile_with_tables (d.."reg.c"),
|
||||
cfile_with_tables (d.."regvar.c"),
|
||||
cfile_with_tables (d.."salloc.c"),
|
||||
cfile_with_tables (d.."state.c"),
|
||||
cfile_with_tables (d.."subr.c"),
|
||||
cfile_with_tables (d.."var.c"),
|
||||
cfile_with_tables (d.."fillem.c"),
|
||||
cfile_with_tables (d.."main.c"),
|
||||
|
||||
cfile {
|
||||
ith { make_tables, i = 1 },
|
||||
dynamicheaders = {
|
||||
file (ROOTDIR.."mach/%ARCH%/cg/"),
|
||||
file (d)
|
||||
}
|
||||
},
|
||||
|
||||
lib_em_data,
|
||||
lib_flt_arith,
|
||||
|
||||
outputs = {"%U%/%ARCH%-cg"},
|
||||
install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/cg")
|
||||
}
|
||||
|
||||
--[[
|
||||
# genmakefile
|
||||
# This genmakefile doesn't have a real comment yet.
|
||||
#
|
||||
# $Source$
|
||||
# $State$
|
||||
|
||||
codegenerator() {
|
||||
push
|
||||
addinclude $SRCDIR/src/arch/$1/cg
|
||||
addinclude $OBJDIR/src/arch/$1/cg
|
||||
addincludeq src/arch/proto/cg
|
||||
|
||||
hostcdyn src/arch/$1/cg/tables.c
|
||||
|
||||
hostprogram $DESTDIR/lib/$1/cg $OBJS \
|
||||
$DESTDIR/lib/libem_data.a \
|
||||
$DESTDIR/lib/libflt_arith.a
|
||||
|
||||
cat <<EOF
|
||||
$OBJDIR/src/arch/$1/cg/tables.c: \
|
||||
$SRCDIR/src/arch/$1/cg/table \
|
||||
$DESTDIR/bin/cpp \
|
||||
$DESTDIR/bin/cgg
|
||||
@echo HOSTCGG $SRCDIR/src/arch/$1/cg/table
|
||||
@mkdir -p \$(dir \$@)
|
||||
@(cd $OBJDIR/src/arch/$1/cg && $DESTDIR/bin/cpp -P -I$SRCDIR/src/arch/$1/cg $SRCDIR/src/arch/$1/cg/table | \
|
||||
$DESTDIR/bin/cgg) > /dev/null
|
||||
EOF
|
||||
pop
|
||||
}
|
||||
|
||||
# Revision history
|
||||
# $Log$
|
||||
# Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
# First version in CVS.
|
||||
#
|
||||
--]]
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
61
mach/proto/ncg/pmfile
Normal file
61
mach/proto/ncg/pmfile
Normal file
|
@ -0,0 +1,61 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/proto/ncg/"
|
||||
|
||||
local make_tables = ncgg {
|
||||
NCGGINCLUDEDIR = (ROOTDIR.."mach/%ARCHDIR%/ncg/"),
|
||||
file (ROOTDIR.."mach/%ARCHDIR%/ncg/table")
|
||||
}
|
||||
|
||||
local cfile_with_tables = cfile {
|
||||
class = "cfile_with_tables",
|
||||
dynamicheaders = {
|
||||
make_tables,
|
||||
file (ROOTDIR.."mach/%ARCH%/ncg/"),
|
||||
file (ROOTDIR.."mach/%ARCHDIR%/ncg/"),
|
||||
file (ROOTDIR.."mach/")
|
||||
}
|
||||
}
|
||||
|
||||
proto_ncg = cprogram {
|
||||
class = "proto_ncg",
|
||||
|
||||
cfile_with_tables (d.."codegen.c"),
|
||||
cfile_with_tables (d.."compute.c"),
|
||||
cfile_with_tables (d.."equiv.c"),
|
||||
cfile_with_tables (d.."fillem.c"),
|
||||
cfile_with_tables (d.."gencode.c"),
|
||||
cfile_with_tables (d.."glosym.c"),
|
||||
cfile_with_tables (d.."label.c"),
|
||||
cfile_with_tables (d.."main.c"),
|
||||
cfile_with_tables (d.."move.c"),
|
||||
cfile_with_tables (d.."nextem.c"),
|
||||
cfile_with_tables (d.."reg.c"),
|
||||
cfile_with_tables (d.."regvar.c"),
|
||||
cfile_with_tables (d.."salloc.c"),
|
||||
cfile_with_tables (d.."state.c"),
|
||||
cfile_with_tables (d.."subr.c"),
|
||||
cfile_with_tables (d.."var.c"),
|
||||
|
||||
cfile {
|
||||
ith { make_tables, i = 1 },
|
||||
dynamicheaders = {
|
||||
file (ROOTDIR.."mach/%ARCH%/ncg/"),
|
||||
file (ROOTDIR.."mach/%ARCHDIR%/ncg/"),
|
||||
file (d)
|
||||
}
|
||||
},
|
||||
|
||||
lib_em_data,
|
||||
lib_flt_arith,
|
||||
|
||||
outputs = {"%U%/%ARCH%-ncg"},
|
||||
install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/ncg")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
14
mach/proto/pmfile
Normal file
14
mach/proto/pmfile
Normal file
|
@ -0,0 +1,14 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/proto/"
|
||||
|
||||
include (d.."as/pmfile")
|
||||
include (d.."cg/pmfile")
|
||||
include (d.."ncg/pmfile")
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
16
mach/s2650/pmfile
Normal file
16
mach/s2650/pmfile
Normal file
|
@ -0,0 +1,16 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
mach_s2650 = group {
|
||||
ARCH = "s2650",
|
||||
|
||||
proto_as,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/vax4/pmfile
Normal file
19
mach/vax4/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/vax4/"
|
||||
|
||||
mach_vax4 = group {
|
||||
ARCH = "vax4",
|
||||
|
||||
proto_as,
|
||||
proto_cg,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/z80/pmfile
Normal file
19
mach/z80/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/z80/"
|
||||
|
||||
mach_z80 = group {
|
||||
ARCH = "z80",
|
||||
|
||||
proto_as,
|
||||
proto_cg,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
19
mach/z8000/pmfile
Normal file
19
mach/z8000/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."mach/z8000/"
|
||||
|
||||
mach_z8000 = group {
|
||||
ARCH = "z8000",
|
||||
|
||||
proto_as,
|
||||
proto_cg,
|
||||
|
||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
29
modules/src/alloc/pmfile
Normal file
29
modules/src/alloc/pmfile
Normal file
|
@ -0,0 +1,29 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."modules/src/alloc/"
|
||||
lib_alloc = file (LIBDIR.."liballoc.a")
|
||||
|
||||
module_alloc = clibrary {
|
||||
cfile (d.."Malloc.c"),
|
||||
cfile (d.."Salloc.c"),
|
||||
cfile (d.."Srealloc.c"),
|
||||
cfile (d.."Realloc.c"),
|
||||
cfile (d.."botch.c"),
|
||||
cfile (d.."clear.c"),
|
||||
cfile (d.."st_alloc.c"),
|
||||
cfile (d.."std_alloc.c"),
|
||||
cfile (d.."No_Mem.c"),
|
||||
|
||||
outputs = {"%U%/liballoc.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."liballoc.a"),
|
||||
pm.install(d.."alloc.h", HEADERDIR.."alloc.h")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
20
modules/src/assert/pmfile
Normal file
20
modules/src/assert/pmfile
Normal file
|
@ -0,0 +1,20 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/assert/"
|
||||
lib_assert = file (LIBDIR.."libassert.a")
|
||||
|
||||
module_assert = clibrary {
|
||||
cfile (d.."BadAssert.c"),
|
||||
|
||||
outputs = {"%U%/libassert.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libassert.a")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
106
modules/src/em_code/pmfile
Normal file
106
modules/src/em_code/pmfile
Normal file
|
@ -0,0 +1,106 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/em_code/"
|
||||
lib_eme = file (LIBDIR.."libeme.a")
|
||||
lib_emk = file (LIBDIR.."libemk.a")
|
||||
|
||||
local em_codeMK_h = simple {
|
||||
outputs = {"%U%-%I%.h"},
|
||||
command = {
|
||||
d.."make.em.gen etc/em_table "..d.."em.nogen > %out%",
|
||||
"cat "..d.."em.nogen >> %out%"
|
||||
},
|
||||
install = pm.install(HEADERDIR.."em_codeEK.h"),
|
||||
|
||||
file (d.."make.em.gen"),
|
||||
file ("etc/em_table")
|
||||
}
|
||||
|
||||
local em_cfile = cfile {
|
||||
class = "em_cfile",
|
||||
dynamicheaders = em_codeMK_h
|
||||
}
|
||||
|
||||
local library_core = group {
|
||||
em_cfile (d.."bhcst.c"),
|
||||
em_cfile (d.."bhdlb.c"),
|
||||
em_cfile (d.."bhdnam.c"),
|
||||
em_cfile (d.."bhfcon.c"),
|
||||
em_cfile (d.."bhicon.c"),
|
||||
em_cfile (d.."bhilb.c"),
|
||||
em_cfile (d.."bhpnam.c"),
|
||||
em_cfile (d.."bhucon.c"),
|
||||
em_cfile (d.."crcst.c"),
|
||||
em_cfile (d.."crdlb.c"),
|
||||
em_cfile (d.."crdnam.c"),
|
||||
em_cfile (d.."crxcon.c"),
|
||||
em_cfile (d.."crilb.c"),
|
||||
em_cfile (d.."crpnam.c"),
|
||||
em_cfile (d.."crscon.c"),
|
||||
em_cfile (d.."cst.c"),
|
||||
em_cfile (d.."dfdlb.c"),
|
||||
em_cfile (d.."dfdnam.c"),
|
||||
em_cfile (d.."dfilb.c"),
|
||||
em_cfile (d.."dlb.c"),
|
||||
em_cfile (d.."dnam.c"),
|
||||
em_cfile (d.."end.c"),
|
||||
em_cfile (d.."endarg.c"),
|
||||
em_cfile (d.."exc.c"),
|
||||
em_cfile (d.."fcon.c"),
|
||||
em_cfile (d.."getid.c"),
|
||||
em_cfile (d.."icon.c"),
|
||||
em_cfile (d.."ilb.c"),
|
||||
em_cfile (d.."insert.c"),
|
||||
em_cfile (d.."internerr.c"),
|
||||
em_cfile (d.."msend.c"),
|
||||
em_cfile (d.."op.c"),
|
||||
em_cfile (d.."opcst.c"),
|
||||
em_cfile (d.."opdlb.c"),
|
||||
em_cfile (d.."opdnam.c"),
|
||||
em_cfile (d.."opilb.c"),
|
||||
em_cfile (d.."opnarg.c"),
|
||||
em_cfile (d.."oppnam.c"),
|
||||
em_cfile (d.."pnam.c"),
|
||||
em_cfile (d.."pro.c"),
|
||||
em_cfile (d.."pronarg.c"),
|
||||
em_cfile (d.."msstart.c"),
|
||||
em_cfile (d.."psdlb.c"),
|
||||
em_cfile (d.."psdnam.c"),
|
||||
em_cfile (d.."pspnam.c"),
|
||||
em_cfile (d.."scon.c"),
|
||||
em_cfile (d.."ucon.c"),
|
||||
em_cfile (d.."C_out.c"),
|
||||
em_cfile (d.."failed.c"),
|
||||
em_cfile (d.."em.c")
|
||||
}
|
||||
|
||||
module_eme = clibrary {
|
||||
CEXTRAFLAGS = "-DREADABLE_EM",
|
||||
library_core,
|
||||
|
||||
outputs = {"%U%/libeme.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libeme.a")
|
||||
}
|
||||
}
|
||||
|
||||
module_emk = clibrary {
|
||||
library_core,
|
||||
|
||||
outputs = {"%U%/libemk.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libemk.a")
|
||||
}
|
||||
}
|
||||
|
||||
module_em_code = group {
|
||||
module_eme,
|
||||
module_emk,
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
35
modules/src/em_mes/pmfile
Normal file
35
modules/src/em_mes/pmfile
Normal file
|
@ -0,0 +1,35 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/em_mes/"
|
||||
lib_em_mes = file (LIBDIR.."libem_mes.a")
|
||||
|
||||
local library_core = group {
|
||||
cfile (d.."C_ms_err.c"),
|
||||
cfile (d.."C_ms_opt.c"),
|
||||
cfile (d.."C_ms_emx.c"),
|
||||
cfile (d.."C_ms_reg.c"),
|
||||
cfile (d.."C_ms_src.c"),
|
||||
cfile (d.."C_ms_flt.c"),
|
||||
cfile (d.."C_ms_com.c"),
|
||||
cfile (d.."C_ms_par.c"),
|
||||
cfile (d.."C_ms_ego.c"),
|
||||
cfile (d.."C_ms_gto.c"),
|
||||
cfile (d.."C_ms_stb.c"),
|
||||
cfile (d.."C_ms_std.c"),
|
||||
}
|
||||
|
||||
module_em_mes = clibrary {
|
||||
library_core,
|
||||
|
||||
outputs = {"%U%/libem_mes.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libem_mes.a")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
35
modules/src/flt_arith/pmfile
Normal file
35
modules/src/flt_arith/pmfile
Normal file
|
@ -0,0 +1,35 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."modules/src/flt_arith/"
|
||||
lib_flt_arith = file (LIBDIR.."libflt_arith.a")
|
||||
|
||||
module_flt_arith = clibrary {
|
||||
cfile (d.."flt_ar2flt.c"),
|
||||
cfile (d.."flt_div.c"),
|
||||
cfile (d.."flt_flt2ar.c"),
|
||||
cfile (d.."flt_modf.c"),
|
||||
cfile (d.."flt_str2fl.c"),
|
||||
cfile (d.."flt_cmp.c"),
|
||||
cfile (d.."flt_add.c"),
|
||||
cfile (d.."b64_add.c"),
|
||||
cfile (d.."flt_mul.c"),
|
||||
cfile (d.."flt_nrm.c"),
|
||||
cfile (d.."b64_sft.c"),
|
||||
cfile (d.."flt_umin.c"),
|
||||
cfile (d.."flt_chk.c"),
|
||||
cfile (d.."split.c"),
|
||||
cfile (d.."ucmp.c"),
|
||||
|
||||
outputs = {"%U%/libflt_arith.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libflt_arith.a"),
|
||||
pm.install(d.."flt_arith.h", HEADERDIR.."flt_arith.h")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
17
modules/src/idf/pmfile
Normal file
17
modules/src/idf/pmfile
Normal file
|
@ -0,0 +1,17 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/idf/"
|
||||
|
||||
module_idf = group {
|
||||
install = {
|
||||
pm.install(d.."idf_pkg.spec", HEADERDIR.."idf_pkg.spec"),
|
||||
pm.install(d.."idf_pkg.body", HEADERDIR.."idf_pkg.body"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
23
modules/src/input/pmfile
Normal file
23
modules/src/input/pmfile
Normal file
|
@ -0,0 +1,23 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/input/"
|
||||
lib_input = file (LIBDIR.."libinput.a")
|
||||
|
||||
module_input = clibrary {
|
||||
cfile (d.."AtEoIF.c"),
|
||||
cfile (d.."AtEoIT.c"),
|
||||
|
||||
outputs = {"%U%/libinput.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libinput.a"),
|
||||
pm.install(d.."inp_pkg.spec", HEADERDIR.."inp_pkg.spec"),
|
||||
pm.install(d.."inp_pkg.body", HEADERDIR.."inp_pkg.body")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
55
modules/src/object/pmfile
Normal file
55
modules/src/object/pmfile
Normal file
|
@ -0,0 +1,55 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/object/"
|
||||
lib_object = file (LIBDIR.."libobject.a")
|
||||
|
||||
module_object = clibrary {
|
||||
cfile (d.."rd_arhdr.c"),
|
||||
cfile (d.."rd_bytes.c"),
|
||||
cfile (d.."rd_int2.c"),
|
||||
cfile (d.."rd_long.c"),
|
||||
cfile (d.."rd_ranlib.c"),
|
||||
cfile (d.."rd_unsig2.c"),
|
||||
cfile (d.."rd.c"),
|
||||
cfile (d.."wr_arhdr.c"),
|
||||
cfile (d.."wr_bytes.c"),
|
||||
cfile (d.."wr_int2.c"),
|
||||
cfile (d.."wr_long.c"),
|
||||
cfile (d.."wr_putc.c"),
|
||||
cfile (d.."wr_ranlib.c"),
|
||||
cfile (d.."wr.c"),
|
||||
|
||||
outputs = {"%U%/lib_object.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libobject.a")
|
||||
}
|
||||
}
|
||||
--[[
|
||||
|
||||
|
||||
# genmakefile
|
||||
# This genmakefile doesn't have a real comment yet.
|
||||
#
|
||||
# $Source$
|
||||
# $State$
|
||||
|
||||
push
|
||||
addincludeq src/lib/object
|
||||
|
||||
|
||||
hostlibrary $LIBDIR/libobject.a $OBJS
|
||||
pop
|
||||
|
||||
# Revision history
|
||||
# $Log$
|
||||
# Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
# First version in CVS.
|
||||
#
|
||||
--]]
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
24
modules/src/print/pmfile
Normal file
24
modules/src/print/pmfile
Normal file
|
@ -0,0 +1,24 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/print/"
|
||||
lib_print = file (LIBDIR.."libprint.a")
|
||||
|
||||
module_print = clibrary {
|
||||
cfile (d.."doprnt.c"),
|
||||
cfile (d.."fprint.c"),
|
||||
cfile (d.."print.c"),
|
||||
cfile (d.."sprint.c"),
|
||||
cfile (d.."format.c"),
|
||||
|
||||
outputs = {"%U%/libprint.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libprint.a"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
90
modules/src/read_em/pmfile
Normal file
90
modules/src/read_em/pmfile
Normal file
|
@ -0,0 +1,90 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/read_em/"
|
||||
lib_read_emk = file (LIBDIR.."libread_emk.a")
|
||||
lib_read_emkV = file (LIBDIR.."libread_emkV.a")
|
||||
lib_read_emeV = file (LIBDIR.."libread_emeV.a")
|
||||
|
||||
local C_mnem_h = simple {
|
||||
command = {"(cd "..d.." && sh %in%) > %out%"},
|
||||
outputs = {"%U%-%I%.h"},
|
||||
install = pm.install(HEADERDIR.."C_mnem.h"),
|
||||
|
||||
file (ROOTDIR..d.."m_C_mnem"),
|
||||
file (ROOTDIR.."etc/em_table")
|
||||
}
|
||||
|
||||
local C_mnem_narg_h = simple {
|
||||
command = {"(cd "..d.." && %in%) > %out%"},
|
||||
outputs = {"%U%-%I%.h"},
|
||||
install = pm.install(HEADERDIR.."C_mnem_narg.h"),
|
||||
|
||||
file (ROOTDIR..d.."m_C_mnem_na"),
|
||||
file (ROOTDIR.."etc/em_table")
|
||||
}
|
||||
|
||||
local withdynamic = cfile {
|
||||
dynamicheaders = {C_mnem_h, C_mnem_narg_h}
|
||||
}
|
||||
|
||||
module_read_emk = clibrary {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG",
|
||||
cfile (d.."EM_vars.c"),
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG -DCOMPACT",
|
||||
(d.."read_em.c")
|
||||
},
|
||||
withdynamic (d.."mkcalls.c"),
|
||||
|
||||
outputs = {"%U%/libread_emk.a"},
|
||||
install = pm.install(LIBDIR.."libread_emk.a")
|
||||
}
|
||||
|
||||
module_read_emkV = clibrary {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG",
|
||||
cfile (d.."EM_vars.c"),
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG -DCOMPACT -DCHECKING",
|
||||
(d.."read_em.c")
|
||||
},
|
||||
withdynamic {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG -DCHECKING",
|
||||
(d.."mkcalls.c"),
|
||||
},
|
||||
|
||||
outputs = {"%U%/libread_emkV.a"},
|
||||
install = pm.install(LIBDIR.."libread_emkV.a")
|
||||
}
|
||||
|
||||
module_read_emeV = clibrary {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG",
|
||||
cfile (d.."EM_vars.c"),
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG -DCHECKING",
|
||||
(d.."read_em.c")
|
||||
},
|
||||
withdynamic {
|
||||
CEXTRAFLAGS = "-DPRIVATE=static -DEXPORT= -DNDEBUG -DCHECKING",
|
||||
(d.."mkcalls.c"),
|
||||
},
|
||||
|
||||
outputs = {"%U%/lib_read_emeV.a"},
|
||||
install = pm.install(LIBDIR.."libread_emeV.a")
|
||||
}
|
||||
|
||||
module_read_em = group {
|
||||
module_read_emk,
|
||||
module_read_emkV,
|
||||
module_read_emeV,
|
||||
|
||||
install = {
|
||||
pm.install(d.."em_comp.h", HEADERDIR.."em_comp.h"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
37
modules/src/string/pmfile
Normal file
37
modules/src/string/pmfile
Normal file
|
@ -0,0 +1,37 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/string/"
|
||||
lib_string = file (LIBDIR.."libstring.a")
|
||||
|
||||
module_string = clibrary {
|
||||
cfile (d.."bts2str.c"),
|
||||
cfile (d.."btscat.c"),
|
||||
cfile (d.."btscmp.c"),
|
||||
cfile (d.."btscpy.c"),
|
||||
cfile (d.."btszero.c"),
|
||||
cfile (d.."long2str.c"),
|
||||
cfile (d.."str2bts.c"),
|
||||
cfile (d.."str2long.c"),
|
||||
cfile (d.."strcat.c"),
|
||||
cfile (d.."strcmp.c"),
|
||||
cfile (d.."strcpy.c"),
|
||||
cfile (d.."strindex.c"),
|
||||
cfile (d.."strlen.c"),
|
||||
cfile (d.."strncat.c"),
|
||||
cfile (d.."strncmp.c"),
|
||||
cfile (d.."strncpy.c"),
|
||||
cfile (d.."strrindex.c"),
|
||||
cfile (d.."strzero.c"),
|
||||
|
||||
outputs = {"%U%/lib_string.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libstring.a")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
38
modules/src/system/pmfile
Normal file
38
modules/src/system/pmfile
Normal file
|
@ -0,0 +1,38 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "modules/src/system/"
|
||||
lib_system = file (LIBDIR.."libsystem.a")
|
||||
|
||||
module_system = clibrary {
|
||||
cfile (d.."access.c"),
|
||||
cfile (d.."break.c"),
|
||||
cfile (d.."chmode.c"),
|
||||
cfile (d.."close.c"),
|
||||
cfile (d.."create.c"),
|
||||
cfile (d.."filesize.c"),
|
||||
cfile (d.."modtime.c"),
|
||||
cfile (d.."lock.c"),
|
||||
cfile (d.."open.c"),
|
||||
cfile (d.."read.c"),
|
||||
cfile (d.."remove.c"),
|
||||
cfile (d.."stop.c"),
|
||||
cfile (d.."system.c"),
|
||||
cfile (d.."time.c"),
|
||||
cfile (d.."unlock.c"),
|
||||
cfile (d.."write.c"),
|
||||
cfile (d.."seek.c"),
|
||||
cfile (d.."rename.c"),
|
||||
|
||||
outputs = {"%U%/libsystem.a"},
|
||||
install = {
|
||||
pm.install(LIBDIR.."libsystem.a"),
|
||||
pm.install(d.."system.h", HEADERDIR.."system.h")
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:19 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
54
util/ack/pmfile
Normal file
54
util/ack/pmfile
Normal file
|
@ -0,0 +1,54 @@
|
|||
-- $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 %{return posix.dirname(self.out[1])}% && %{return self['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 {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
ith { makeheaders, i = 1 }
|
||||
},
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-I"..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"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
17
util/amisc/pmfile
Normal file
17
util/amisc/pmfile
Normal file
|
@ -0,0 +1,17 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "util/amisc/"
|
||||
|
||||
tool_tabgen = cprogram {
|
||||
cfile (d.."tabgen.c"),
|
||||
|
||||
outputs = {"%U%/tabgen"},
|
||||
install = pm.install(TOOLDIR.."tabgen")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
22
util/arch/pmfile
Normal file
22
util/arch/pmfile
Normal file
|
@ -0,0 +1,22 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = "util/arch/"
|
||||
|
||||
tool_aal = cprogram {
|
||||
CEXTRAFLAGS = "-DAAL",
|
||||
cfile (d.."archiver.c"),
|
||||
|
||||
lib_print,
|
||||
lib_string,
|
||||
lib_system,
|
||||
lib_object,
|
||||
|
||||
install = pm.install(BINDIR.."bin/aal")
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
56
util/ceg/as_parser/pmfile
Normal file
56
util/ceg/as_parser/pmfile
Normal file
|
@ -0,0 +1,56 @@
|
|||
-- $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 {
|
||||
CEXTRAFLAGS = "-DFLEX",
|
||||
CLIBRARIES = "-lfl",
|
||||
|
||||
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.1 2006-07-20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
20
util/ceg/assemble/pmfile
Normal file
20
util/ceg/assemble/pmfile
Normal file
|
@ -0,0 +1,20 @@
|
|||
-- $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.
|
||||
--
|
89
util/ceg/ce_back/pmfile
Normal file
89
util/ceg/ce_back/pmfile
Normal file
|
@ -0,0 +1,89 @@
|
|||
-- $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.
|
||||
--
|
21
util/ceg/pmfile
Normal file
21
util/ceg/pmfile
Normal file
|
@ -0,0 +1,21 @@
|
|||
-- $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.
|
||||
--
|
48
util/cgg/pmfile
Normal file
48
util/cgg/pmfile
Normal file
|
@ -0,0 +1,48 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."util/cgg/"
|
||||
|
||||
local yacc_bootgram = yacc {
|
||||
file (d.."bootgram.y")
|
||||
}
|
||||
|
||||
tool_cgg = cprogram {
|
||||
cfile (d.."main.c"),
|
||||
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
yacc_bootgram,
|
||||
},
|
||||
|
||||
cfile {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
flex {
|
||||
file (d.."bootlex.l")
|
||||
},
|
||||
|
||||
dynamicheaders = yacc_bootgram
|
||||
},
|
||||
|
||||
CLIBRARIES = {"-lfl"},
|
||||
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%bin/cpp -P -I%CGGINCLUDEDIR% %in% | %TOOLDIR%cgg)",
|
||||
},
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:21:17 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
25
util/cmisc/pmfile
Normal file
25
util/cmisc/pmfile
Normal file
|
@ -0,0 +1,25 @@
|
|||
-- $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.
|
||||
--
|
184
util/cpp/pmfile
Normal file
184
util/cpp/pmfile
Normal file
|
@ -0,0 +1,184 @@
|
|||
-- $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 {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
tabgen (d.."char.tab")
|
||||
},
|
||||
|
||||
lib_assert,
|
||||
lib_print,
|
||||
lib_alloc,
|
||||
lib_system,
|
||||
lib_string,
|
||||
|
||||
outputs = {"%U%/cpp"},
|
||||
install = pm.install(BINDIR.."bin/cpp")
|
||||
}
|
||||
|
||||
--[[
|
||||
# genmakefile
|
||||
# This genmakefile doesn't have a real comment yet.
|
||||
#
|
||||
# $Source$
|
||||
# $State$
|
||||
|
||||
# --- cpp -------------------------------------------------------------------
|
||||
|
||||
push
|
||||
dir=src/tools/cpp
|
||||
|
||||
addinclude $SRCDIR/$dir
|
||||
addinclude $OBJDIR/$dir
|
||||
|
||||
|
||||
x="$SRCS"
|
||||
hostcdyn $dir/char.c
|
||||
SRCS="$x"
|
||||
tabgen $SRCDIR/$dir/char.tab $OBJDIR/$dir/char.c
|
||||
|
||||
llgen "" $OBJDIR/$dir \
|
||||
$OBJDIR/$dir/tokenfile.g \
|
||||
$SRCDIR/$dir/expression.g
|
||||
tokenfile $dir
|
||||
tokcase $dir
|
||||
|
||||
hostprogram $DESTDIR/bin/cpp $OBJS \
|
||||
$DESTDIR/lib/libassert.a \
|
||||
$DESTDIR/lib/libprint.a \
|
||||
$DESTDIR/lib/liballoc.a \
|
||||
$DESTDIR/lib/libsystem.a \
|
||||
$DESTDIR/lib/libastring.a
|
||||
|
||||
addcleanable $OBJDIR/$dir/errout.h
|
||||
addcleanable $OBJDIR/$dir/idfsize.h
|
||||
addcleanable $OBJDIR/$dir/ifdepth.h
|
||||
addcleanable $OBJDIR/$dir/lapbuf.h
|
||||
addcleanable $OBJDIR/$dir/nparams.h
|
||||
addcleanable $OBJDIR/$dir/numsize.h
|
||||
addcleanable $OBJDIR/$dir/obufsize.h
|
||||
addcleanable $OBJDIR/$dir/parbufsize.h
|
||||
addcleanable $OBJDIR/$dir/pathlength.h
|
||||
addcleanable $OBJDIR/$dir/strsize.h
|
||||
addcleanable $OBJDIR/$dir/textsize.h
|
||||
addcleanable $OBJDIR/$dir/botch_free.h
|
||||
addcleanable $OBJDIR/$dir/debug.h
|
||||
addcleanable $OBJDIR/$dir/inputtype.h
|
||||
addcleanable $OBJDIR/$dir/dobits.h
|
||||
addcleanable $OBJDIR/$dir/line_prefix.h
|
||||
cat <<EOF
|
||||
$SRCS: $OBJDIR/$dir/.hfiles
|
||||
$SRCDIR/$dir/LLlex.c: $OBJDIR/$dir/Lpars.c
|
||||
|
||||
$OBJDIR/$dir/.hfiles: \
|
||||
$SRCDIR/$dir/Parameters \
|
||||
$OBJDIR/$dir/char.c
|
||||
@echo MAKE.HFILES \$<
|
||||
@mkdir -p \$(dir \$@)
|
||||
@(cd \$(dir \$@) && $SRCDIR/$dir/make.hfiles \$<) > /dev/null
|
||||
@touch \$@
|
||||
|
||||
EOF
|
||||
pop
|
||||
|
||||
# Revision history
|
||||
# $Log$
|
||||
# Revision 1.1 2006-07-20 23:24:28 dtrg
|
||||
# First version in CVS.
|
||||
#
|
||||
--]]
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:24:28 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
53
util/data/pmfile
Normal file
53
util/data/pmfile
Normal file
|
@ -0,0 +1,53 @@
|
|||
-- $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 = {
|
||||
"cd %ROOTDIR%etc && ./new_table %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 "%ROOTDIR%etc/new_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.1 2006-07-20 23:24:28 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
47
util/misc/pmfile
Normal file
47
util/misc/pmfile
Normal file
|
@ -0,0 +1,47 @@
|
|||
-- $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 = {
|
||||
-- FIXME lib.bin in next line needs removing --- pm bug?
|
||||
pm.install("%BINDIR%lib.bin/em_encode"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:24:28 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
81
util/ncgg/pmfile
Normal file
81
util/ncgg/pmfile
Normal file
|
@ -0,0 +1,81 @@
|
|||
-- $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%bin/cpp -P -I%NCGGINCLUDEDIR% %in% | %TOOLDIR%ncgg)",
|
||||
"mv %out[1]:dirname%/tables.H %out[2]%"
|
||||
},
|
||||
}
|
||||
|
||||
--[[
|
||||
@echo HOSTNCG $SRCDIR/src/arch/$table/ncg/table
|
||||
@mkdir -p \$(dir \$@)
|
||||
@(cd $OBJDIR/src/arch/$1/ncg && $DESTDIR/bin/cpp -P -I$SRCDIR/src/arch/$1/ncg $SRCDIR/src/arch/$table/ncg/table | \
|
||||
$DESTDIR/bin/ncgg) > /dev/null
|
||||
@(cd $OBJDIR/src/arch/$1/ncg && mv tables.H tables.h)
|
||||
--]]
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-20 23:24:28 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
Loading…
Reference in a new issue