#
#  Example Makefile for building a program with embedded Duktape.
#  The example program here is the Duktape command line tool.
#

DUKTAPE_SOURCES = src/duktape.c

DUKTAPE_CMDLINE_SOURCES = \
	examples/cmdline/duk_cmdline.c

CC	= gcc
CCOPTS	= -Os -pedantic -std=c99 -Wall -fstrict-aliasing -fomit-frame-pointer
CCOPTS += -I./src   # duktape.h and duk_config.h must be in include path
CCLIBS	= -lm

# If you want linenoise, you can enable these.  At the moment linenoise
# will cause some harmless compilation warnings.
#CCOPTS += -DDUK_CMDLINE_FANCY
#DUKTAPE_CMDLINE_SOURCES += linenoise/linenoise.c
#CCOPTS += -I./linenoise
#duk:	linenoise

# Optional feature defines, see: http://duktape.org/guide.html#compiling
CCOPTS += -DDUK_OPT_SELF_TESTS
#CCOPTS += -DDUK_OPT_DEBUG
#CCOPTS += -DDUK_OPT_DPRINT
# ...

duk:	$(DUKTAPE_SOURCES) $(DUKTAPE_CMDLINE_SOURCES)
	$(CC) -o $@ $(DEFINES) $(CCOPTS) $(DUKTAPE_SOURCES) $(DUKTAPE_CMDLINE_SOURCES) $(CCLIBS)

linenoise/linenoise.c: linenoise
linenoise:
	git clone https://github.com/antirez/linenoise.git
