diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-11-23 15:00:14 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-11-23 15:00:14 +0100 |
| commit | 30c54113477b08c7650194a16cf7a63a7cdd142f (patch) | |
| tree | 9c31da7f6d07d70b6bf80b846976b8641cf88ace | |
| parent | 20eb8b73f7914c86812eda4b3b14ee2d0cd5a826 (diff) | |
| download | pintos-rs-30c54113477b08c7650194a16cf7a63a7cdd142f.tar.gz | |
update Makefile.userprog
| -rw-r--r-- | TODO | 12 | ||||
| -rw-r--r-- | rust/Makefile | 5 | ||||
| -rw-r--r-- | src/Makefile.userprog | 9 |
3 files changed, 11 insertions, 15 deletions
@@ -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) |
