mittos65/Makefile

36 lines
693 B
Makefile

ifeq ($(BUILDROOT),)
$(error BUILDROOT IS NOT SET!)
endif
TARGET := x86_64-elf
KERNELMAKE := TARGET=${TARGET} $(MAKE) -C src/kernel
DIST := $(BUILDROOT)/mittos.iso
SYSROOT := $(BUILDROOT)/sysroot
SYS_ITEMS := $(SYSROOT)/kernel $(SYSROOT)/usr/lib/libc.a
all: $(SYSROOT)/kernel
dist: $(DIST)
$(DIST): $(SYS_ITEMS)
$(BUILDROOT)/toolchain/setup-grub.sh
grub-mkrescue -o $@ $(SYSROOT)
$(SYSROOT)/kernel: $(SYSROOT)/usr/lib/libc.a FORCE
ifeq ($(shell make -sqC src/kernel || echo 1), 1)
$(KERNELMAKE) install
endif
$(SYSROOT)/usr/lib/libc.a:
toolchain/build-musl.sh
.PHONY: all dist sysroot FORCE
clean:
rm -rf $(DIST)
$(KERNELMAKE) clean
distclean:
$(MAKE) clean
rm -rf $(SYSROOT)