summaryrefslogtreecommitdiff
path: root/src/Makefile
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-06-10 21:26:24 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-06-10 21:26:24 +0200
commitd6d1bdfefafff50b7b6d15d218c0a188570be541 (patch)
tree15ee8de727d0be5d126efda146b2879de0a72773 /src/Makefile
parenteea5bf4b859eb56c5772c58ca54937a90a10e7ee (diff)
downloadabaos-d6d1bdfefafff50b7b6d15d218c0a188570be541.tar.gz
abaos-d6d1bdfefafff50b7b6d15d218c0a188570be541.tar.bz2
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
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile91
1 files changed, 49 insertions, 42 deletions
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" \