summaryrefslogtreecommitdiff
path: root/utils/ia/mkfile
diff options
context:
space:
mode:
authorRichard Miller <miller.research@gmail.com>2020-11-09 11:36:14 +0000
committerRichard Miller <miller.research@gmail.com>2020-11-09 11:36:14 +0000
commit6e84dc968bc4eaf047fbefcba2f670940718dda8 (patch)
tree523d2f81946b1e0abe4afddf1d2fce7e1525b7d7 /utils/ia/mkfile
parent2a571cc0ece4073eb56d5ccfc3e061a09a353e13 (diff)
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.
Diffstat (limited to 'utils/ia/mkfile')
-rw-r--r--utils/ia/mkfile31
1 files changed, 31 insertions, 0 deletions
diff --git a/utils/ia/mkfile b/utils/ia/mkfile
new file mode 100644
index 00000000..05ccc4dc
--- /dev/null
+++ b/utils/ia/mkfile
@@ -0,0 +1,31 @@
+<../../mkconfig
+
+TARG=ia # also makes ja (for riscv64)
+
+OFILES=\
+ y.tab.$O\
+ lex.$O\
+
+HFILES=\
+ ../ic/i.out.h\
+ y.tab.h\
+ a.h\
+
+YFILES=a.y\
+
+LIBS=cc bio 9 # order is important
+
+BIN=$ROOT/$OBJDIR/bin
+<$ROOT/mkfiles/mkone-$SHELLTYPE
+
+YFLAGS=-D1 -d
+CFLAGS= $CFLAGS -I../include
+
+lex.$O: ../cc/macbody ../cc/lexbody
+
+$ROOT/$OBJDIR/lib/libcc.a:
+ cd ../cc
+ mk $MKFLAGS install
+ mk $MKFLAGS clean
+
+install:V: $BIN/ja