SUBDIRS = \
	gsupclient \
	mslookup \
	$(NULL)

AM_CFLAGS = \
	-Wall \
	$(LIBOSMOCORE_CFLAGS) \
	$(LIBOSMOGSM_CFLAGS) \
	$(LIBOSMOVTY_CFLAGS) \
	$(LIBOSMOCTRL_CFLAGS) \
	$(LIBOSMOABIS_CFLAGS) \
	$(SQLITE3_CFLAGS) \
	$(NULL)

AM_CPPFLAGS = -I$(top_srcdir)/include \
	-I$(top_builddir)/include \
	$(NULL)

EXTRA_DIST = \
	populate_hlr_db.pl \
	db_sql2c.sed \
	$(NULL)

BUILT_SOURCES = \
	db_bootstrap.h \
	$(NULL)
CLEANFILES = $(BUILT_SOURCES)

noinst_HEADERS = \
	db_bootstrap.h \
	$(NULL)

bin_PROGRAMS = \
	osmo-hlr \
	osmo-hlr-db-tool \
	osmo-euse-demo \
	$(NULL)

osmo_hlr_SOURCES = \
	auc.c \
	ctrl.c \
	db.c \
	db_auc.c \
	db_hlr.c \
	gsup_router.c \
	gsup_server.c \
	hlr.c \
	logging.c \
	rand_urandom.c \
	hlr_vty.c \
	hlr_vty_subscr.c \
	gsup_send.c \
	hlr_ussd.c \
	lu_fsm.c \
	$(NULL)

osmo_hlr_LDADD = \
	$(top_builddir)/src/gsupclient/libosmo-gsup-client.la \
	$(LIBOSMOCORE_LIBS) \
	$(LIBOSMOGSM_LIBS) \
	$(LIBOSMOVTY_LIBS) \
	$(LIBOSMOCTRL_LIBS) \
	$(LIBOSMOABIS_LIBS) \
	$(SQLITE3_LIBS) \
	$(NULL)

osmo_hlr_db_tool_SOURCES = \
	hlr_db_tool.c \
	db.c \
	db_hlr.c \
	logging.c \
	rand_urandom.c \
	dbd_decode_binary.c \
	$(srcdir)/gsupclient/cni_peer_id.c \
	$(NULL)

osmo_hlr_db_tool_LDADD = \
	$(LIBOSMOCORE_LIBS) \
	$(LIBOSMOGSM_LIBS) \
	$(SQLITE3_LIBS) \
	$(NULL)

osmo_euse_demo_SOURCES = \
	osmo-euse-demo.c \
	$(NULL)

osmo_euse_demo_LDADD = \
	$(top_builddir)/src/gsupclient/libosmo-gsup-client.la \
	$(LIBOSMOCORE_LIBS) \
	$(LIBOSMOGSM_LIBS) \
	$(NULL)

if DB_SQLITE_DEBUG
osmo_hlr_SOURCES += db_debug.c
osmo_hlr_db_tool_SOURCES += db_debug.c
endif

BOOTSTRAP_SQL = $(top_srcdir)/sql/hlr.sql

db_bootstrap.h: $(BOOTSTRAP_SQL) $(srcdir)/db_sql2c.sed
	echo "/* DO NOT EDIT THIS FILE. It is generated from files in osmo-hlr.git/sql/ */" > "$@"
	echo "#pragma once" >> "$@"
	echo "static const char *stmt_bootstrap_sql[] = {" >> "$@"
	cat "$(BOOTSTRAP_SQL)" \
		| sed -f "$(srcdir)/db_sql2c.sed" \
		>> "$@"
	echo "};" >> "$@"
