Skip to content
Snippets Groups Projects
Makefile 659 B
Newer Older
TARGET?=

BUILD=target/debug
ifneq ($(TARGET),)
	BUILD=target/$(TARGET)/debug
	CARGOFLAGS+="--target=$(TARGET)"
	CC=$(TARGET)-gcc
endif

Jeremy Soller's avatar
Jeremy Soller committed
.PHONY: all clean fmt test

all: $(BUILD)/libc.a $(BUILD)/libcrt0.a $(BUILD)/openlibm/libopenlibm.a
Jeremy Soller's avatar
Jeremy Soller committed

clean:
	cargo clean
	make -C tests clean

fmt:
	./fmt.sh

Jeremy Soller's avatar
Jeremy Soller committed
	make -C tests run

$(BUILD)/libc.a:
	cargo build $(CARGOFLAGS)

$(BUILD)/libcrt0.a:
	cargo build --manifest-path src/crt0/Cargo.toml $(CARGOFLAGS)
Jeremy Soller's avatar
Jeremy Soller committed

$(BUILD)/openlibm: openlibm
	rm -rf $@ $@.partial
	cp -r $< $@.partial
	mv $@.partial $@
Jeremy Soller's avatar
Jeremy Soller committed

$(BUILD)/openlibm/libopenlibm.a: $(BUILD)/openlibm
	CC=$(CC) CFLAGS=-fno-stack-protector make -C $< libopenlibm.a