From e79d968b5cc2a9a4b2e91c898c007abe913b9f08 Mon Sep 17 00:00:00 2001
From: "adrian.spycher" <adrian.spycher@etu.hesge.ch>
Date: Tue, 8 Oct 2024 11:13:15 +0200
Subject: [PATCH] feat: update Makefile for vmm_pv, vmm_phys and run rules

---
 Makefile     | 16 ++++++++++++++--
 vmm/Makefile | 18 ++++++++++++++++++
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index ab56e5b..528dd6c 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,19 @@ help:
 	@echo "    clean_vmm    delete VMM"
 	@echo "    clean_guest  delete guest"
 
-guest:
+run_pv: guest_pv vmm
+	./vmm/vmm guest/guest.bin
+
+run_pv: guest_pv vmm
+	./vmm/vmm guest/guest.bin
+
+vmm:
+	$(MAKE) -C vmm OUT=vmm
+
+guest_phys:
+	$(MAKE) -C guest PV=0 OUT=guest.bin
+
+guest_pv:
 	$(MAKE) -C guest PV=1 OUT=guest.bin
 
-.PHONY: guest
\ No newline at end of file
+.PHONY: guest
diff --git a/vmm/Makefile b/vmm/Makefile
index e69de29..3dd56c3 100644
--- a/vmm/Makefile
+++ b/vmm/Makefile
@@ -0,0 +1,18 @@
+CC=gcc -std=gnu17 $(BAREMETAL_FLAGS) -Wall -Wextra -MMD -Ishared -I../.. -I..
+
+C_SRCS=$(shell find . -name "*.c")
+C_OBJS=$(C_SRCS:.c=.o)
+C_DEPS=$(C_OBJS:%.o=%.d)
+
+$(OUT): $(C_OBJS)
+	$(CC) $^ -o $@
+
+%.o: %.c
+	$(CC) -c $< -o $@
+
+clean:
+	rm -f $(C_OBJS) $(C_DEPS) *.o *.d $(OUT)
+
+.PHONY: clean
+
+-include $(C_DEPS)
-- 
GitLab