compiler-rt/Makefile

36 lines
996 B
Makefile

COMPILER_RT_BUILD_DIR ?= build
DESTDIR ?= $(COMPILER_RT_BUILD_DIR)/sysroot
ifneq ($(TOOLCHAIN_FILE),)
include $(TOOLCHAIN_FILE)
endif
CC ?= clang
CFLAGS ?= -target riscv32-unknow-elf -march=rv32i -mabi=ilp32 -O2
AR ?= llvm-ar
# This option is necessary for software long double support
CFLAGS += -fforce-enable-int128
COMPILER_RT_SRCS := $(wildcard src/*.c)
COMPILER_RT_OBJS := $(patsubst src/%.c,$(COMPILER_RT_BUILD_DIR)/objs/%.o,$(COMPILER_RT_SRCS))
all: $(COMPILER_RT_BUILD_DIR)/libclang_rt.builtins.a
install: $(COMPILER_RT_BUILD_DIR)/libclang_rt.builtins.a
@mkdir -p $(DESTDIR)/lib
cp -f $(COMPILER_RT_BUILD_DIR)/libclang_rt.builtins.a $(DESTDIR)/lib/
clean:
rm -rf $(COMPILER_RT_BUILD_DIR)/libclang_rt.builtins.a $(COMPILER_RT_BUILD_DIR)/objs
$(COMPILER_RT_BUILD_DIR)/objs/%.o: src/%.c
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c -o $@ $<
$(COMPILER_RT_BUILD_DIR)/libclang_rt.builtins.a: $(COMPILER_RT_OBJS)
@rm -f $@
$(AR) rcs $@ $(COMPILER_RT_OBJS)
.PHONY: all install clean