libdir = @libdir@
bindir = @bindir@
sbindir = @sbindir@
+docdir = @docdir@
mandir = @mandir@
datadir = @datadir@
dictdir = $(datadir)/freeradius
logdir = @logdir@
+includedir = @includedir@
raddbdir = @raddbdir@
radacctdir = @radacctdir@
top_builddir = @abs_top_builddir@
-top_srcdir = @top_srcdir@
+top_build_prefix=@abs_top_builddir@/
+top_srcdir = @abs_top_srcdir@
+datarootdir = @datarootdir@
MAKE = @MAKE@
CC = @CC@
RANLIB = @RANLIB@
-INCLUDE =
-CFLAGS = $(INCLUDE) @CFLAGS@ @LFS_CFLAGS@
+INCLUDE = -I${top_srcdir} -I${top_srcdir}/src
+CFLAGS = $(INCLUDE) @CFLAGS@
CPPFLAGS = @CPPFLAGS@
LIBPREFIX = @LIBPREFIX@
-EXEEXT = @EXEEXT@
+EXEEXT = @EXEEXT@
LIBTOOL = @LIBTOOL@
ACLOCAL = @ACLOCAL@
INSTALLSTRIP = @INSTALLSTRIP@
LCRYPT = @CRYPTLIB@
-LIBS = @LIBS@ @LFS_LIBS@
-LDFLAGS = @LDFLAGS@ @LFS_LDFLAGS@
+LIBS = @LIBS@
+LDFLAGS = @LDFLAGS@
LOGDIR = ${logdir}
RADDBDIR = ${raddbdir}
RUNDIR = ${localstatedir}/run/radiusd
SBINDIR = ${sbindir}
RADIR = ${radacctdir}
+LIBRADIUS = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la
LIBLTDL = @LIBLTDL@
-LIBLTDLPATH = @LIBLTDLPATH@
INCLTDL = @INCLTDL@
+LTDL_SUBDIRS = @LTDL_SUBDIRS@
+CFLAGS += $(INCLTDL)
USE_SHARED_LIBS = @USE_SHARED_LIBS@
USE_STATIC_LIBS = @USE_STATIC_LIBS@
STATIC_MODULES = @STATIC_MODULES@
-SNMP_INCLUDE = @SNMP_INCLUDE@
-SNMP_LIBS = @SNMP_LIBS@
-
OPENSSL_LIBS = @OPENSSL_LIBS@
OPENSSL_INCLUDE = @OPENSSL_INCLUDE@
+LIBREADLINE = @LIBREADLINE@
+
#
# SQL driver defines
#
MODULES = @MODULES@
HOSTINFO = @HOSTINFO@
+
+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
+
+# http://clang.llvm.org/StaticAnalysis.html
+#
+# $ make SCAN=/path/to/checker/
+#
+ifneq ($(SCAN),)
+CC := $(SCAN)/scan-build gcc -DFR_SCAN_BUILD
+LIBTOOL :=
+endif
+
+#
+# Portability cruft. This is for replacing libtroll && libltdl
+# with gcc and dlopen().
+#
+ifeq "$(USE_SHARED_LIBS)" "yes"
+LINK_MODE.exe = -export-dynamic
+CFLAGS += -fPIC
+else
+LINK_MODE.exe = -static
+endif
+
+ifneq "$(LIBTOOL)" ""
+COMPILE.c := $(LIBTOOL) --quiet --mode=compile $(CC)
+LINK.lib := $(LIBTOOL) --quiet --mode=link $(CC) -release $(RADIUSD_VERSION) -rpath $(libdir) -o
+LO := lo
+LA := la
+else
+COMPILE.c := $(CC)
+LO := o
+
+ifeq "$(USE_SHARED_LIBS)" "yes"
+LINK.lib := $(CC) -shared -o
+LA := so
+else
+LINK.lib := $(AR) cru
+LA := a
+endif
+
+endif
+
+ifeq "$(LA)" "so"
+ifneq "$(findstring Darwin,$(shell uname -a))" ""
+LA := dylib
+endif
+endif