kernel: integrate flanterm into build system

This commit is contained in:
Matheus
2023-04-09 17:59:50 -03:00
parent 3ede2c4f94
commit d660aa7e49
3 changed files with 14 additions and 4 deletions
+1
View File
@@ -28,6 +28,7 @@ kernel:
clean-kernel:
find builds/astral/ -name *.o -delete
find builds/astral/ -name *.asmo -delete
clean:
make clean-kernel
+9 -4
View File
@@ -8,14 +8,19 @@ ARCHDIR=$(shell pwd)/arch/$(TARGET)/
LDFLAGS=-ffreestanding -nostdlib -lgcc -Wl,-T,"$(ARCHDIR)/kernel.ld" -debug
# required for mpaland printf so it doesn't compile with floating point support, which results in build failures
PRINTFOPTS=-DPRINTF_DISABLE_SUPPORT_FLOAT
CFLAGS=-ffreestanding -mcmodel=kernel -O2 -mno-red-zone -mno-mmx -mno-sse -mno-sse2 -nostdlib -Wall -I "${INCDIR}" -I "$(ARCHINCDIR)" $(PRINTFOPTS)
# flanterm includes break if the headers are moved into the include dir in the tree
FLANTERMINCDIR=$(shell pwd)/flanterm
CFLAGS=-ffreestanding -mcmodel=kernel -O2 -mno-red-zone -mno-mmx -mno-sse -mno-sse2 -nostdlib -Wall -I "${INCDIR}" -I "$(ARCHINCDIR)" -I "$(FLANTERMINCDIR)" $(PRINTFOPTS)
ASFLAGS=-felf64
astral: $(OBJS)
$(LD) $(LDFLAGS) -o $@ $^
@echo [LD] $@
@$(LD) $(LDFLAGS) -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
@echo [CC] $@
@$(CC) $(CFLAGS) -c -o $@ $<
%.asmo: %.asm
nasm $(ASFLAGS) -o $@ $<
@echo [AS] $@
@nasm $(ASFLAGS) -o $@ $<
+4
View File
@@ -6,6 +6,10 @@ imagedeps="wget"
flanterm_commit="f95f5584fb87577908beff8cbe0f68fee8940517"
regenerate() {
rm -f include/limine.h
rm -f io/printf.c
rm -f include/printf.h
rm -rf flanterm
curl https://raw.githubusercontent.com/limine-bootloader/limine/trunk/limine.h > include/limine.h
pushd /tmp/
wget https://github.com/mpaland/printf/archive/refs/tags/v4.0.0.tar.gz