123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- .PHONY: all clean crt kernel library manager tests generate
- GENERATED_SOURCES = sdk/syscall_enum.h kernel/src/syscall_table.inl library/src/wrappers.c
- all: livecd.iso tests
- crt:
- $(MAKE) -C crt all
- kernel: generate crt
- $(MAKE) -C kernel all
- library: generate crt
- $(MAKE) -C library all
- manager: library
- $(MAKE) -C manager all
- tests:
- $(MAKE) -C tests all
- generate: $(GENERATED_SOURCES)
- sdk/syscall_enum.h: $(wildcard sdk/*.h) syscalls.awk
- @echo 'Generating system call sources/headers...'
- sort sdk/* | awk -v enum_file=sdk/syscall_enum.h -v table_file=kernel/src/syscall_table.inl -v wrappers_file=library/src/wrappers.c -f syscalls.awk
- kernel/src/syscall_table.inl: sdk/syscall_enum.h
- library/src/wrappers.c: sdk/syscall_enum.h
- livecd.iso: kernel library manager
- mkdir -p livecd/boot/grub
- cp kernel/monolithium livecd/boot/monolithium
- cp manager/manager livecd/manager
- cp grub.cfg livecd/boot/grub/grub.cfg
- grub-mkrescue -o $@ livecd
- clean:
- $(MAKE) -C crt clean
- $(MAKE) -C kernel clean
- $(MAKE) -C library clean
- $(MAKE) -C manager clean
- $(MAKE) -C tests clean
- rm -f $(GENERATED_SOURCES) livecd.iso
|