diff options
| author | aqua <aqua@iserlohn-fortress.net> | 2023-07-30 17:11:43 +0300 |
|---|---|---|
| committer | aqua <aqua@iserlohn-fortress.net> | 2023-07-30 17:11:43 +0300 |
| commit | 3c440f91ea7f26f7c5ed10c18bd28348020d8ebe (patch) | |
| tree | 1b88afc9e7ae16dd7a827c93e6467096c6760047 /Makefile | |
| parent | Fix compiler warnings (diff) | |
| download | kernel-3c440f91ea7f26f7c5ed10c18bd28348020d8ebe.tar.xz | |
Added make wrapper
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/Makefile b/Makefile deleted file mode 100644 index 8bc5de5..0000000 --- a/Makefile +++ /dev/null @@ -1,71 +0,0 @@ -# ===================================================================== -# spdx-license-identifier: ISC -# glitch top-level makefile -# ===================================================================== - -MAKE := make -MAKEID := $(shell ${MAKE} --version | head -n1) -MAKEFLAGS += -rR --no-print-directory - -ARCH := $(shell sed -nE "s/CONFIG_ARCH_(.+)=y/\1/p" .config) - -SUBDIRS := lib ${ARCH} devices src - -.PHONY: help info run doc clean test valgrind -help: - @echo "run: run kernel image in qemu" - @echo "test: run all tests" - @echo "valgrind: run all tests in valgrind" - -run: glitch.iso - qemu-system-i386 -accel kvm -machine pc -cdrom $^ -d cpu_reset -display gtk,zoom-to-fit=on - -clean: - @for d in ${SUBDIRS}; do make -C $$d -f ../root.mk clean; done - -test: - @for d in ${SUBDIRS}; do make -C $$d -f ../root.mk test.quiet; done - -valgrind: - @for d in ${SUBDIRS}; do make -C $$d -f ../root.mk valgrind.quiet; done - -# configure targets -kconfig: - @make -C tools/kconfig -f ../../root.mk - -.config: Kconfig - @alldefconfig - -config.mk: .config ${ARCH}/toolchain.mk - @cat .config >> $@ - @echo -e '\n## toolchain.mk' >> $@ - @cat ${ARCH}/toolchain.mk >> $@ - -# build targets -lib/libk.a: - @${MAKE} -C lib -f ../root.mk libk.a -i686/arch.a: - @${MAKE} -C ${ARCH} -f ../root.mk arch.a -devices/devs.a: - @${MAKE} -C devices -f ../root.mk devs.a -src/kernel.a: - @${MAKE} -C src -f ../root.mk kernel.a - -src/glitch.elf: lib/libk.a i686/arch.a devices/devs.a src/kernel.a - @${MAKE} -C src -f ../root.mk glitch.elf - -# iso image -glitch.iso: src/glitch.elf grub/grub.cfg - @grub-file --is-x86-multiboot2 src/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 src/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 - - |
