From 6e84dc968bc4eaf047fbefcba2f670940718dda8 Mon Sep 17 00:00:00 2001 From: Richard Miller Date: Mon, 9 Nov 2020 11:36:14 +0000 Subject: Add toolchain for riscv (ia ic il) and riscv64 (ja jc jl) Because the rv64 ISA is very nearly a proper superset of rv32, the compilers ic and jc are actually the same program, which compiles to .i or .j depending on how it is invoked; similarly for ia/ja and il/jl. It is also possible to invoke ia/ic/il with a '-j' option to specify 64-bit behaviour. --- utils/ic/mkfile | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 utils/ic/mkfile (limited to 'utils/ic/mkfile') diff --git a/utils/ic/mkfile b/utils/ic/mkfile new file mode 100644 index 00000000..cf66563c --- /dev/null +++ b/utils/ic/mkfile @@ -0,0 +1,48 @@ +<../../mkconfig + +TARG=ic # also makes jc (for riscv64) + +OFILES=\ + cgen.$O\ + enam.$O\ + list.$O\ + mul.$O\ + peep.$O\ + pgen.$O\ + pswt.$O\ + reg.$O\ + sgen.$O\ + swt.$O\ + txt.$O\ + lex.$O\ + machcap.$O\ + +HFILES=\ + gc.h\ + i.out.h\ + ../cc/cc.h\ + +LIBS=cc bio 9 # order is important + +BIN=$ROOT/$OBJDIR/bin + +<$ROOT/mkfiles/mkone-$SHELLTYPE + +CFLAGS= $CFLAGS -I../include + +$ROOT/$OBJDIR/lib/libcc.a: + cd ../cc + mk $MKFLAGS install + mk $MKFLAGS clean + +../cc/y.tab.h: ../cc/cc.y + cd ../cc + mk $MKFLAGS y.tab.h + +lex.$O: ../cc/lex.c ../cc/y.tab.h + $CC -Dmain'='ccmain $CFLAGS ../cc/lex.c + +%.$O: ../cc/%.c + $CC -I. $CFLAGS ../cc/$stem.c + +install:V: $BIN/jc -- cgit v1.2.3