aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authoraqua <aqua@iserlohn-fortress.net>2023-07-30 17:11:43 +0300
committeraqua <aqua@iserlohn-fortress.net>2023-07-30 17:11:43 +0300
commit3c440f91ea7f26f7c5ed10c18bd28348020d8ebe (patch)
tree1b88afc9e7ae16dd7a827c93e6467096c6760047 /Makefile
parentFix compiler warnings (diff)
downloadkernel-3c440f91ea7f26f7c5ed10c18bd28348020d8ebe.tar.xz
Added make wrapper
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile71
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
-
-