X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=Make.inc.in;h=6950044e431abe1f56c32fa41d96cf844be12ed3;hb=refs%2Fheads%2Feap-chbind2;hp=886d90e071b458e0ce62b4fdef4a1e0cf99ff018;hpb=ab3947f8ed85847d01a1fc139c4b3d71588b0ee3;p=freeradius.git diff --git a/Make.inc.in b/Make.inc.in index 886d90e..6950044 100644 --- a/Make.inc.in +++ b/Make.inc.in @@ -21,18 +21,26 @@ includedir = @includedir@ raddbdir = @raddbdir@ 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 = @MAKEFLAGS@ + CC = @CC@ RANLIB = @RANLIB@ -INCLUDE = -CFLAGS = $(INCLUDE) @CFLAGS@ +IMACROS = -imacros ${top_srcdir}/src/freeradius-devel/autoconf.h -imacros ${top_srcdir}/src/freeradius-devel/features.h +INCLUDE = -I${top_srcdir} -I${top_srcdir}/src +CFLAGS = $(IMACROS) $(INCLUDE) -fno-strict-aliasing @CFLAGS@ CPPFLAGS = @CPPFLAGS@ LIBPREFIX = @LIBPREFIX@ EXEEXT = @EXEEXT@ -LIBTOOL = @LIBTOOL@ +LIBTOOL = JLIBTOOL ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -51,31 +59,35 @@ RADDBDIR = ${raddbdir} RUNDIR = ${localstatedir}/run/radiusd SBINDIR = ${sbindir} RADIR = ${radacctdir} -LIBRADIUS = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la +LIBRADIUS = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la -l talloc -LIBLTDL = @LIBLTDL@ -INCLTDL = @INCLTDL@ -LTDL_SUBDIRS = @LTDL_SUBDIRS@ +#USE_SHARED_LIBS = @USE_SHARED_LIBS@ +#USE_STATIC_LIBS = @USE_STATIC_LIBS@ -USE_SHARED_LIBS = @USE_SHARED_LIBS@ -USE_STATIC_LIBS = @USE_STATIC_LIBS@ +USE_SHARED_LIBS = yes +USE_STATIC_LIBS = yes STATIC_MODULES = @STATIC_MODULES@ OPENSSL_LIBS = @OPENSSL_LIBS@ OPENSSL_INCLUDE = @OPENSSL_INCLUDE@ +CFLAGS += $(OPENSSL_INCLUDE) + +LIBREADLINE = @LIBREADLINE@ # -# SQL driver defines +# Version to use for packaging and other Make related things # -SQL_ODBC_LIBS = @ODBC_LIBS@ -SQL_ODBC_INCLUDE = @ODBC_INCLUDE@ +RADIUSD_VERSION_STRING = @RADIUSD_VERSION_STRING@ -RADIUSD_MAJOR_VERSION = @RADIUSD_MAJOR_VERSION@ -RADIUSD_MINOR_VERSION = @RADIUSD_MINOR_VERSION@ -RADIUSD_VERSION = @RADIUSD_VERSION@ +# +# This allows dlopen to do runtime checks for version mistmatches +# between what it was originally linked with, and the library it's +# actually loading. +# +#LDFLAGS += -release=$(RADIUSD_VERSION_STRING) -MODULES = @MODULES@ -HOSTINFO = @HOSTINFO@ +MODULES = @MODULES@ +HOSTINFO = @HOSTINFO@ ifneq ($(WITH_OPENSSL_MD5),) LIBRADIUS_WITH_OPENSSL = 1 @@ -94,3 +106,48 @@ 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) -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