create obj(File) : c(File)
	--> call( cccmd, '-c', c(File) ),
	    call( mv, File + '.o', obj(File) ).

create exe(File) : objlist(File)
	--> call( cccmd, objlist(File), '-o', exe(File) ).

default define objlist(File) = obj(File).

create obj(File) : lex(File)
	--> call( lexprog, lex(File) ),
	    call( cccmd, '-c', c('lex.yy') ),
	    call( mv, 'lex.yy.o', obj(File) ),
	    call( rm, '-f', c('lex.yy') ).

create obj(File) : yacc(File)
	--> call( yaccprog, yacc(File) ),
	    call( cccmd, '-c', c('y.tab') ),
	    call( mv, 'y.tab.o', obj(File) ),
	    call( rm, '-f', c('y.tab') ).


