https://bitbucket.org/daniel_fort/magic-lantern
Raw File
Tip revision: 107aa7fdc0732f83c9f2996649523749898a549c authored by Daniel Fort on 01 May 2018, 19:47:47 UTC
Closed branch update-to-1200D.102-wip
Tip revision: 107aa7f
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

qemu-helper: qemu-helper.o stubs.o
	$(call build,LD,$(LD) \
		-o $@ \
		-nostdlib \
		-e _start \
		-Ttext 0x30000000 \
		$^ \
	); \

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
back to top