1LOCAL_DIR := $(GET_LOCAL_DIR) 2 3MODULE := $(LOCAL_DIR) 4 5MODULE_SRCS += \ 6 $(LOCAL_DIR)/arch.c \ 7 $(LOCAL_DIR)/asm.S \ 8 $(LOCAL_DIR)/exceptions.c \ 9 $(LOCAL_DIR)/exceptions_asm.S \ 10 $(LOCAL_DIR)/start.S \ 11 $(LOCAL_DIR)/thread.c \ 12 13# $(LOCAL_DIR)/asm.S \ 14 $(LOCAL_DIR)/cache.c \ 15 $(LOCAL_DIR)/cache-ops.S \ 16 $(LOCAL_DIR)/ops.S \ 17 $(LOCAL_DIR)/mmu.c \ 18 $(LOCAL_DIR)/faults.c \ 19 $(LOCAL_DIR)/descriptor.c 20 21GLOBAL_DEFINES += \ 22 SMP_MAX_CPUS=1 23 24# set the default toolchain to microblaze elf and set a #define 25ifndef TOOLCHAIN_PREFIX 26TOOLCHAIN_PREFIX := m68k-elf- 27endif 28 29WITH_LINKER_GC ?= 0 30 31ARCH_COMPILEFLAGS := -mcpu=68040 32 33LIBGCC := $(shell $(TOOLCHAIN_PREFIX)gcc $(GLOBAL_COMPILEFLAGS) $(ARCH_COMPILEFLAGS) $(GLOBAL_COMPILEFLAGS) -print-libgcc-file-name) 34$(info LIBGCC = $(LIBGCC)) 35 36cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc /dev/null 2>&1`"; \ 37 then echo "$(2)"; else echo "$(3)"; fi ;) 38 39ARCH_OPTFLAGS := -O2 40 41KERNEL_BASE ?= $(MEMBASE) 42KERNEL_LOAD_OFFSET ?= 0 43 44GLOBAL_DEFINES += \ 45 MEMBASE=$(MEMBASE) \ 46 MEMSIZE=$(MEMSIZE) 47 48# potentially generated files that should be cleaned out with clean make rule 49GENERATED += \ 50 $(BUILDDIR)/linker.ld 51 52# rules for generating the linker 53$(BUILDDIR)/linker.ld: $(LOCAL_DIR)/linker.ld $(wildcard arch/*.ld) linkerscript.phony 54 @echo generating $@ 55 @$(MKDIR) 56 $(NOECHO)sed "s/%MEMBASE%/$(MEMBASE)/;s/%MEMSIZE%/$(MEMSIZE)/;s/%KERNEL_BASE%/$(KERNEL_BASE)/;s/%KERNEL_LOAD_OFFSET%/$(KERNEL_LOAD_OFFSET)/" < $< > $@.tmp 57 @$(call TESTANDREPLACEFILE,$@.tmp,$@) 58 59linkerscript.phony: 60.PHONY: linkerscript.phony 61 62LINKER_SCRIPT += $(BUILDDIR)/linker.ld 63 64include make/module.mk 65