#
# Makefile fragment for the ROS kernel.
# This is NOT a complete makefile;
# you must run GNU make in the top-level directory
# where the GNUmakefile is located.
#

KERN_BOOT_DIR := $(KERN_DIR)/boot
OBJDIRS += $(KERN_BOOT_DIR)

KERN_BOOT_CFLAGS  += $(KERN_CFLAGS) -Os
KERN_BOOT_LDFLAGS := $(KERN_LDFLAGS) -N -e start -Ttext 0x7C00
KERN_BOOT_OBJS    := $(OBJDIR)/$(KERN_BOOT_DIR)/boot.o \
                     $(OBJDIR)/$(KERN_BOOT_DIR)/main.o

$(OBJDIR)/$(KERN_BOOT_DIR)/%.o: $(KERN_BOOT_DIR)/%.c
	@echo + cc [BOOT] $<
	@mkdir -p $(@D)
	$(V)$(CC) $(KERN_BOOT_CFLAGS) -c -o $@ $<

$(OBJDIR)/$(KERN_BOOT_DIR)/%.o: $(KERN_BOOT_DIR)/%.S
	@echo + as [BOOT] $<
	@mkdir -p $(@D)
	$(V)$(CC) $(KERN_BOOT_CFLAGS) -c -o $@ $<

$(OBJDIR)/$(KERN_DIR)/boot: $(KERN_BOOT_OBJS)
	@echo + ld [BOOT] $<
	$(V)$(LD) $(KERN_BOOT_LDFLAGS) -o $@.out $^
	$(V)$(OBJDUMP) -S $@.out >$@.asm
	$(V)$(OBJCOPY) -S -O binary $@.out $@
	$(V)perl $(KERN_BOOT_DIR)/sign.pl $(OBJDIR)/$(KERN_DIR)/boot

