Merge pull request #129 from arr2036/master
[freeradius.git] / Make.inc.in
1 # -*- makefile -*-
2 # Make.inc.in
3 #
4 # Version:      $Id$
5 #
6
7 # Location of files.
8 prefix          = @prefix@
9 exec_prefix     = @exec_prefix@
10 sysconfdir      = @sysconfdir@
11 localstatedir   = @localstatedir@
12 libdir          = @libdir@
13 bindir          = @bindir@
14 sbindir         = @sbindir@
15 docdir          = @docdir@
16 mandir          = @mandir@
17 datadir         = @datadir@
18 dictdir         = $(datadir)/freeradius
19 logdir          = @logdir@
20 includedir      = @includedir@
21 raddbdir        = @raddbdir@
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@
27
28 MAKE            = @MAKE@
29 CC              = @CC@
30 RANLIB          = @RANLIB@
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@
34 CPPFLAGS        = @CPPFLAGS@
35 LIBPREFIX       = @LIBPREFIX@
36 EXEEXT          = @EXEEXT@
37
38 LIBTOOL         = @LIBTOOL@
39 ACLOCAL         = @ACLOCAL@
40 AUTOCONF        = @AUTOCONF@
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@
47
48 LCRYPT          = @CRYPTLIB@
49 LIBS            = @LIBS@
50 LDFLAGS         = @LDFLAGS@
51
52 LOGDIR          = ${logdir}
53 RADDBDIR        = ${raddbdir}
54 RUNDIR          = ${localstatedir}/run/radiusd
55 SBINDIR         = ${sbindir}
56 RADIR           = ${radacctdir}
57 LIBRADIUS       = $(top_builddir)/src/lib/$(LIBPREFIX)freeradius-radius.la
58
59 LIBLTDL         = @LIBLTDL@
60 INCLTDL         = @INCLTDL@
61 CFLAGS          += $(INCLTDL)
62
63 #USE_SHARED_LIBS = @USE_SHARED_LIBS@
64 #USE_STATIC_LIBS = @USE_STATIC_LIBS@
65
66 USE_SHARED_LIBS = yes
67 USE_STATIC_LIBS = yes
68 STATIC_MODULES  = @STATIC_MODULES@
69
70 OPENSSL_LIBS    = @OPENSSL_LIBS@
71 OPENSSL_INCLUDE = @OPENSSL_INCLUDE@
72 CFLAGS          += $(OPENSSL_INCLUDE)
73
74 LIBREADLINE     = @LIBREADLINE@
75
76 #
77 #  SQL driver defines
78 #
79 SQL_ODBC_LIBS = @ODBC_LIBS@
80 SQL_ODBC_INCLUDE = @ODBC_INCLUDE@
81
82 RADIUSD_MAJOR_VERSION   = @RADIUSD_MAJOR_VERSION@
83 RADIUSD_MINOR_VERSION   = @RADIUSD_MINOR_VERSION@
84 RADIUSD_INCRM_VERSION   = @RADIUSD_INCRM_VERSION@
85 RADIUSD_VERSION         = @RADIUSD_VERSION@
86 RADIUSD_VERSION_STRING  = @RADIUSD_VERSION_STRING@
87 RADIUSD_VERSION_COMMIT  = @RADIUSD_VERSION_COMMIT@
88
89 MODULES                 = @MODULES@
90 HOSTINFO                = @HOSTINFO@
91
92 ifneq ($(WITH_OPENSSL_MD5),)
93 LIBRADIUS_WITH_OPENSSL = 1
94 CFLAGS += -DWITH_OPENSSL_MD5
95 endif
96
97 ifneq ($(WITH_OPENSSL_SHA1),)
98 LIBRADIUS_WITH_OPENSSL = 1
99 CFLAGS += -DWITH_OPENSSL_SHA1
100 endif
101
102 ifneq ($(LIBRADIUS_WITH_OPENSSL),)
103 ifeq ($(OPENSSL_LIBS),)
104 $(error OPENSSL_LIBS must be define in order to use WITH_OPENSSL_*)
105 else
106 LIBRADIUS += $(OPENSSL_LIBS)
107 endif
108 endif
109
110 #  http://clang.llvm.org/StaticAnalysis.html
111 #
112 #  $ make SCAN=/path/to/checker/ 
113 #
114 ifneq ($(SCAN),)
115 CC              := $(SCAN)/scan-build gcc -DFR_SCAN_BUILD
116 LIBTOOL         := 
117 endif
118
119 #
120 #  Portability cruft.  This is for replacing libtroll && libltdl
121 #  with gcc and dlopen().
122 #
123 ifeq "$(USE_SHARED_LIBS)" "yes"
124 LINK_MODE.exe   = -export-dynamic
125 CFLAGS          += -fPIC
126 else
127 LINK_MODE.exe   = -static
128 endif
129
130 ifneq "$(LIBTOOL)" ""
131 COMPILE.c       := $(LIBTOOL) --quiet --mode=compile $(CC)
132 LINK.lib        := $(LIBTOOL) --quiet --mode=link $(CC) -release $(RADIUSD_VERSION_STRING) -rpath $(libdir) -o
133 LO              := lo
134 LA              := la
135 else
136 COMPILE.c       := $(CC)
137 LO              := o
138
139 ifeq "$(USE_SHARED_LIBS)" "yes"
140 LINK.lib        := $(CC) -shared -o
141 LA              := so
142 else
143 LINK.lib        := $(AR) cru
144 LA              := a
145 endif
146
147 endif
148
149 ifeq "$(LA)" "so"
150 ifneq "$(findstring Darwin,$(shell uname -a))" ""
151 LA              := dylib
152 endif
153 endif
154
155 all: $(top_srcdir)/scripts/jlibtool
156
157 $(top_srcdir)/scripts/jlibtool: $(top_srcdir)/scripts/jlibtool.c
158         $(CC) $^ -o $@
159
160 # Add -module for normal libtool.  It doesn't like building "foo.la"
161 # as a library unless you tell it to shut up, yes, I KNOW this is a module
162 ifeq "$(findstring jlibtool,$(LIBTOOL))" ""
163   RLM_MOD = -module
164 else
165   MOD_RPATH = -rpath $(libdir)
166 endif
167
168 ifeq "$(LIBTOOL)" ""
169 $(error Building FreeRADIUS requires libtool)
170 endif