-- $Source$
-- $State$

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

local parser = yacc {
	simple {
		outputs = {"%U%-%I%.y"},
		command = {
			"cd %out[1]:dirname% && "..
			  "%BINDIR%%PLATDEP%/cpp.ansi -P -I%ROOTDIR%mach/%ARCH%/as -I"..d.." %CINCLUDES:cincludes% %in[1]% > %out[1]%"
		},
		
		file (d.."comm2.y"),
	}
}

local cfile_with_tables = cfile {
	class = "cfile_with_tables",
	CINCLUDES = {PARENT, "%ROOTDIR%mach/%ARCH%/as"},
	
	dynamicheaders = {
		parser,
	}
}

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%/%PLATFORM%-as"},
	install = pm.install(BINDIR.."%PLATDEP%/%PLATFORM%/as")
}

-- Revision history
-- $Log$
-- Revision 1.5  2007-04-21 22:55:59  dtrg
-- yacc source files are now run through the ANSI C preprocessor, not the K&R one.
--
-- Revision 1.4  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.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/30 23:41:16  dtrg
-- Broke dependency on tool_cpp in order to speed up the build.
--
-- Revision 1.1  2006/07/20 23:18:19  dtrg
-- First version in CVS.
--
