quinn-os/Makefile
2022-07-10 11:42:04 +10:00

136 lines
3.9 KiB
Makefile

CC =$(HOME)/Quinn/cross/bin/i686-elf-gcc
CFLAGS =-Wall -g
LDFLAGS =-nostdlib -fno-builtin -nostartfiles -nodefaultlibs
LD =$(HOME)/Quinn/cross/bin/i686-elf-ld
all:kernel.bin
udp.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o udp.o -c udp.c
ahci.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o ahci.o -c ahci.c
minix.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o minix.o -c minix.c
hashmap.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o hashmap.o -c hashmap.c
socket.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o socket.o -c socket.c
tcp.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o tcp.o -c tcp.c
icmp.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o icmp.o -c icmp.c
ipv4.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o ipv4.o -c ipv4.c
arp.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o arp.o -c arp.c
i825xx.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o i825xx.o -c i825xx.c
virtnet.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o virtnet.o -c virtnet.c
virtio.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o virtio.o -c virtio.c
ether.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o ether.o -c ether.c
fpu.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o fpu.o -c fpu.c
mouse.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o mouse.o -c mouse.c
gui.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o gui.o -c gui.c
hd.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o hd.o -c hd.c
pata.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o pata.o -c pata.c
rtc.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o rtc.o -c rtc.c
execve.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o execve.o -c execve.c
tty_fs.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o tty_fs.o -c tty_fs.c
syscalls.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o syscalls.o -c syscalls.c
font.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o font.o -c font.c
timer.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o timer.o -c timer.c
vfs.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o vfs.o -c vfs.c
ramdisk.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o ramdisk.o -c ramdisk.c
keyboard.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o keyboard.o -c keyboard.c
io.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o io.o -c io.c
malloc.o:
$(CC) $(CFLAGS) -DFOOTERS=1 -DMORECORE_CANNOT_TRIM=1 -DMALLOC_FAILURE_ACTION -DHAVE_MMAP=0 -DLACKS_SYS_PARAM_H -DLACKS_UNISTD_H -DLACKS_FCNTL_H -DLACKS_SYS_TYPES_H=1 -DNO_MALLOC_STATS=1 -DLACKS_ERRNO_H -DLACKS_TIME_H -DLACKS_STDLIB_H -DLACKS_STRING_H -DLACKS_SYS_MMAN_H $(LDFLAGS) -o malloc.o -c malloc.c
memory.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o memory.o -c memory.c
string.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o string.o -c string.c
interrupts.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o interrupts.o -c interrupts.c
gdt.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o gdt.o -c gdt.c
console.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o console.o -c console.c
pci.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o pci.o -c pci.c
schedule.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o schedule.o -c schedule.c
serial.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o serial.o -c serial.c
pvec.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o pvec.o -c pvec.c
loader.o:
nasm -f elf -o loader.o loader.s
kernel.o:loader.o
$(CC) $(CFLAGS) $(LDFLAGS) -o kernel.o -c kernel.c
kernel.bin:kernel.o serial.o console.o gdt.o interrupts.o string.o memory.o malloc.o io.o keyboard.o ramdisk.o vfs.o pci.o schedule.o timer.o syscalls.o tty_fs.o execve.o rtc.o pata.o hd.o gui.o mouse.o fpu.o i825xx.o ether.o arp.o ipv4.o icmp.o socket.o tcp.o hashmap.o minix.o udp.o virtnet.o virtio.o ahci.o pvec.o font.o
$(LD) -T linker.ld -o kernel.bin loader.o kernel.o console.o gdt.o interrupts.o string.o memory.o malloc.o io.o keyboard.o ramdisk.o vfs.o pci.o schedule.o timer.o syscalls.o tty_fs.o execve.o rtc.o pata.o hd.o gui.o mouse.o fpu.o i825xx.o ether.o arp.o ipv4.o icmp.o socket.o tcp.o hashmap.o minix.o udp.o serial.o virtnet.o virtio.o ahci.o pvec.o font.o $(HOME)/Quinn/cross/lib/gcc/i686-elf/10.2.0/libgcc.a
clean:
rm -f loader.o kernel.o kernel.bin kernel.img console.o gdt.o interrupts.o string.o memory.o malloc.o io.o keyboard.o ramdisk.o vfs.o pci.o schedule.o timer.o syscalls.o tty_fs.o execve.o rtc.o pata.o hd.o gui.o mouse.o fpu.o i825xx.o ether.o arp.o ipv4.o icmp.o socket.o tcp.o hashmap.o minix.o udp.o serial.o virtnet.o virtio.o ahci.o pvec.o font.o
install:
rm -f loader.o kernel.o kernel.bin