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_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
ifeq ($(CONFIG_QEMU_MENU_SCREENSHOTS),y)
CFLAGS += -DCONFIG_QEMU_MENU_SCREENSHOTS
endif
ML_OBJS-y += \
qemu-util.o
endif # CONFIG_QEMU
ifeq ($(CONFIG_TINYPY),y)
LFLAGS += \
-u pow \
-u qsort \
-u strstr \
-u atof
endif
ifeq ($(CONFIG_LVAPP_HACK_RELOC),y)
ML_OBJS-y += \
liveview.o \
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