SUBDIRS = \
	gsupclient \
	mslookup \
	$(NULL)

AM_CFLAGS = \
	-Wall \
	$(LIBOSMOCORE_CFLAGS) \
	$(LIBOSMOGSM_CFLAGS) \
	$(LIBOSMOVTY_CFLAGS) \
	$(LIBOSMOCTRL_CFLAGS) \
	$(LIBOSMOMSLOOKUP_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 \
	proxy.c \
	dgsm.c \
	remote_hlr.c \
	lu_fsm.c \
	timestamp.c \
	mslookup_server.c \
	mslookup_server_mdns.c \
	dgsm_vty.c \
	sms_over_gsup.c \
	$(NULL)

osmo_hlr_LDADD = \
	$(top_builddir)/src/gsupclient/libosmo-gsup-client.la \
	$(top_builddir)/src/mslookup/libosmo-mslookup.la \
	$(LIBOSMOCORE_LIBS) \
	$(LIBOSMOGSM_LIBS) \
	$(LIBOSMOVTY_LIBS) \
	$(LIBOSMOCTRL_LIBS) \
	$(LIBOSMOMSLOOKUP_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/gsup_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 "};" >> "$@"
