| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- LOCAL_DIR := $(GET_LOCAL_DIR)
- INCLUDES += \
- -I$(LOCAL_DIR)/include
- BOOTOBJS += \
- $(LOCAL_DIR)/crt0.o
- OBJS += \
- $(LOCAL_DIR)/arch.o \
- $(LOCAL_DIR)/asm.o \
- $(LOCAL_DIR)/cache.o \
- $(LOCAL_DIR)/cache-ops.o \
- $(LOCAL_DIR)/ops.o \
- $(LOCAL_DIR)/thread.o \
- $(LOCAL_DIR)/mmu.o \
- $(LOCAL_DIR)/faults.o \
- $(LOCAL_DIR)/descriptor.o
- # set the default toolchain to x86 elf and set a #define
- TOOLCHAIN_PREFIX ?= i386-elf-
- LIBGCC := $(shell $(TOOLCHAIN_PREFIX)gcc $(CFLAGS) -print-libgcc-file-name)
- #$(info LIBGCC = $(LIBGCC))
- cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc /dev/null 2>&1`"; \
- then echo "$(2)"; else echo "$(3)"; fi ;)
- # disable SSP if the compiler supports it; it will break stuff
- CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
- # potentially generated files that should be cleaned out with clean make rule
- GENERATED += \
- $(BUILDDIR)/kernel.ld
- # rules for generating the linker scripts
- $(BUILDDIR)/kernel.ld: $(LOCAL_DIR)/kernel.ld
- @echo generating $@
- @$(MKDIR)
- $(NOECHO)cp $< $@
|