OVMS3/OVMS.V3/components/duktape/Makefile.dukdebug

41 lines
1.5 KiB
Makefile

#
# Duktape command line tool with debugger support.
#
DUKTAPE_SOURCES = prep/duktape.c
# Windows (MinGW): use examples/debug-trans-socket/duk_trans_socket_windows.c
# and link with -lws2_32.
CMDLINE_SOURCES = \
examples/cmdline/duk_cmdline.c \
examples/debug-trans-socket/duk_trans_socket_unix.c
CC = gcc
CCOPTS = -Os -pedantic -std=c99 -Wall -fstrict-aliasing -fomit-frame-pointer
CCOPTS += -I./prep -I./examples/cmdline -I./examples/debug-trans-socket
CCOPTS += -DDUK_CMDLINE_DEBUGGER_SUPPORT # enable --debugger in ./duk
CCLIBS = -lm
# Enable a few optional modules.
CCOPTS += -DDUK_CMDLINE_PRINTALERT_SUPPORT -I./extras/print-alert
CMDLINE_SOURCES += extras/print-alert/duk_print_alert.c
CCOPTS += -DDUK_CMDLINE_CONSOLE_SUPPORT -I./extras/console
CMDLINE_SOURCES += extras/console/duk_console.c
CCOPTS += -DDUK_CMDLINE_LOGGING_SUPPORT -I./extras/logging
CMDLINE_SOURCES += extras/logging/duk_logging.c
CCOPTS += -DDUK_CMDLINE_MODULE_SUPPORT -I./extras/module-duktape
CMDLINE_SOURCES += extras/module-duktape/duk_module_duktape.c
# Use tools/configure.py to prepare Duktape config header and sources with
# custom configuration.
duk: $(CMDLINE_SOURCES)
@rm -rf prep
python2 tools/configure.py \
--source-directory src-input \
--output-directory prep \
--config-metadata config \
-DDUK_USE_DEBUGGER_SUPPORT \
-DDUK_USE_INTERRUPT_COUNTER \
-DDUK_USE_DEBUGGER_DUMPHEAP \
-DDUK_USE_DEBUGGER_INSPECT
$(CC) -o $@ $(DEFINES) $(CCOPTS) $(DUKTAPE_SOURCES) $(CMDLINE_SOURCES) $(CCLIBS)