Files
quark-kernel/Makefile

28 lines
798 B
Makefile

objs = src/addressspace.o src/tty.o src/buddyallocator.o src/math.o \
src/cstring.o src/pagetableentry.o src/multiboot2header.o \
src/systeminfo.o src/memorymap.o src/interruptdescriptor.o \
src/inthandlers.o src/pio.o src/entry.o src/quarkkernel.o
link_script = src/linker.ld
quark_bin = qkernel
quark_img = quark.iso
CXX = i686-elf-g++
CC = i686-elf-gcc
CPPFLAGS = -ffreestanding -mgeneral-regs-only -O0 -Wall -fno-exceptions -fno-rtti -ggdb
.PHONY: all
all: $(quark_img)
$(quark_img): bin/$(quark_bin) rootfs/boot/grub/grub.cfg
cp bin/$(quark_bin) rootfs/apps
grub-mkrescue -o $@ rootfs
bin/$(quark_bin): $(objs) $(link_script)
mkdir -p bin/
$(CXX) -o $@ -T $(link_script) -ffreestanding -nostdlib -O0 $(objs) -lgcc
.PHONY: clean
clean:
rm -f $(objs) bin/$(quark_bin) $(quark_img)