47 lines
1.3 KiB
Makefile
47 lines
1.3 KiB
Makefile
AALDIR=$(AALBASE)/$(TARGET)
|
|
OBJS = init.o mem.o debug.o mikc.o listeners.o ap.o syscall.o cls.o host.o
|
|
OBJS += process.o copy.o waitq.o futex.o timer.o
|
|
DEPSRCS=$(wildcard $(SRC)/*.c)
|
|
|
|
CFLAGS += -I$(SRC)/include -mcmodel=kernel -D__KERNEL__
|
|
LDFLAGS += -e arch_start
|
|
AALOBJ = aal/aal.o
|
|
|
|
include $(SRC)/configs/config.$(TARGET)
|
|
include $(AALBASE)/Makefile.common
|
|
|
|
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) ] && CC=$(CC) LD=$(LD) LDFLAGS="$(LDFLAGS_MKIMAGE)" 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_cmd) $(OBJS) kernel.img kernel.img.elf Makefile.dep
|
|
@$(submake) -C $(AALBASE) $(SUBCMD_OPTS) clean
|
|
|
|
depend: Makefile.dep
|
|
|
|
Makefile.dep:
|
|
$(call dep_cmd,$(DEPSRCS))
|
|
|
|
$(AALOBJ): FORCE
|
|
@mkdir -p $(dir $(AALOBJ))
|
|
$(call echo_cmd,BUILD AAL,$(TARGET))$(submake) -C $(AALBASE) $(SUBCMD_OPTS) prepare
|
|
$(call echo_cmd,BUILD AAL,$(TARGET))$(submake) -C $(AALBASE) $(SUBCMD_OPTS)
|
|
|
|
%.o: $(SRC)/%.c
|
|
$(cc_cmd)
|
|
|
|
FORCE:
|
|
|
|
-include Makefile.dep
|