summaryrefslogtreecommitdiff
path: root/lib/libc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/Makefile')
-rw-r--r--lib/libc/Makefile16
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/libc/Makefile b/lib/libc/Makefile
index c750d34..b5bd01e 100644
--- a/lib/libc/Makefile
+++ b/lib/libc/Makefile
@@ -1,14 +1,17 @@
-CFLAGS = -c -fno-stack-protector -nostdlib -static -Iinclude/
+CFLAGS = -c -fno-stack-protector -nostdlib -static -Iinclude/ -D_OLIBC
LIBC_CFILES = $(shell find src/ -name "*.c")
-LIBC_ASMFILES = $(shell find src/ -name "*.S")
+LIBC_ASMFILES = $(shell find src/arch/$(ARCH) -name "*.S")
LIBC_OBJ = $(LIBC_CFILES:.c=.o)
LIBC_ASMOBJ = $(LIBC_ASMFILES:.S=.S.o)
-all: headers $(LIBC_ASMOBJ) $(LIBC_OBJ) build/libc.a
+all: sys/include/machine headers $(LIBC_ASMOBJ) $(LIBC_OBJ) build/libc.a
build/libc.a: build/
ar rcs build/libc.a $(LIBC_OBJ) $(LIBC_ASMOBJ)
+ mv $(LIBC_ASMOBJ) build/ # For initial bootstrapping
+ mv build/crti.S.o build/crti.o
+ mv build/*.o build/*.a $(ROOT)/base/usr/lib/
%.o: %.c
$(CC) $(CFLAGS) -Iinclude/ $< -o $@
@@ -16,8 +19,12 @@ build/libc.a: build/
%.S.o: %.S
$(CC) $(CFLAGS) -Iinclude/ $< -o $@
+sys/include/machine:
+ mkdir -p include/machine/
+ cp include/arch/$(ARCH)/*.h include/machine/
+
.PHONY: headers
-headers:
+headers: sys/include/machine
mkdir -p include/sys/
cp -f $(USRDIR)/include/sys/*.h include/sys
cp -f include/*.h $(USRDIR)/include/
@@ -31,4 +38,5 @@ build/:
.PHONY: clean
clean:
rm -f $(LIBC_OBJ) $(LIBC_ASMOBJ)
+ rm -rf include/machine/
rm -rf build/