OrionLibC
Barry Importing existing Orion LibC 03048a9 (2 years, 2 months ago)diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..fe29407 --- /dev/null +++ b/Makefile @@ -0,0 +1,50 @@ +PRODUCT=libc.a + +CC=i686-orion-gcc +CFLAGS= + +AS=i686-orion-as +AFLAGS= + +AR=i686-orion-ar + +AS_SOURCES := $(shell find . -name '*.S') +OBJS += $(subst ./,build/,$(subst .S,.o,$(AS_SOURCES))) + +C_SOURCES := $(shell find . -name '*.c') +OBJS += $(subst ./,build/,$(subst .c,.o,$(C_SOURCES))) + +.PHONY: install-headers clean all install + +all: $(PRODUCT) + +clean: + @echo "REMOVING OBJECT FILES" + @mkdir -p build + @rm -rf build + @touch $(PRODUCT) + @rm $(PRODUCT) + +install-headers: + @echo "INSTALLING HEADERS" + @mkdir -p ${SYSROOT}/usr/include/ + @cp -r include/* ${SYSROOT}/usr/include/ + +install: $(PRODUCT) build/crt0.o build/crti.o build/crtn.o + @echo "INSTALLING $^" + @install -Dm 644 $^ -t ${SYSROOT}/usr/lib/ + +$(PRODUCT): $(OBJS) + @echo "LINKING $@" + @mkdir -p $(@D) + @$(AR) rcs $@ $^ + +build/%.o: %.c + @echo "COMPILING $<" + @mkdir -p $(@D) + @$(CC) -c $< -o $@ $(CFLAGS) + +build/%.o: %.S + @echo "ASSEMBLING $<" + @mkdir -p $(@D) + @$(AS) $< -o $@ $(AFLAGS)