-- $Source$
-- $State$

local d = ROOTDIR.."mach/proto/cg/"

local make_tables = cgg {
	CGGINCLUDEDIR = (ROOTDIR.."mach/%PLATFORM%/cg/"),
	file (ROOTDIR.."mach/%PLATFORM%/cg/table")
}

local cfile_with_tables = cfile {
	class = "cfile_with_tables",
	dynamicheaders = {
		make_tables,
		file (ROOTDIR.."mach/%PLATFORM%/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/%PLATFORM%/cg/"),
			file (d)
		}
	},
	
	lib_em_data,
	lib_flt_arith,
	
	outputs = {"%U%/%PLATFORM%-cg"},
	install = pm.install("%BINDIR%%PLATDEP%/%PLATFORM%/cg")
}

-- Revision history
-- $Log$
-- Revision 1.3  2007-02-20 00:45:19  dtrg
-- Done a major overhaul of the way target include files are installed and
-- how platform libraries are built. The ARCH pm variable has now been
-- renamed PLATFORM (which is more accurate) and a different ARCH
-- variable added, which represents the CPU family rather than the
-- hardware platform.
--
-- 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:19  dtrg
-- First version in CVS.
