all: introduce and document G and H variables
authorDmitry Selyutin <ghostmansd@gmail.com>
Thu, 21 Sep 2023 21:45:56 +0000 (00:45 +0300)
committerDmitry Selyutin <ghostmansd@gmail.com>
Thu, 21 Sep 2023 21:45:56 +0000 (00:45 +0300)
Makefile
README.md
arch.mk [new file with mode: 0644]
caveat/Makefile

index f0dc9a11695e2e8c2802befaf7bb64534d33ec5f..647e929e21924b2b9eedde9465e86d110337189e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,17 @@
+include arch.mk
+
+
 .PHONY:  nothing clean install
 nothing:
-       echo "clean, tarball, install?"
+       @echo "clean, tarball, install?"
+       @echo "G: allowed values: riscv64, ppc, ppc64"
+       @echo "H: allowed values: amd64"
 
 
 clean:
        rm -f $(HOME)/lib/libcava.a $(HOME)/lib/softfloat.a *~ ./#*#
        ( cd softfloat/build/Linux-x86_64-GCC; rm -f softfloat.a *.o )
-       make -C caveat    clean
+       make -C caveat    clean G=$G H=$H
        make -C cachesim  clean
        make -C pipesim   clean
        make -C traceinfo clean
index b63220a9266bc45c2dfe8dfc83300bddd64faf54..b877951916896a143ec0fa3abc53609a53f6b8e4 100644 (file)
--- a/README.md
+++ b/README.md
@@ -27,9 +27,12 @@ Make install expects ~/bin, ~/lib, ~/include to exit.
 To build Cavatools:
 ```
     $ cd cavatools
-    $ make install
+    $ make install G=$GUEST H=$HOST
 ```
 
+Allowed GUEST values: riscv64, ppc or ppc64.
+Allowed HOST values: amd64.
+
 will create the following files:
 ```
     ~/bin/caveat       - instruction set interpreter
diff --git a/arch.mk b/arch.mk
new file mode 100644 (file)
index 0000000..f07bf60
--- /dev/null
+++ b/arch.mk
@@ -0,0 +1,16 @@
+G ?= riscv64
+H ?= amd64
+
+
+ifneq ($G,riscv64)
+ifneq ($G,ppc)
+ifneq ($G,ppc64)
+$(error G: allowed values: riscv64, ppc, ppc64, not '$G')
+endif
+endif
+endif
+
+
+ifneq ($H,amd64)
+$(error H: allowed values: amd64, not '$H')
+endif
index 0a36d83c8097117247cdad27703984c3ec3e037b..f014d38e5f2a96019edecea1b4828ee6ee08eaab 100644 (file)
@@ -1,6 +1,10 @@
+include ../arch.mk
+
 # Path where things should be installed
 R = $(HOME)
 B = build
+G ?= riscv64
+H ?= amd64
 
 _dummy := $(shell mkdir -p $B)
 _dummy := $(shell mkdir -p $R/include/cava)
@@ -90,4 +94,4 @@ ecall.h: opcodes.h insn.h core.h
        echo '#include "opcodes.h"' >> $@
        echo '#include "insn.h"' >> $@
        echo '#include "core.h"' >> $@
-       python3 -m openpower.syscalls ecall riscv64 amd64 >> $@
+       python3 -m openpower.syscalls ecall $G $H >> $@