9 exec_prefix = @exec_prefix@
10 sysconfdir = @sysconfdir@
11 localstatedir = @localstatedir@
20 includedir = @includedir@
23 # In some systems, we don't want to over-write ANY configuration.
28 # $ make -Draddbdir=/tmp/garbage install
30 # and all of the configuration files go into /tmp/garbage
35 modconfdir = @modconfdir@
36 radacctdir = @radacctdir@
37 top_builddir = @abs_top_builddir@
38 top_build_prefix=@abs_top_builddir@/
39 top_srcdir = @abs_top_srcdir@
40 datarootdir = @datarootdir@
44 # Makeflags set within the makefile appear to be additive and override
45 # flags set on the command line and the environmental variables
46 MAKEFLAGS = @FR_MAKEFLAGS@
50 INCLUDE = -I${top_srcdir} -I${top_srcdir}/src \
51 -include ${top_srcdir}/src/freeradius-devel/autoconf.h \
52 -include ${top_srcdir}/src/freeradius-devel/build.h \
53 -include ${top_srcdir}/src/freeradius-devel/features.h \
54 -include ${top_srcdir}/src/freeradius-devel/radpaths.h
55 CFLAGS = $(INCLUDE) -fno-strict-aliasing @CFLAGS@
57 LIBPREFIX = @LIBPREFIX@
63 AUTOHEADER = @AUTOHEADER@
64 INSTALL = ${top_builddir}/install-sh -c
65 INSTALL_PROGRAM = ${INSTALL}
66 INSTALL_DATA = ${INSTALL} -m 644
67 INSTALL_SCRIPT = ${INSTALL_PROGRAM}
68 INSTALLSTRIP = @INSTALLSTRIP@
71 # Linker arguments for libraries searched for by the main
74 TALLOC_LIBS = @TALLOC_LIBS@
75 TALLOC_LDFLAGS = @TALLOC_LDFLAGS@
77 OPENSSL_LIBS = @OPENSSL_LIBS@
78 OPENSSL_LDFLAGS = @OPENSSL_LDFLAGS@
80 PCAP_LIBS = @PCAP_LIBS@
81 PCAP_LDFLAGS = @PCAP_LDFLAGS@
83 COLLECTDC_LIBS = @COLLECTDC_LIBS@
84 COLLECTDC_LDFLAGS = @COLLECTDC_LDFLAGS@
89 # OpenSSL libs (if used) must be linked everywhere in order for
90 # the server to work properly on on all platforms.
92 LIBS = $(OPENSSL_LIBS) $(TALLOC_LIBS) @LIBS@
93 LDFLAGS = $(OPENSSL_LDFLAGS) $(TALLOC_LDFLAGS) @LDFLAGS@
96 RADDBDIR = ${raddbdir}
97 RUNDIR = ${localstatedir}/run/radiusd
100 LIBRADIUS = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la $(TALLOC_LIBS)
102 USE_SHARED_LIBS = @USE_SHARED_LIBS@
103 bm_shared_libs = @USE_SHARED_LIBS@
104 USE_STATIC_LIBS = @USE_STATIC_LIBS@
105 bm_static_libs = @USE_STATIC_LIBS@
107 STATIC_MODULES = @STATIC_MODULES@
108 LIBREADLINE = @LIBREADLINE@
111 # Version to use for packaging and other Make related things
113 RADIUSD_VERSION_STRING = @RADIUSD_VERSION_STRING@
116 # This allows dlopen to do runtime checks for version mismatches
117 # between what it was originally linked with, and the library it's
121 HOSTINFO = @HOSTINFO@
124 # If the system has OpenSSL, use it's version of MD4/MD5/SHA1, instead of
127 # We don't use OpenSSL SHA1 by default because src/modules/rlm_eap/libeap/fips186prf.c
128 # needs access to the SHA internals.
130 ifeq "$(WITH_OPENSSL)" "yes"
131 CFLAGS += -DWITH_OPENSSL_MD4 -DWITH_OPENSSL_MD5
134 OPENSSL_LIBS = @OPENSSL_LIBS@
136 ifneq ($(WITH_OPENSSL_MD5),)
137 LIBRADIUS_WITH_OPENSSL = 1
138 CFLAGS += -DWITH_OPENSSL_MD5
141 ifneq ($(WITH_OPENSSL_SHA1),)
142 LIBRADIUS_WITH_OPENSSL = 1
143 CFLAGS += -DWITH_OPENSSL_SHA1
146 ifneq ($(LIBRADIUS_WITH_OPENSSL),)
147 ifeq ($(OPENSSL_LIBS),)
148 $(error OPENSSL_LIBS must be define in order to use WITH_OPENSSL_*)
150 LIBRADIUS += $(OPENSSL_LIBS)
154 # http://clang.llvm.org/StaticAnalysis.html
156 # $ make SCAN=/path/to/checker/
159 CC := $(SCAN)/scan-build gcc -DFR_SCAN_BUILD
164 # Portability cruft. This is for replacing libtroll && libltdl
165 # with gcc and dlopen().
167 ifeq "$(USE_SHARED_LIBS)" "yes"
168 LINK_MODE.exe = -export-dynamic
171 LINK_MODE.exe = -static
174 ifneq "$(LIBTOOL)" ""
175 COMPILE.c := $(LIBTOOL) --quiet --mode=compile $(CC)
176 LINK.lib := $(LIBTOOL) --quiet --mode=link $(CC) -rpath $(libdir) -o
183 ifeq "$(USE_SHARED_LIBS)" "yes"
184 LINK.lib := $(CC) -shared -o
187 LINK.lib := $(AR) cru
194 ifneq "$(findstring Darwin,$(shell uname -a))" ""
199 # Path to clang, setting this enables the 'scan.*' build targets
200 # which perform static analysis on various server components.
201 ANALYZE.c := @clang_path@
204 ifeq "${ANALYZE.c}" ""
210 # With shared libs, the test binaries are in a different place
211 # AND the method we use to run those binaries changes.
213 ifeq "$(USE_SHARED_LIBS)" "yes"
214 TESTBINDIR = ./$(BUILD_DIR)/bin/local
215 TESTBIN = $(JLIBTOOL) --quiet --mode=execute $(TESTBINDIR)
217 TESTBINDIR = ./$(BUILD_DIR)/bin
218 TESTBIN = ./$(BUILD_DIR)/bin