summaryrefslogtreecommitdiff
path: root/kernel/Makefile
blob: b5838d67c51def2457d1e131ff7db3bc85cf8ff0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
DEBUGFLAGS=-DDEBUG

SUBDIR += init
SUBDIR += hal
SUBDIR += rtl

.include <bsd.port.subdir.mk>

OBJCOPY=	objcopy
OBJCOPY_FLAGS=	-R .dynamic -R .note -R .comment
OBJS=		init/entry.o init/main.o hal/video.o hal/io.o \
		rtl/string.o rtl/memory.o hal/intsupport.o hal/interrupts.o \
		hal/timer.o hal/keyboard.o hal/timestamp.o hal/counters.o
RM=		/bin/rm

all: kernel.bin

kernel.bin: kernel.tmp
	$(OBJCOPY) $(OBJCOPY_FLAGS) -S -O binary ./kernel.tmp kernel.bin ; \
	mcopy -o ./kernel.bin Q: ; \
	mcopy -o ./kernel.map Q: ; \
	$(RM) -f kernel.tmp

kernel.tmp: $(OBJS)
	$(LD) -M -o kernel.tmp -Ttext 0x00010000 -e StartOfKernelImage $(OBJS) \
	> kernel.map

clean:
	$(RM) -f $(TARGET) $(OBJS) *~ #*# .#* ; \
	mdel Q:\$(TARGET)