|
@@ -4,22 +4,27 @@
|
|
|
# Don't generate line updating code by default (i.e.: -L flag provided to cem).
|
|
|
# To put it on again: use -NL
|
|
|
var LFLAG=-L
|
|
|
+var C_INCLUDES=-I{EM}/include/_tail_cc
|
|
|
+var ANSI_C_INCLUDES=-I{EM}/include/tail_ac
|
|
|
|
|
|
callname ack
|
|
|
name cpp
|
|
|
# no from, this is a preprocessor
|
|
|
to .i
|
|
|
- program {EM}/lib/cpp
|
|
|
+ program {EM}/lib/cpp{ANSI_C?}
|
|
|
mapflag -I* CPP_F={CPP_F?} -I*
|
|
|
mapflag -U* CPP_F={CPP_F?} -U*
|
|
|
mapflag -D* CPP_F={CPP_F?} -D*
|
|
|
mapflag -P CPP_F={CPP_F?} -P
|
|
|
mapflag -C CPP_F={CPP_F?} -C
|
|
|
+ mapflag -wo CPP_F={CPP_F?} -o
|
|
|
+ mapflag -ansi ANSI_C=.ansi
|
|
|
args {CPP_F?} ({SUFFIX?}:.ocm=-I{EM}/include/occam) \
|
|
|
- ({SUFFIX}:.c={INCLUDES?}) \
|
|
|
+ ({ANSI_C?}:.ansi={ANSI_C_INCLUDES} {INCLUDES?}) \
|
|
|
+ ({ANSI_C?.c}:{SUFFIX}={C_INCLUDES} {INCLUDES?}) \
|
|
|
-D{NAME} \
|
|
|
- -DEM_WSIZE={w} -DEM_PSIZE={p} \
|
|
|
- -DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d} \
|
|
|
+ ({ANSI_C?.xx}:.xx=-DEM_WSIZE={w} -DEM_PSIZE={p} \
|
|
|
+ -DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d}) \
|
|
|
-D_EM_WSIZE={w} -D_EM_PSIZE={p} \
|
|
|
-D_EM_SSIZE={s} -D_EM_LSIZE={l} -D_EM_FSIZE={f} -D_EM_DSIZE={d} \
|
|
|
<
|
|
@@ -29,30 +34,36 @@ end
|
|
|
name cem
|
|
|
from .c
|
|
|
to .k
|
|
|
- program {EM}/lib/em_cemcom
|
|
|
+ program {EM}/lib/em_cemcom{ANSI_C?}
|
|
|
+ mapflag -ansi ANSI=ansi
|
|
|
# mapflag -I* CPP_F={CPP_F?} -I*
|
|
|
# mapflag -U* CPP_F={CPP_F?} -U*
|
|
|
# mapflag -D* CPP_F={CPP_F?} -D*
|
|
|
mapflag -M* CEM_F={CEM_F?} -M*
|
|
|
mapflag -L CEM_F={CEM_F?} -L
|
|
|
+ mapflag -A CEM_F={CEM_F?} -A
|
|
|
mapflag -NL LFLAG=
|
|
|
mapflag -KR CEM_F={CEM_F?} -R
|
|
|
mapflag -w CEM_F={CEM_F?} -w
|
|
|
+ mapflag -wa CEM_F={CEM_F?} -a
|
|
|
+ mapflag -wo CEM_F={CEM_F?} -o
|
|
|
+ mapflag -ws CEM_F={CEM_F?} -s
|
|
|
mapflag -g CEM_F={CEM_F?} -g
|
|
|
mapflag -p CEM_F={CEM_F?} -p
|
|
|
mapflag -V* CEM_F={CEM_F?} -V*
|
|
|
+ rts .c
|
|
|
+ need .c
|
|
|
args \
|
|
|
- {CPP_F?} {INCLUDES?} \
|
|
|
+ {CPP_F?} \
|
|
|
+ ({ANSI_C?}:.ansi={ANSI_C_INCLUDES}) \
|
|
|
+ ({ANSI_C?.c}:.c={C_INCLUDES}) \
|
|
|
+ {INCLUDES?} \
|
|
|
-D{NAME} \
|
|
|
- -DEM_WSIZE={w} -DEM_PSIZE={p} \
|
|
|
- -DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d} \
|
|
|
-D_EM_WSIZE={w} -D_EM_PSIZE={p} \
|
|
|
-D_EM_SSIZE={s} -D_EM_LSIZE={l} -D_EM_FSIZE={f} -D_EM_DSIZE={d} \
|
|
|
-Vw{w}.{w}i{w}.{w}p{p}.{w}f{f}.{w}s{s}.{s}l{l}.{w}d{d}.{w} \
|
|
|
{CC_ALIGN?} \
|
|
|
{CEM_F?} {LFLAG?} < >
|
|
|
- rts .c
|
|
|
- need .c
|
|
|
callname acc
|
|
|
callname cc
|
|
|
end
|
|
@@ -186,7 +197,7 @@ name ego
|
|
|
mapflag -T* EGO_F={EGO_F?} -T*
|
|
|
mapflag -S* EGO_F={EGO_F?} -S*
|
|
|
mapflag -s* EGO_F={EGO_F?} -s*
|
|
|
- mapflag -a* EGO_F={EGO_F?} -a*
|
|
|
+ mapflag -a EGO_F={EGO_F?} -a
|
|
|
mapflag -O* EGO_F={EGO_F?} -O*
|
|
|
args \
|
|
|
{EGO} {EM} {EGO_F?} -P {EM}/lib/ego \
|