OrionLibC
Barry Importing existing Orion LibC 03048a9 (3 years, 1 month 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)