# ===================================================================== # spdx-license-identifier: ISC # glitch kernel binary and image generation # ===================================================================== include Makefile.config ${ARCH}_LDFLAGS += -T ${ARCH}/linker.ld TARGETS += glitch.elf include rules.mk .PHONY: run info run: glitch.iso @${QEMU} -cdrom $^ -d cpu_reset -display gtk,zoom-to-fit=on info: @echo "- target:" @echo " ARCH: ${ARCH}" @echo " CC: ${${ARCH}_CC}" @echo " CCID: ${${ARCH}_CCID}" @echo " CFLAGS: ${${ARCH}_CFLAGS}" @echo " CXX: ${${ARCH}_CXX}" @echo " CXXID: ${${ARCH}_CXXID}" @echo " CXXFLAGS: ${${ARCH}_CXXFLAGS}" @echo " LD: ${${ARCH}_LD}" @echo " LDID: ${${ARCH}_LDID}" @echo " LDFLAGS: ${${ARCH}_LDFLAGS}" @echo "- host:" @echo " CC: ${HOST_CC}" @echo " CFLAGS: ${HOST_CFLAGS}" @echo " CXX: ${HOST_CXX}" @echo " CXXFLAGS: ${HOST_CXXFLAGS}" @echo " QEMU: ${QEMU}" # build targets glitch.elf: ${ARCH}/arch.a src/kernel.a devices/devs.a lib/libk.a glitch.iso: glitch.elf grub/grub.cfg @grub-file --is-x86-multiboot2 glitch.elf @mkdir -p isodir/boot/grub @mkdir -p isodir/boot/glitch @grub-script-check grub/grub.cfg @cp grub/grub.cfg isodir/boot/grub/grub.cfg @cp glitch.elf isodir/boot/glitch/glitch.elf @i686-elf-strip isodir/boot/glitch/glitch.elf @rm -f isodir/boot/glitch/checksums @sha512sum isodir/boot/glitch/* > isodir/boot/glitch/checksums @sed -i s/isodir// isodir/boot/glitch/checksums @grub-mkrescue -o glitch.iso isodir lib/libk.a: FORCE @${MAKE} -C lib libk.a i686/arch.a: FORCE @${MAKE} -C ${ARCH} arch.a devices/devs.a: FORCE @${MAKE} -C devices devs.a src/kernel.a: FORCE @${MAKE} -C src kernel.a