https://bitbucket.org/hudson/magic-lantern
Raw File
Tip revision: 3c8ed7d6cda1a2c21294add1866d7d3f47dc0941 authored by alex@thinkpad on 24 September 2018, 10:00:01 UTC
io_trace: fix crash with CONFIG_QEMU
Tip revision: 3c8ed7d
Makefile.src.config
#
# Here are Magic Lantern Core additional CONFIG_ defines
#

ifeq ($(CONFIG_PIC), y)
CFLAGS += -fPIC -DPOSITION_INDEPENDENT
AFLAGS += -fPIC -DPOSITION_INDEPENDENT
LFLAGS += -fPIC
# fixme: dietlib with -fPIC
endif

ifeq ($(CONFIG_GDB),y)
CFLAGS += -DCONFIG_GDB

ML_OBJS-y += \
	gdb.o
endif

ifeq ($(CONFIG_GDBSTUB),y)
CFLAGS += -DCONFIG_GDB -DCONFIG_GDBSTUB
endif

ifeq ($(CONFIG_DEBUG_INTERCEPT),y)
CFLAGS += -DCONFIG_DEBUG_INTERCEPT
ML_OBJS-y += \
	dm-spy.o \
	dm-spy-extra.o
endif

ifeq ($(CONFIG_DEBUG_INTERCEPT_STARTUP),y)
CFLAGS += -DCONFIG_DEBUG_INTERCEPT -DCONFIG_DEBUG_INTERCEPT_STARTUP
ML_OBJS-y += \
	dm-spy.o \
	dm-spy-extra.o
endif

ifeq ($(CONFIG_DEBUG_INTERCEPT_STARTUP_BLINK),y)
CFLAGS += -DCONFIG_DEBUG_INTERCEPT -DCONFIG_DEBUG_INTERCEPT_STARTUP -DCONFIG_DEBUG_INTERCEPT_STARTUP_BLINK
ML_OBJS-y += \
	dm-spy.o \
	dm-spy-extra.o \
	blink.o
endif

ifeq ($(CONFIG_MMIO_TRACE),y)
CFLAGS += -DCONFIG_MMIO_TRACE
ML_OBJS-y += \
	io_trace.o
endif

ifeq ($(CONFIG_PTP),y)
CFLAGS += -DCONFIG_PTP

ML_OBJS-y += \
	ptp.o
endif

ML_OBJS-$(CONFIG_PTP_CHDK) += \
	ptp-chdk.o

ML_OBJS-$(CONFIG_PTP_ML) += \
	ptp-ml.o

ifeq ($(CONFIG_CONSOLE),y)
CFLAGS += -DCONFIG_CONSOLE

ML_OBJS-y += \
	console.o
endif

ifeq ($(CONFIG_TCC),y)
ifneq ($(CONFIG_CONSOLE),y)
$(error CONFIG_TCC requires CONFIG_CONSOLE = y, please enable it)
endif
CFLAGS += -DCONFIG_TCC

ML_OBJS-y += \
	tcc-glue.o \
	$(TOP_DIR)/tcc/libtccx.o
endif

ifeq ($(CONFIG_MODULES),y)
ifneq ($(CONFIG_TCC),y)
$(error CONFIG_MODULES requires CONFIG_TCC = y, please enable it)
endif
CFLAGS += -DCONFIG_MODULES

ML_OBJS-y += \
	module.o

ML_MODULES_SYM_NAME ?= $(MODEL)_$(FW_VERSION).sym

CFLAGS += -DCONFIG_MODULES_MODEL_SYM=\"$(ML_MODULES_SYM_NAME)\"

$(ML_MODULES_SYM_NAME): magiclantern.sym
	$(call build,CP,$(CP) magiclantern.sym $(ML_MODULES_SYM_NAME))

all:: $(ML_MODULES_SYM_NAME)

install:: prepare_install_dir $(ML_MODULES_SYM_NAME)
	$(call build,CP,$(CP) $(ML_MODULES_SYM_NAME) $(INSTALL_MODULES_DIR)/)

clean::
	$(call rm_files, $(ML_MODULES_SYM_NAME) magiclantern.sym)

endif

ifeq ($(CONFIG_QEMU),y)
CFLAGS += -DCONFIG_QEMU
endif # CONFIG_QEMU

ifeq ($(CONFIG_TINYPY),y)
LFLAGS += \
	-u pow \
	-u qsort \
	-u strstr \
	-u atof
endif

ifeq ($(CONFIG_ALLOCATE_MEMORY_POOL),y)
ML_OBJS-y += \
	reloc.o 
endif

ifeq ($(CONFIG_RELOC),y)
ML_OBJS-y += \
	reloc.o 
endif

# force some common functions not used in core, but required by modules
LFLAGS += \
	-u strcasecmp \
	-u memmove \
	-u strstr \
	-u strtof \
	-u log10f \
	-u log2f \
	-u localeconv \
	-u asinf \
	-u strerror \
	-u strpbrk \
	-u ceilf \
	-u tanf \
	-u strspn \
	-u fmodf \
	-u acosf \
	-u atan2f \
	-u expf \
	-u memchr \
	-u frexpf
back to top