diff options
Diffstat (limited to 'libs/libc/Makefile')
-rw-r--r-- | libs/libc/Makefile | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libs/libc/Makefile b/libs/libc/Makefile new file mode 100644 index 0000000..1c66f43 --- /dev/null +++ b/libs/libc/Makefile @@ -0,0 +1,42 @@ +# MIT License, Copyright (c) 2020 Marvin Borner + +# TODO: Remove cpu from libc? +COBJS = sanitize.o \ + errno.o \ + str.o \ + alloc.o \ + mem.o \ + math.o \ + crypto.o \ + conv.o \ + print.o \ + cpu.o \ + sys.o \ + list.o \ + stack.o \ + random.o +CC = ccache ../../cross/opt/bin/i686-elf-gcc +LD = ccache ../../cross/opt/bin/i686-elf-ld +AR = ccache ../../cross/opt/bin/i686-elf-ar +AS = ccache nasm + +CFLAGS = $(CFLAGS_DEFAULT) -Iinc/ + +ASFLAGS = -f elf32 + +%.o: %.c + @$(CC) -c $(CFLAGS) $< -o $@ + +libc: CFLAGS += -Duserspace +libc: $(COBJS) + @$(AS) $(ASFLAGS) crt/crt0.asm -o crt0.o + @mkdir -p ../../build/ + @$(AR) rcs ../../build/libc.a crt0.o $+ + +libk: CFLAGS += -Dkernel -ffreestanding -I../../kernel/inc/ $(CFLAGS_EXTRA) +libk: $(COBJS) + @mkdir -p ../../build/ + @$(AR) rcs ../../build/libk.a $+ + +clean: + @find . -name "*.o" -type f -delete |