Initial checkin of toy OS project.
[os.git] / kernel / Makefile
1 DEBUGFLAGS=-DDEBUG
2
3 SUBDIR += init
4 SUBDIR += hal
5 SUBDIR += rtl
6
7 .include <bsd.port.subdir.mk>
8
9 OBJCOPY=        objcopy
10 OBJCOPY_FLAGS=  -R .dynamic -R .note -R .comment
11 OBJS=           init/entry.o init/main.o hal/video.o hal/io.o \
12                 rtl/string.o rtl/memory.o hal/intsupport.o hal/interrupts.o \
13                 hal/timer.o hal/keyboard.o hal/timestamp.o hal/counters.o
14 RM=             /bin/rm
15
16 all: kernel.bin
17
18 kernel.bin: kernel.tmp
19         $(OBJCOPY) $(OBJCOPY_FLAGS) -S -O binary ./kernel.tmp kernel.bin ; \
20         mcopy -o ./kernel.bin Q: ; \
21         mcopy -o ./kernel.map Q: ; \
22         $(RM) -f kernel.tmp
23
24 kernel.tmp: $(OBJS)
25         $(LD) -M -o kernel.tmp -Ttext 0x00010000 -e StartOfKernelImage $(OBJS) \
26         > kernel.map
27
28 clean:
29         $(RM) -f $(TARGET) $(OBJS) *~ #*# .#* ; \
30         mdel Q:\$(TARGET)