summaryrefslogtreecommitdiffstats
path: root/arch/sandbox/Makefile
blob: b7470c3330ebc24f09dd8d4b778371676c9b60b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
KBUILD_DEFCONFIG := sandbox_defconfig

CPPFLAGS += -D__SANDBOX__ -fno-strict-aliasing -fvisibility=hidden


machine-y := sandbox

board-y := arch/sandbox/board
BOARD	:= $(board-y)/
lds-y   := $(BOARD)/barebox.lds


TEXT_BASE = $(CONFIG_TEXT_BASE)
CFLAGS += -Dmalloc=barebox_malloc -Dcalloc=barebox_calloc \
		-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 -Dfstat=barebox_fstat \
		-Dopendir=barebox_opendir -Dreaddir=barebox_readdir \
		-Dclosedir=barebox_closedir \
		-Doptarg=barebox_optarg -Doptind=barebox_optind

machdirs := $(patsubst %,arch/sandbox/mach-%/,$(machine-y))

ifeq ($(KBUILD_SRC),)
CPPFLAGS += $(patsubst %,-I%include,$(machdirs))
else
CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
endif

archprepare: maketools

PHONY += maketools

ifeq ($(CONFIG_DRIVER_VIDEO_SDL),y)
SDL_LIBS := $(shell pkg-config sdl --libs)
endif

ifeq ($(CONFIG_GPIO_LIBFTDI1),y)
FTDI1_LIBS := $(shell pkg-config libftdi1 --libs)
endif

ifeq ($(CONFIG_KASAN),y)
CPPFLAGS += -fsanitize=address
SANITIZER_LIBS += -fsanitize=address
endif

ifeq ($(CONFIG_UBSAN),y)
SANITIZER_LIBS += -fsanitize=undefined
endif

cmd_barebox__ = $(CC) -o $@ -Wl,-T,$(BAREBOX_LDS) \
	-Wl,--start-group $(BAREBOX_OBJS) -Wl,--end-group \
	-lrt -lpthread $(SDL_LIBS) $(FTDI1_LIBS) \
	$(SANITIZER_LIBS)

common-y += $(BOARD) arch/sandbox/os/ arch/sandbox/lib/

common-$(CONFIG_OFTREE) += arch/sandbox/dts/

CLEAN_FILES += $(BOARD)/barebox.lds