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
commit002e3d7d13c414ea874abbee8d82803dd3a72fe5 (patch)
tree6627c12fa07f6a1cf73e5aaeb7390e698dd3a896 /tools/rmtool/Makefile
parent2f249817df327f5dcccf0464ad517fa60d6071d3 (diff)
downloadopen-iov-002e3d7d13c414ea874abbee8d82803dd3a72fe5.tar.gz
open-iov-002e3d7d13c414ea874abbee8d82803dd3a72fe5.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