use libbozo
This commit is contained in:
11
Makefile
11
Makefile
@ -1,10 +1,10 @@
|
||||
AS := i386-elf-as
|
||||
ASFLAGS :=
|
||||
CC := i386-elf-gcc
|
||||
CCFLAGS := -std=gnu99 -ffreestanding -O2 -Wall -Wextra
|
||||
CCFLAGS := -std=gnu99 -ffreestanding -O2 -Wall -Wextra -iquotelibbozo/headers
|
||||
LD := $(CC)
|
||||
LDFLAGS := -T boot/linker.ld -ffreestanding -O2 -nostdlib
|
||||
LIBS := -lgcc
|
||||
LIBS := ./libbozo/build/libbozo.a -lgcc
|
||||
|
||||
SSRC := $(wildcard src/*.s)
|
||||
CSRC := $(wildcard src/*.c)
|
||||
@ -16,14 +16,15 @@ NAME := bozOS
|
||||
all: $(NAME)
|
||||
|
||||
obj/%.o: src/%.s
|
||||
mkdir -p obj/
|
||||
mkdir -p $(dir $@)
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
obj/%.o: src/%.c
|
||||
mkdir -p obj/
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(CCFLAGS) -c $< -o $@
|
||||
|
||||
$(NAME): $(OBJ)
|
||||
make -C libbozo
|
||||
mkdir -p build/
|
||||
$(LD) $(LDFLAGS) -o build/$(NAME).bin $(OBJ) $(LIBS)
|
||||
|
||||
@ -31,9 +32,11 @@ run: $(NAME)
|
||||
qemu-system-i386 -kernel build/$(NAME).bin
|
||||
|
||||
clean:
|
||||
make -C libbozo clean
|
||||
rm -rf obj/
|
||||
|
||||
fclean: clean
|
||||
make -C libbozo fclean
|
||||
rm -rf build/
|
||||
|
||||
re: fclean all
|
||||
|
Reference in New Issue
Block a user