# (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
name cpp
	# no from, it's governed by the P property
	to .i
	program {EM}/lib/cpp
	mapflag -I* CPP_F={CPP_F?} -I*
	mapflag -U* CPP_F={CPP_F?} -U*
	mapflag -D* CPP_F={CPP_F?} -D*
	args {CPP_F?} {INCLUDES?} -D{NAME} -DEM_WSIZE={w} -DEM_PSIZE={p} \
-DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d} <
	prop >P
end
name cem
	from .c
	to .k
	program {EM}/lib/em_cem
	mapflag -p CEM_F={CEM_F?} -Xp
	mapflag -L CEM_F={CEM_F?} -l
	args -Vw{w}i{w}p{p}f{f}s{s}l{l}d{d} {CEM_F?}
	prop <>p
	rts .c
	need .c
end
name pc
	from .p
	to .k
	program {EM}/lib/em_pc
	mapflag -p PC_F={PC_F?} -p
	mapflag -w PC_F={PC_F?} -w
	mapflag -E PC_F={PC_F?} -E
	mapflag -e PC_F={PC_F?} -e
	mapflag -{*} PC_F={PC_F?} -\{*}
	mapflag -L PC_F={PC_F?} -\{l-}
	args -Vw{w}p{p}f{d}l{l} {PC_F?} < > {SOURCE}
	prop m
	rts .p
	need .p
 end
 name encode
	from .e
	to .k
	program {EM}/lib/em_encode
	args <
	prop >m
end
name opt
	from .k
	to .m
	program {EM}/lib/em_opt
	mapflag -LIB OPT_F={OPT_F?} -L
	args {OPT_F?} <
	prop >O
end
name decode
	from .k.m
	to .e
	program {EM}/lib/em_decode
	args <
	prop >
end