X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=Make.inc.in;h=a69292e333a3fdbadb0636d1d5a536d79e0e266b;hb=e22ff46e0eafa1db34e27f772fa238d7cd412b63;hp=854badede61d46a7aaf246783b9184306b2501c9;hpb=1561490a3b164c39224ee0cff770589e7a6b4b6c;p=freeradius.git diff --git a/Make.inc.in b/Make.inc.in index 854bade..a69292e 100644 --- a/Make.inc.in +++ b/Make.inc.in @@ -15,10 +15,24 @@ sbindir = @sbindir@ docdir = @docdir@ mandir = @mandir@ datadir = @datadir@ -dictdir = $(datadir)/freeradius +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@/ @@ -26,15 +40,24 @@ 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 = -CFLAGS = $(INCLUDE) @CFLAGS@ +INCLUDE = -I. -Isrc \ + -include src/freeradius-devel/autoconf.h \ + -include src/freeradius-devel/build.h \ + -include src/freeradius-devel/features.h \ + -include src/freeradius-devel/radpaths.h +CFLAGS = $(INCLUDE) -fno-strict-aliasing @CFLAGS@ CPPFLAGS = @CPPFLAGS@ LIBPREFIX = @LIBPREFIX@ EXEEXT = @EXEEXT@ -LIBTOOL = @LIBTOOL@ +LIBTOOL = JLIBTOOL ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -44,42 +67,75 @@ 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@ -LIBS = @LIBS@ -LDFLAGS = @LDFLAGS@ + +# +# 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 - -LIBLTDL = @LIBLTDL@ -INCLTDL = @INCLTDL@ -LTDL_SUBDIRS = @LTDL_SUBDIRS@ +LIBRADIUS = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la $(TALLOC_LIBS) -USE_SHARED_LIBS = @USE_SHARED_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@ -OPENSSL_LIBS = @OPENSSL_LIBS@ -OPENSSL_INCLUDE = @OPENSSL_INCLUDE@ +WITH_DHCP = @WITH_DHCP@ -LIBREADLINE = @LIBREADLINE@ +# +# Version to use for packaging and other Make related things +# +RADIUSD_VERSION_STRING = @RADIUSD_VERSION_STRING@ # -# SQL driver defines +# This allows dlopen to do runtime checks for version mismatches +# between what it was originally linked with, and the library it's +# actually loading. # -SQL_ODBC_LIBS = @ODBC_LIBS@ -SQL_ODBC_INCLUDE = @ODBC_INCLUDE@ +MODULES = @MODULES@ +HOSTINFO = @HOSTINFO@ -RADIUSD_MAJOR_VERSION = @RADIUSD_MAJOR_VERSION@ -RADIUSD_MINOR_VERSION = @RADIUSD_MINOR_VERSION@ -RADIUSD_VERSION = @RADIUSD_VERSION@ +# +# 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 -MODULES = @MODULES@ -HOSTINFO = @HOSTINFO@ +OPENSSL_LIBS = @OPENSSL_LIBS@ ifneq ($(WITH_OPENSSL_MD5),) LIBRADIUS_WITH_OPENSSL = 1 @@ -99,11 +155,18 @@ LIBRADIUS += $(OPENSSL_LIBS) endif endif -# http://clang.llvm.org/StaticAnalysis.html +# Path to clang, setting this enables the 'scan.*' build targets +# which perform static analysis on various server components. +ANALYZE.c := @clang_path@ + # -# $ make SCAN=/path/to/checker/ +# With shared libs, the test binaries are in a different place +# AND the method we use to run those binaries changes. # -ifneq ($(SCAN),) -CC := $(SCAN)/scan-build gcc -DFR_SCAN_BUILD -LIBTOOL := +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