123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- -- $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.
- --
|