diff --git a/Makefile b/Makefile index ab56e5bc70861e9826d6560135460b2ad6ed7b33..528dd6c795c1d7ba33856f6c8138c4c6ad91d4e7 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 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3dd56c37c51cc53bb8e7f8f71122fe6b66b11006 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)