this will allow each arch to handle the boards more simply and depending on there need the env var BOARD will refer to the current board dirent for sandbox as we have only one board the board dirent is arch/sandbox/board Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
70 lines
1.8 KiB
Makefile
70 lines
1.8 KiB
Makefile
|
|
CPPFLAGS += -fno-strict-aliasing
|
|
|
|
machine-y := sandbox
|
|
|
|
board-y := arch/sandbox/board
|
|
BOARD := $(board-y)/
|
|
lds-y := $(BOARD)/barebox.lds
|
|
|
|
|
|
TEXT_BASE = $(CONFIG_TEXT_BASE)
|
|
|
|
CPPFLAGS += -P
|
|
CFLAGS += -Dmalloc=barebox_malloc \
|
|
-Dfree=barebox_free -Drealloc=barebox_realloc \
|
|
-Dread=barebox_read -Dwrite=barebox_write \
|
|
-Dopen=barebox_open -Dclose=barebox_close \
|
|
-Dlseek=barebox_lseek -Dperror=barebox_perror \
|
|
-Derrno=barebox_errno -Dgetc=barebox_getc \
|
|
-Dputc=barebox_putc -Dfgetc=barebox_fgetc \
|
|
-Dfputc=barebox_fputc -Dfgets=barebox_fgets \
|
|
-Dfputs=barebox_fputs -Dsetenv=barebox_setenv \
|
|
-Dgetenv=barebox_getenv -Dprintf=barebox_printf \
|
|
-Dglob=barebox_glob -Dglobfree=barebox_globfree \
|
|
-Dioctl=barebox_ioctl
|
|
|
|
machdirs := $(patsubst %,arch/sandbox/mach-%/,$(machine-y))
|
|
|
|
ifeq ($(KBUILD_SRC),)
|
|
CPPFLAGS += $(patsubst %,-I%include,$(machdirs))
|
|
else
|
|
CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
|
|
endif
|
|
|
|
SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
|
|
-e s/arm.*/arm/ -e s/sa110/arm/ \
|
|
-e s/s390x/s390/ -e s/parisc64/parisc/ \
|
|
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ )
|
|
|
|
ifeq ($(SUBARCH),x86_64)
|
|
ELF_ARCH := i386:x86-64
|
|
ELF_FORMAT := elf64-x86-64
|
|
ELF_CLASS := ELFCLASS64
|
|
endif
|
|
ifeq ($(SUBARCH),i386)
|
|
ELF_ARCH := $(SUBARCH)
|
|
ELF_FORMAT := elf32-$(SUBARCH)
|
|
ELF_CLASS := ELFCLASS32
|
|
endif
|
|
ifeq ($(SUBARCH),powerpc)
|
|
ELF_ARCH := powerpc
|
|
ELF_FORMAT := elf32-powerpc
|
|
ELF_CLASS := ELFCLASS32
|
|
endif
|
|
|
|
CPPFLAGS += -DELF_CLASS="$(ELF_CLASS)"
|
|
export ELF_FORMAT ELF_ARCH SUBARCH ELF_CLASS
|
|
|
|
archprepare: maketools
|
|
|
|
PHONY += maketools
|
|
|
|
cmd_barebox__ = $(CC) -o $@ -Wl,-T,$(barebox-lds) \
|
|
-Wl,--start-group $(barebox-common) -Wl,--end-group \
|
|
-lrt -lpthread
|
|
|
|
common-y += $(BOARD) arch/sandbox/os/
|
|
|
|
CLEAN_FILES += $(BOARD)/barebox.lds
|