-- $Source$
-- $State$

local d = ROOTDIR.."lang/basic/src/"

local lpars = LLgen {
	file (d.."basic.g"),
}

local tokentab_h = simple {
	outputs = {"%U%/token.h"},
	command = {
		"cd %out[1]:dirname% && %in[1]% %in[2]%"
	},
	
	file (d.."maketokentab"),
	lpars
}
	
local cfile_with_headers = cfile {
	class = "cfile_with_headers",
	dynamicheaders = {
		file (d),
		lpars,
		tokentab_h
	}
}
	
lang_basic_compiler = cprogram {
	cfile_with_headers (d.."bem.c"),
	cfile_with_headers (d.."symbols.c"),
	cfile_with_headers (d.."initialize.c"),
	cfile_with_headers (d.."compile.c"),
	cfile_with_headers (d.."parsepar.c"),
	cfile_with_headers (d.."gencode.c"),
	cfile_with_headers (d.."util.c"),
	cfile_with_headers (d.."graph.c"),
	cfile_with_headers (d.."eval.c"),
	cfile_with_headers (d.."func.c"),

	foreach {
		rule = cfile_with_headers,
		ith { lpars, from=2 }
	},

	lib_em_mes,
	lib_emk,
	lib_em_data,
	lib_alloc,
	lib_print,
	lib_string,
	lib_system,

	outputs = {"%U%/em_bem"},
	install = {
		pm.install("%BINDIR%%PLATDEP%/em_bem"),
	}
}

-- Revision history
-- $Log$
-- Revision 1.1  2006-07-26 23:08:09  dtrg
-- Added support for the Basic compiler.
--