Files
mckernel/kernel/Makefile.build
2011-09-28 11:45:08 +09:00

49 lines
1.1 KiB
Makefile

AALBASE=$(SRC)/../../aal/manycore
AALDIR=$(AALBASE)/$(TARGET)
SRCS=$(wildcard $(SRC)/*.c)
OBJS=$(notdir $(patsubst %.c,%.o,$(SRCS)))
CFLAGS=-Wall -nostdlib -nostdinc -isystem $(shell $(CC) -print-file-name=include) -O3 -I$(SRC)/include -mcmodel=kernel
LDFLAGS=-e arch_start
AALOBJ=$(AALDIR)/aal.o
-include $(SRC)/configs/config.$(TARGET)
include $(AALDIR)/Makefile.config
include $(AALBASE)/Makefile.common
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 $@
ifeq ($(V),1)
ld_kern_cmd = $(ld_kern_cmd_base)
mkimage_cmd = $(mkimage_cmd_base)
else
ld_kern_cmd = @echo ' ' LDKERN $@; $(ld_kern_cmd_base)
mkimage_cmd = @echo ' ' MKIMAGE $@; $(mkimage_cmd_base)
endif
all: depend kernel.img
kernel.img: $(OBJS) $(AALOBJ)
$(ld_kern_cmd)
$(mkimage_cmd)
clean:
$(RM) $(OBJS) kernel.img kernel.img.elf Makefile.dep
@make -C $(AALDIR) clean
depend: Makefile.dep
Makefile.dep: $(SRCS)
$(dep_cmd)
$(AALOBJ): FORCE
@make -C $(AALDIR) CC=$(CC) LD=$(LD)
%.o: $(SRC)/%.c
$(cc_cmd)
FORCE:
-include Makefile.dep