9 exec_prefix = @exec_prefix@
10 sysconfdir = @sysconfdir@
11 localstatedir = @localstatedir@
18 dictdir = $(datadir)/freeradius
20 includedir = @includedir@
22 radacctdir = @radacctdir@
23 top_builddir = @abs_top_builddir@
24 top_build_prefix=@abs_top_builddir@/
25 top_srcdir = @abs_top_srcdir@
26 datarootdir = @datarootdir@
31 IMACROS = -imacros ${top_srcdir}/src/freeradius-devel/autoconf.h -imacros ${top_srcdir}/src/freeradius-devel/features.h
32 INCLUDE = -I${top_srcdir} -I${top_srcdir}/src
33 CFLAGS = $(IMACROS) $(INCLUDE) @CFLAGS@
35 LIBPREFIX = @LIBPREFIX@
41 AUTOHEADER = @AUTOHEADER@
42 INSTALL = ${top_builddir}/install-sh -c
43 INSTALL_PROGRAM = ${INSTALL}
44 INSTALL_DATA = ${INSTALL} -m 644
45 INSTALL_SCRIPT = ${INSTALL_PROGRAM}
46 INSTALLSTRIP = @INSTALLSTRIP@
53 RADDBDIR = ${raddbdir}
54 RUNDIR = ${localstatedir}/run/radiusd
57 LIBRADIUS = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la
63 #USE_SHARED_LIBS = @USE_SHARED_LIBS@
64 #USE_STATIC_LIBS = @USE_STATIC_LIBS@
68 STATIC_MODULES = @STATIC_MODULES@
70 OPENSSL_LIBS = @OPENSSL_LIBS@
71 OPENSSL_INCLUDE = @OPENSSL_INCLUDE@
72 CFLAGS += $(OPENSSL_INCLUDE)
74 LIBREADLINE = @LIBREADLINE@
79 SQL_ODBC_LIBS = @ODBC_LIBS@
80 SQL_ODBC_INCLUDE = @ODBC_INCLUDE@
83 # Make version info available to the build targets and linker
85 RADIUSD_MAJOR_VERSION = @RADIUSD_MAJOR_VERSION@
86 RADIUSD_MINOR_VERSION = @RADIUSD_MINOR_VERSION@
87 RADIUSD_INCRM_VERSION = @RADIUSD_INCRM_VERSION@
88 RADIUSD_VERSION = @RADIUSD_VERSION@
89 RADIUSD_VERSION_STRING = @RADIUSD_VERSION_STRING@
90 RADIUSD_VERSION_COMMIT = @RADIUSD_VERSION_COMMIT@
92 CFLAGS += -DRADIUSD_MAJOR_VERSION=\"${RADIUSD_MAJOR_VERSION}\"
93 CFLAGS += -DRADIUSD_MINOR_VERSION=\"${RADIUSD_MINOR_VERSION}\"
94 CFLAGS += -DRADIUSD_INCRM_VERSION=\"${RADIUSD_INCRM_VERSION}\"
95 CFLAGS += -DRADIUSD_VERSION=\"${RADIUSD_VERSION}\"
96 CFLAGS += -DRADIUSD_VERSION_STRING=\"${RADIUSD_VERSION_STRING}\"
98 ifdef RADIUSD_VERSION_COMMIT
99 CFLAGS += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
103 # This allows dlopen to do runtime checks for version mistmatches
104 # between what it was originally linked with, and the library it's
107 LDFLAGS += -release=$(RADIUSD_VERSION_STRING)
110 HOSTINFO = @HOSTINFO@
112 ifneq ($(WITH_OPENSSL_MD5),)
113 LIBRADIUS_WITH_OPENSSL = 1
114 CFLAGS += -DWITH_OPENSSL_MD5
117 ifneq ($(WITH_OPENSSL_SHA1),)
118 LIBRADIUS_WITH_OPENSSL = 1
119 CFLAGS += -DWITH_OPENSSL_SHA1
122 ifneq ($(LIBRADIUS_WITH_OPENSSL),)
123 ifeq ($(OPENSSL_LIBS),)
124 $(error OPENSSL_LIBS must be define in order to use WITH_OPENSSL_*)
126 LIBRADIUS += $(OPENSSL_LIBS)
130 # http://clang.llvm.org/StaticAnalysis.html
132 # $ make SCAN=/path/to/checker/
135 CC := $(SCAN)/scan-build gcc -DFR_SCAN_BUILD
140 # Portability cruft. This is for replacing libtroll && libltdl
141 # with gcc and dlopen().
143 ifeq "$(USE_SHARED_LIBS)" "yes"
144 LINK_MODE.exe = -export-dynamic
147 LINK_MODE.exe = -static
150 ifneq "$(LIBTOOL)" ""
151 COMPILE.c := $(LIBTOOL) --quiet --mode=compile $(CC)
152 LINK.lib := $(LIBTOOL) --quiet --mode=link $(CC) $(LDFLAGS) -rpath $(libdir) -o
159 ifeq "$(USE_SHARED_LIBS)" "yes"
160 LINK.lib := $(CC) -shared -o
163 LINK.lib := $(AR) cru
170 ifneq "$(findstring Darwin,$(shell uname -a))" ""
175 all: $(top_srcdir)/scripts/jlibtool
177 $(top_srcdir)/scripts/jlibtool: $(top_srcdir)/scripts/jlibtool.c
180 # Add -module for normal libtool. It doesn't like building "foo.la"
181 # as a library unless you tell it to shut up, yes, I KNOW this is a module
182 ifeq "$(findstring jlibtool,$(LIBTOOL))" ""
185 MOD_RPATH = -rpath $(libdir)
189 $(error Building FreeRADIUS requires libtool)
192 BOILER = @boilermake@