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