NAME = demo
LIB  = lib$(NAME).so
SRC  = demo.cpp

all: $(LIB)

.PHONY: all clean run info

$(LIB): $(SRC)
	g++ -g -shared -fPIC $(^) -o $(@)

clean:
	rm -f $(LIB)

run: $(LIB)
	echo "\
	    SELECT 'load_extension',   load_extension('./$(<)'); \
	    SELECT 'get_pid',          get_pid(); \
	    SELECT 'value_count',      value_count(), value_count('a'), value_count('a', 'b'), value_count(1,2,3); \
	    SELECT 'multiply',         multiply(2, 4); \
	" | sqlite3

info: $(LIB)
	nm   $(<)
	ldd  $(<)
	file $(<)
