42 lines
1.5 KiB
Makefile
42 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)
|