Fix minor typos and errors
[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 #
83 #  Make version info available to the build targets and linker
84 #
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@
91
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}\"
97
98 ifdef RADIUSD_VERSION_COMMIT
99 CFLAGS += -DRADIUSD_VERSION_COMMIT=\"${RADIUSD_VERSION_COMMIT}\"
100 endif
101
102 #
103 #  This allows dlopen to do runtime checks for version mistmatches
104 #  between what it was originally linked with, and the library it's
105 #  actually loading.
106 #
107 LDFLAGS += -release=$(RADIUSD_VERSION_STRING)
108
109 MODULES         = @MODULES@
110 HOSTINFO        = @HOSTINFO@
111
112 ifneq ($(WITH_OPENSSL_MD5),)
113 LIBRADIUS_WITH_OPENSSL = 1
114 CFLAGS += -DWITH_OPENSSL_MD5
115 endif
116
117 ifneq ($(WITH_OPENSSL_SHA1),)
118 LIBRADIUS_WITH_OPENSSL = 1
119 CFLAGS += -DWITH_OPENSSL_SHA1
120 endif
121
122 ifneq ($(LIBRADIUS_WITH_OPENSSL),)
123 ifeq ($(OPENSSL_LIBS),)
124 $(error OPENSSL_LIBS must be define in order to use WITH_OPENSSL_*)
125 else
126 LIBRADIUS += $(OPENSSL_LIBS)
127 endif
128 endif
129
130 #  http://clang.llvm.org/StaticAnalysis.html
131 #
132 #  $ make SCAN=/path/to/checker/ 
133 #
134 ifneq ($(SCAN),)
135 CC              := $(SCAN)/scan-build gcc -DFR_SCAN_BUILD
136 LIBTOOL         := 
137 endif
138
139 #
140 #  Portability cruft.  This is for replacing libtroll && libltdl
141 #  with gcc and dlopen().
142 #
143 ifeq "$(USE_SHARED_LIBS)" "yes"
144 LINK_MODE.exe   = -export-dynamic
145 CFLAGS          += -fPIC
146 else
147 LINK_MODE.exe   = -static
148 endif
149
150 ifneq "$(LIBTOOL)" ""
151 COMPILE.c       := $(LIBTOOL) --quiet --mode=compile $(CC) 
152 LINK.lib        := $(LIBTOOL) --quiet --mode=link $(CC) $(LDFLAGS) -rpath $(libdir) -o
153 LO              := lo
154 LA              := la
155 else
156 COMPILE.c       := $(CC)
157 LO              := o
158
159 ifeq "$(USE_SHARED_LIBS)" "yes"
160 LINK.lib        := $(CC) -shared -o
161 LA              := so
162 else
163 LINK.lib        := $(AR) cru
164 LA              := a
165 endif
166
167 endif
168
169 ifeq "$(LA)" "so"
170 ifneq "$(findstring Darwin,$(shell uname -a))" ""
171 LA              := dylib
172 endif
173 endif
174
175 all: $(top_srcdir)/scripts/jlibtool
176
177 $(top_srcdir)/scripts/jlibtool: $(top_srcdir)/scripts/jlibtool.c
178         $(CC) $^ -o $@
179
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))" ""
183   RLM_MOD = -module
184 else
185   MOD_RPATH = -rpath $(libdir)
186 endif
187
188 ifeq "$(LIBTOOL)" ""
189 $(error Building FreeRADIUS requires libtool)
190 endif
191
192 BOILER = @boilermake@