From 30c54113477b08c7650194a16cf7a63a7cdd142f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Mon, 23 Nov 2020 15:00:14 +0100 Subject: update Makefile.userprog --- TODO | 12 ------------ rust/Makefile | 5 +++++ src/Makefile.userprog | 9 ++++++--- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/TODO b/TODO index 8813f46..a86e0c0 100644 --- a/TODO +++ b/TODO @@ -1,10 +1,3 @@ -1: Hijacka deras Makefiler så de bygger rust, kopierar rust FFI och länkar. -Deras Makefiler fungerar uppenbarligen och koden borde kunna anropa rust FFI utan problem. - -2: Anropa deras libc från Rust, men börja med att typ returnera en int. - -3: userprog/rust.c som skickar allt till rust. - 4: build.rs som hanterar hela bygg-grejen. . @@ -12,8 +5,3 @@ Deras Makefiler fungerar uppenbarligen och koden borde kunna anropa rust FFI uta . 99: i686-unknown-pintos - -rust.h: -int rust_main(int argc, char **argv); - -Haltar via exit i entry.c diff --git a/rust/Makefile b/rust/Makefile index 23187c9..4a894f2 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -1,2 +1,7 @@ all: cargo rustc -- -C link-arg= -L. + +clean: + cargo clean + +.PHONY: all clean diff --git a/src/Makefile.userprog b/src/Makefile.userprog index 3c4d404..165d7ed 100644 --- a/src/Makefile.userprog +++ b/src/Makefile.userprog @@ -25,6 +25,8 @@ LIB_OBJ = $(patsubst %.c,%.o,$(patsubst %.S,%.o,$(lib_SRC) $(lib/user_SRC))) LIB_DEP = $(patsubst %.o,%.d,$(LIB_OBJ)) LIB = lib/user/entry.o libc.a librust.a +LIBDIR_RUST = $(SRCDIR)/../rust + PROGS_SRC = $(foreach prog,$(PROGS),$($(prog)_SRC)) PROGS_OBJ = $(patsubst %.c,%.o,$(patsubst %.S,%.o,$(PROGS_SRC))) PROGS_DEP = $(patsubst %.o,%.d,$(PROGS_OBJ)) @@ -49,13 +51,14 @@ libc.a: $(LIB_OBJ) ranlib $@ librust.a: - make -C $(SRCDIR)/../halt all - cp $(SRCDIR)/../rust/target/debug/librust.a $@ + make -C $(LIBDIR_RUST) all + cp $(LIBDIR_RUST)/target/debug/librust.a $@ clean:: rm -f $(PROGS) $(PROGS_OBJ) $(PROGS_DEP) + make -C $(LIBDIR_RUST) clean rm -f $(LIB_DEP) $(LIB_OBJ) lib/user/entry.[do] libc.a librust.a -.PHONY: all clean +.PHONY: all clean librust.a -include $(LIB_DEP) $(PROGS_DEP) -- cgit v1.2.1