Files
mckernel/kernel/Makefile.build
2011-10-13 11:49:15 +09:00

45 lines
1.1 KiB
Makefile

AALDIR=$(AALBASE)/$(TARGET)
OBJS=setup.o mem.o debug.o mikc.o listeners.o
DEPSRCS=$(wildcard $(SRC)/*.c)
include $(SRC)/configs/config.$(TARGET)
include $(AALBASE)/Makefile.common
CFLAGS += -I$(SRC)/include -mcmodel=kernel
LDFLAGS += -e arch_start
AALOBJ = aal/aal.o
SUBCMD_OPTS = TARGET=$(TARGET) O=$(CURDIR)/aal CC=$(CC) LD=$(LD)
ld_kern_cmd_base = $(LD) $(LDFLAGS) -o $@.elf $^
mkimage_cmd_base = [ -f $(SRC)/scripts/mkimage.$(TARGET) ] && sh $(SRC)/scripts/mkimage.$(TARGET) '$@.elf' '$@' '$(SRC)' || cp $@.elf $@
ld_kern_cmd = $(call echo_cmd,LDKERN,$@)$(ld_kern_cmd_base)
mkimage_cmd = $(call echo_cmd,MKIMAGE,$@)$(mkimage_cmd_base)
all: depend kernel.img
kernel.img: $(OBJS) $(AALOBJ)
$(ld_kern_cmd)
$(mkimage_cmd)
clean:
$(RM) $(OBJS) kernel.img kernel.img.elf Makefile.dep
@$(submake) -C $(AALBASE) $(SUBCMD_OPTS) clean
depend: Makefile.dep
Makefile.dep: $(DEPSRCS)
$(dep_cmd)
$(AALOBJ): FORCE
@mkdir -p $(dir $(AALOBJ))
$(call echo_cmd,BUILD AAL,$(TARGET))$(submake) -C $(AALBASE) $(SUBCMD_OPTS)
%.o: $(SRC)/%.c
$(cc_cmd)
FORCE:
-include Makefile.dep