summaryrefslogtreecommitdiffstats
path: root/tools/rmtool/Makefile
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 10:58:21 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 10:58:21 -0400
commitf909a5f822c5c4a4e9526b861d4171f8925f5113 (patch)
treeed362021c83569f49b48079a774f05775e84b0bd /tools/rmtool/Makefile
parent09f241601423b1ae98e97846ee451768ff8a0a9e (diff)
downloadopen-iov-f909a5f822c5c4a4e9526b861d4171f8925f5113.tar.gz
open-iov-f909a5f822c5c4a4e9526b861d4171f8925f5113.zip
debug: green-eye wave 3 - RM harness, local simulator, device map, MCP plugin, value-validation demos, CI pipeline, toolchain docs; add host RM tools rmtool/rmtop
Diffstat (limited to 'tools/rmtool/Makefile')
-rw-r--r--tools/rmtool/Makefile35
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/rmtool/Makefile b/tools/rmtool/Makefile
new file mode 100644
index 0000000..a66b7de
--- /dev/null
+++ b/tools/rmtool/Makefile
@@ -0,0 +1,35 @@
+# rmtool - read-only NVIDIA RM host oracle (Open-IOV).
+#
+# Builds src/*.c into ./rmtool and a reusable lib/librmapi.a that rmtop links
+# against. No external SDK or library dependency.
+CC ?= gcc
+CFLAGS ?= -O2 -Wall -Wextra
+CPPFLAGS += -Iinclude
+PREFIX ?= /usr/local
+
+OBJS = src/main.o src/rm_api.o src/query.o src/output.o src/gpu.o \
+ src/engine.o src/mem.o src/nv2080.o
+LIBOBJS = src/rm_api.o src/query.o src/output.o
+LIB = lib/librmapi.a
+
+all: rmtool $(LIB)
+
+rmtool: $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
+
+$(LIB): $(LIBOBJS)
+ @mkdir -p lib
+ ar rcs $@ $(LIBOBJS)
+
+src/%.o: src/%.c include/rm_api.h include/rmtool.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
+install: rmtool
+ install -d $(DESTDIR)$(PREFIX)/bin
+ install -m 0755 rmtool $(DESTDIR)$(PREFIX)/bin/rmtool
+
+clean:
+ rm -f $(OBJS) rmtool $(LIB)
+ rmdir lib 2>/dev/null || true
+
+.PHONY: all install clean