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 \
	$(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 "};" >> "$@"
