From 8c218b16084bff812af1756dcfad69c8fd13549a Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jackpot51@gmail.com>
Date: Mon, 26 Mar 2018 20:06:46 -0600
Subject: [PATCH] Build crt0 as object file

---
 Makefile       | 10 +++++-----
 tests/Makefile |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 4d0941f0..d35f09d9 100644
--- a/Makefile
+++ b/Makefile
@@ -31,7 +31,7 @@ clean:
 fmt:
 	./fmt.sh
 
-libc: $(BUILD)/debug/libc.a $(BUILD)/debug/libcrt0.a
+libc: $(BUILD)/debug/libc.a $(BUILD)/debug/crt0.o
 
 libm: $(BUILD)/openlibm/libopenlibm.a
 
@@ -41,14 +41,14 @@ test: all
 $(BUILD)/debug/libc.a: $(SRC)
 	cargo build $(CARGOFLAGS)
 
-$(BUILD)/debug/libcrt0.a: $(SRC)
-	cargo build --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS)
+$(BUILD)/debug/crt0.o: $(SRC)
+	cargo rustc --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@
 
 $(BUILD)/release/libc.a: $(SRC)
 	cargo build --release $(CARGOFLAGS)
 
-$(BUILD)/release/libcrt0.a: $(SRC)
-	cargo build --release --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS)
+$(BUILD)/release/crt0.o: $(SRC)
+	cargo rustc --release --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS) -- --emit obj=$@
 
 $(BUILD)/openlibm: openlibm
 	rm -rf $@ $@.partial
diff --git a/tests/Makefile b/tests/Makefile
index efc09a03..a5cdc494 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -96,7 +96,7 @@ CFLAGS=\
 	-I ../target/openlibm/src \
 
 HEADLIBS=\
-	../target/debug/libcrt0.a
+	../target/debug/crt0.o
 
 TAILLIBS=\
 	../target/debug/libc.a \
-- 
GitLab