# -*- makefile -*-
# Make.inc.in
#
# Version:	$Id: a69a2538d2815d2152c35d79372befb0040726e3 $
#

# Location of files.
prefix		= @prefix@
exec_prefix	= @exec_prefix@
sysconfdir	= @sysconfdir@
localstatedir	= @localstatedir@
libdir		= @libdir@
bindir		= @bindir@
sbindir		= @sbindir@
docdir		= @docdir@
mandir		= @mandir@
datadir		= @datadir@
dictdir		= @dictdir@
logdir		= @logdir@
includedir	= @includedir@

#
#  In some systems, we don't want to over-write ANY configuration.
#  So we do:
#
#	$./configure
#	$ make
#	$ make -Draddbdir=/tmp/garbage install
#
#  and all of the configuration files go into /tmp/garbage
#
ifeq "${raddbdir}" ""
raddbdir	= @raddbdir@
endif
modconfdir	= @modconfdir@
radacctdir	= @radacctdir@
top_builddir	= @abs_top_builddir@
top_build_prefix=@abs_top_builddir@/
top_srcdir	= @abs_top_srcdir@
datarootdir	= @datarootdir@

MAKE		= @MAKE@

# Makeflags set within the makefile appear to be additive and override
# flags set on the command line and the environmental variables
MAKEFLAGS	= @FR_MAKEFLAGS@

CC		= @CC@
RANLIB		= @RANLIB@
INCLUDE		= -I${top_srcdir} -I${top_srcdir}/src \
		  -include ${top_srcdir}/src/freeradius-devel/autoconf.h \
		  -include ${top_srcdir}/src/freeradius-devel/build.h \
		  -include ${top_srcdir}/src/freeradius-devel/features.h \
		  -include ${top_srcdir}/src/freeradius-devel/radpaths.h
CFLAGS		= $(INCLUDE) -fno-strict-aliasing @CFLAGS@
CPPFLAGS	= @CPPFLAGS@
LIBPREFIX	= @LIBPREFIX@
EXEEXT		= @EXEEXT@

LIBTOOL		= JLIBTOOL
ACLOCAL		= @ACLOCAL@
AUTOCONF	= @AUTOCONF@
AUTOHEADER	= @AUTOHEADER@
INSTALL		= ${top_builddir}/install-sh -c
INSTALL_PROGRAM	= ${INSTALL}
INSTALL_DATA	= ${INSTALL} -m 644
INSTALL_SCRIPT	= ${INSTALL_PROGRAM}
INSTALLSTRIP	= @INSTALLSTRIP@

#
#  Linker arguments for libraries searched for by the main
#  configure script.
#
TALLOC_LIBS     = @TALLOC_LIBS@
TALLOC_LDFLAGS  = @TALLOC_LDFLAGS@

OPENSSL_LIBS    = @OPENSSL_LIBS@
OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
OPENSSL_CPPFLAGS = @OPENSSL_CPPFLAGS@

PCAP_LIBS	= @PCAP_LIBS@
PCAP_LDFLAGS    = @PCAP_LDFLAGS@

COLLECTDC_LIBS	= @COLLECTDC_LIBS@
COLLECTDC_LDFLAGS = @COLLECTDC_LDFLAGS@

LCRYPT		= @CRYPTLIB@

#
#  OpenSSL libs (if used) must be linked everywhere in order for
#  the server to work properly on on all platforms.
#
LIBS		= $(OPENSSL_LIBS) $(TALLOC_LIBS) @LIBS@
LDFLAGS		= $(OPENSSL_LDFLAGS) $(TALLOC_LDFLAGS) @LDFLAGS@

LOGDIR		= ${logdir}
RADDBDIR	= ${raddbdir}
RUNDIR		= ${localstatedir}/run/radiusd
SBINDIR		= ${sbindir}
RADIR		= ${radacctdir}
LIBRADIUS	= $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la $(TALLOC_LIBS)

USE_SHARED_LIBS = @USE_SHARED_LIBS@
bm_shared_libs  = @USE_SHARED_LIBS@
USE_STATIC_LIBS = @USE_STATIC_LIBS@
bm_static_libs  = @USE_STATIC_LIBS@

STATIC_MODULES	= @STATIC_MODULES@
LIBREADLINE	= @LIBREADLINE@

#
#  Version to use for packaging and other Make related things
#
RADIUSD_VERSION_STRING = @RADIUSD_VERSION_STRING@

#
#  This allows dlopen to do runtime checks for version mismatches
#  between what it was originally linked with, and the library it's
#  actually loading.
#
MODULES		= @MODULES@
HOSTINFO	= @HOSTINFO@

#
#  If the system has OpenSSL, use it's version of MD4/MD5/SHA1, instead of
#  using ours.
#
#  We don't use OpenSSL SHA1 by default because src/modules/rlm_eap/libeap/fips186prf.c
#  needs access to the SHA internals.
#
ifeq "$(WITH_OPENSSL)" "yes"
CFLAGS		+=  -DWITH_OPENSSL_MD4 -DWITH_OPENSSL_MD5
CPPFLAGS	:= "$(OPENSSL_CPPFLAGS) $(CPPFLAGS)"
endif

OPENSSL_LIBS	= @OPENSSL_LIBS@

ifneq ($(WITH_OPENSSL_MD5),)
LIBRADIUS_WITH_OPENSSL = 1
CFLAGS += -DWITH_OPENSSL_MD5
endif

ifneq ($(WITH_OPENSSL_SHA1),)
LIBRADIUS_WITH_OPENSSL = 1
CFLAGS += -DWITH_OPENSSL_SHA1
endif

ifneq ($(LIBRADIUS_WITH_OPENSSL),)
ifeq ($(OPENSSL_LIBS),)
$(error OPENSSL_LIBS must be define in order to use WITH_OPENSSL_*)
else
LIBRADIUS += $(OPENSSL_LIBS)
endif
endif

# Path to clang, setting this enables the 'scan.*' build targets
# which perform static analysis on various server components.
ANALYZE.c       := @clang_path@

#
#  With shared libs, the test binaries are in a different place
#  AND the method we use to run those binaries changes.
#
ifeq "$(USE_SHARED_LIBS)" "yes"
	TESTBINDIR = ./$(BUILD_DIR)/bin/local
	TESTBIN    =  FR_LIBRARY_PATH=./build/lib/.libs $(JLIBTOOL) --quiet --mode=execute $(TESTBINDIR)
else
	TESTBINDIR = ./$(BUILD_DIR)/bin
	TESTBIN    = ./$(BUILD_DIR)/bin
endif
