From d6d1bdfefafff50b7b6d15d218c0a188570be541 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 10 Jun 2017 21:26:24 +0200 Subject: some big renames into subdirs of aspects updated README removed size_t in sys/types.h and sys/types.h itself, size_t is in stddef.h --- src/Makefile | 91 ++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 49 insertions(+), 42 deletions(-) (limited to 'src/Makefile') diff --git a/src/Makefile b/src/Makefile index c89f9c3..f352a6c 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,5 +1,6 @@ CC := gcc -CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Wall -Werror +INCLUDES = -I. -Ilibc -Ihardware -Idrivers -Idrivers/hdi -Idrivers/hdi/ps2 -Ikernel +CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Wall -Werror $(INCLUDES) LD := ld NASMFLAGS := -f elf32 NASM := nasm @@ -33,70 +34,76 @@ kernel.bin: kernel.elf kernel.sym: kernel.elf $(OBJCOPY) --only-keep-debug kernel.elf kernel.sym -kernel.elf: kernel.o kernel_asm.o console.o vgatext.o serial.o port.o port_asm.o interrupts.o interrupts_asm.o driver.o pci.o keyboard.o mouse.o string.o stdlib.o stdio.o setjmp.o +kernel.elf: kernel/kernel.o kernel/kernel_asm.o kernel/console.o kernel/vgatext.o kernel/serial.o hardware/port.o hardware/port_asm.o hardware/interrupts.o hardware/interrupts_asm.o hardware/pci.o drivers/driver.o drivers/hdi/ps2/keyboard.o drivers/hdi/ps2/mouse.o libc/string.o libc/stdlib.o libc/stdio.o libc/setjmp.o $(LD) -o kernel.elf -N -n -Ttext 0x8400 --oformat elf32-i386 \ - kernel.o kernel_asm.o console.o vgatext.o serial.o \ - port.o port_asm.o interrupts.o interrupts_asm.o \ - driver.o pci.o \ - keyboard.o mouse.o \ - string.o stdlib.o stdio.o setjmp.o + kernel/kernel.o kernel/kernel_asm.o \ + kernel/console.o kernel/vgatext.o kernel/serial.o \ + hardware/port.o hardware/port_asm.o \ + hardware/interrupts.o hardware/interrupts_asm.o \ + hardware/pci.o \ + drivers/driver.o \ + drivers/hdi/ps2/keyboard.o drivers/hdi/ps2/mouse.o \ + libc/string.o libc/stdlib.o libc/stdio.o libc/setjmp.o magic.bin: boot/magic.asm $(NASM) boot/magic.asm -DMAGIC='"$(MAGIC)"' -f bin -o magic.bin -kernel.o: kernel.c - $(CC) $(CFLAGS) -c -o kernel.o kernel.c +kernel/kernel.o: kernel/kernel.c + $(CC) $(CFLAGS) -c -o kernel/kernel.o kernel/kernel.c -kernel_asm.o: kernel.asm - $(NASM) kernel.asm $(NASMFLAGS) -o kernel_asm.o +kernel/kernel_asm.o: kernel/kernel.asm + $(NASM) kernel/kernel.asm $(NASMFLAGS) -o kernel/kernel_asm.o -port.o: port.c port.h - $(CC) $(CFLAGS) -c -o port.o port.c +hardware/port.o: hardware/port.c hardware/port.h + $(CC) $(CFLAGS) -c -o hardware/port.o hardware/port.c -port_asm.o: port.asm - $(NASM) port.asm $(NASMFLAGS) -o port_asm.o +hardware/port_asm.o: hardware/port.asm + $(NASM) hardware/port.asm $(NASMFLAGS) -o hardware/port_asm.o -console.o: console.c console.h vgatext.h serial.h - $(CC) $(CFLAGS) -c -o console.o console.c +kernel/console.o: kernel/console.c kernel/console.h kernel/vgatext.h kernel/serial.h + $(CC) $(CFLAGS) -c -o kernel/console.o kernel/console.c -vgatext.o: vgatext.c vgatext.h - $(CC) $(CFLAGS) -c -o vgatext.o vgatext.c +kernel/vgatext.o: kernel/vgatext.c kernel/vgatext.h + $(CC) $(CFLAGS) -c -o kernel/vgatext.o kernel/vgatext.c -serial.o: serial.c serial.h - $(CC) $(CFLAGS) -c -o serial.o serial.c +kernel/serial.o: kernel/serial.c kernel/serial.h + $(CC) $(CFLAGS) -c -o kernel/serial.o kernel/serial.c -interrupts.o: interrupts.c interrupts.h - $(CC) $(CFLAGS) -c -o interrupts.o interrupts.c +hardware/interrupts.o: hardware/interrupts.c hardware/interrupts.h + $(CC) $(CFLAGS) -c -o hardware/interrupts.o hardware/interrupts.c -interrupts_asm.o: interrupts.asm - $(NASM) interrupts.asm $(NASMFLAGS) -o interrupts_asm.o +hardware/interrupts_asm.o: hardware/interrupts.asm + $(NASM) hardware/interrupts.asm $(NASMFLAGS) -o hardware/interrupts_asm.o -driver.o: driver.c driver.h - $(CC) $(CFLAGS) -c -o driver.o driver.c +hardware/pci.o: hardware/pci.c hardware/pci.h + $(CC) $(CFLAGS) -c -o hardware/pci.o hardware/pci.c -pci.o: pci.c pci.h - $(CC) $(CFLAGS) -c -o pci.o pci.c +drivers/driver.o: drivers/driver.c drivers/driver.h + $(CC) $(CFLAGS) -c -o drivers/driver.o drivers/driver.c -keyboard.o: keyboard.c keyboard.h - $(CC) $(CFLAGS) -c -o keyboard.o keyboard.c +drivers/hdi/ps2/keyboard.o: drivers/hdi/ps2/keyboard.c drivers/hdi/ps2/keyboard.h + $(CC) $(CFLAGS) -c -o drivers/hdi/ps2/keyboard.o drivers/hdi/ps2/keyboard.c -mouse.o: mouse.c mouse.h - $(CC) $(CFLAGS) -c -o mouse.o mouse.c +drivers/hdi/ps2/mouse.o: drivers/hdi/ps2/mouse.c drivers/hdi/ps2/mouse.h + $(CC) $(CFLAGS) -c -o drivers/hdi/ps2/mouse.o drivers/hdi/ps2/mouse.c -string.o: string.c string.h - $(CC) $(CFLAGS) -c -o string.o string.c +libc/string.o: libc/string.c libc/string.h + $(CC) $(CFLAGS) -c -o libc/string.o libc/string.c -stdlib.o: stdlib.c stdlib.h - $(CC) $(CFLAGS) -c -o stdlib.o stdlib.c +libc/stdlib.o: libc/stdlib.c libc/stdlib.h + $(CC) $(CFLAGS) -c -o libc/stdlib.o libc/stdlib.c -stdio.o: stdio.c stdio.h - $(CC) $(CFLAGS) -c -o stdio.o stdio.c +libc/stdio.o: libc/stdio.c libc/stdio.h + $(CC) $(CFLAGS) -c -o libc/stdio.o libc/stdio.c -setjmp.o: setjmp.asm - $(NASM) setjmp.asm $(NASMFLAGS) -o setjmp.o +libc/setjmp.o: libc/setjmp.asm + $(NASM) libc/setjmp.asm $(NASMFLAGS) -o libc/setjmp.o clean: - -rm -f boot.bin kernel.bin kernel.sym kernel.elf image.bin magic.bin *.o boot.map image.tmp + -rm -f boot.bin kernel.bin kernel.sym kernel.elf image.bin magic.bin boot.map image.tmp \ + serial.log \ + libc/*.o hardware/*.o kernel/*.o \ + drivers/*.o drivers/*/*.o drivers/*/*/*.o run-qemu-hd: image.bin qemu-system-i386 -net nic,model=ne2k_pci -d guest_errors -m 32 -drive "file=image.bin,if=ide,format=raw" \ -- cgit v1.2.3-54-g00ecf