quinn-os/Makefile
2015-08-25 13:30:49 +10:00

85 lines
2.5 KiB
Makefile

CC =/opt/cross/bin/i686-elf-gcc
#CFLAGS =-Werror
LDFLAGS =-nostdlib -fno-builtin -nostartfiles -nodefaultlibs
LD =/opt/cross/bin/i686-elf-ld
all:kernel.bin
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
fat.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o fat.o -c fat.c
vfs.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o vfs.o -c vfs.c
sfs.o:
$(CC) $(CFLAGS) $(LDFLAGS) -o sfs.o -c sfs.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) -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
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 console.o gdt.o interrupts.o string.o memory.o malloc.o io.o keyboard.o ramdisk.o sfs.o vfs.o pci.o schedule.o timer.o fat.o font.o syscalls.o tty_fs.o execve.o rtc.o pata.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 sfs.o vfs.o pci.o schedule.o timer.o fat.o font.o syscalls.o tty_fs.o execve.o rtc.o pata.o /opt/cross/lib/gcc/i686-elf/5.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 shell.o ramdisk.o sfs.o vfs.o pci.o schedule.o timer.o fat.o font.o syscalls.o tty_fs.o execve.o rtc.o pata.o
install:
rm -f loader.o kernel.o kernel.bin