Help with a makefile
Posted: Mon Apr 23, 2007 7:03 pm
Makefile:
If I do make all or make kernel32.sys it tells me ld fails cause it cannot find an object.
I can do make main.o and it runs fine. If all the .o's are build then it makes kernel32.sys fine...
Why doesn't it know to make the missing *.o files???
Thanks,
Rich
Code: Select all
CC=gcc
CFLAGS=-Wall -O -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -I./include -c -o
LD=ld
LDFLAGS=-T link.ld -o
ASM=nasm
ASMFLAGS=-f aout -o
SOURCES=start.asm main.c scrn.c gdt.c idt.c isrs.c irq.c timer.c kb.c
OBJS=start.o main.o scrn.o gdt.o idt.o isrs.o irq.o timer.o kb.o
EXECUTABLE=kernel32.sys
all: $(EXECUTABLE)
$(EXECUTABLE) : $(OBJECTS)
$(LD) $(LDFLAGS) $(BUILDNAME) $(OBJS)
start.o : start.asm
$(ASM) $(ASMFLAGS) start.o start.asm
main.o : main.c
$(CC) $(CFLAGS) main.o main.c
scrn.o : scrn.c
$(CC) $(CFLAGS) scrn.o scrn.c
gdt.o : gdt.c
$(CC) $(CFLAGS) gdt.o gdt.c
idt.o : idt.c
$(CC) $(CFLAGS) idt.o idt.c
isrs.o : isrs.c
$(CC) $(CFLAGS) isrs.o isrs.c
irq.o : irq.c
$(CC) $(CFLAGS) irq.o irq.c
timer.o : timer.c
$(CC) $(CFLAGS) timer.o timer.c
kb.o : kb.c
$(CC) $(CFLAGS) kb.o kb.c
I can do make main.o and it runs fine. If all the .o's are build then it makes kernel32.sys fine...
Why doesn't it know to make the missing *.o files???
Thanks,
Rich