This is the "configurable failover" patch, providing a more flexible
[freeradius.git] / src / main / Makefile
1 #
2 # $Id$
3 #
4
5 include ../../Make.inc
6
7 SERVER_OBJS     = radiusd.o files.o util.o acct.o nas.o log.o valuepair.o \
8                   version.o proxy.o exec.o auth.o timestr.o conffile.o \
9                   modules.o modcall.o radutmp.o xlat.o threads.o smux.o \
10                   radius_snmp.o client.o request_list.o
11 INCLUDES        = ../include/radiusd.h ../include/conf.h ../include/autoconf.h 
12
13 CFLAGS          += -I../include
14 LDFLAGS         += -L../lib
15 LIBS            += -lradius 
16 MODULE_LIBS     = $(STATIC_MODULES)
17
18 #
19 #  Not using shared libraries, add in ALL known static modules
20 # at build time.
21 #
22 ifneq ($(USE_SHARED_LIBS),yes)
23 MODULE_LIBS     += $(shell for x in ../modules/rlm_*/rlm_*.la;do echo -dlpreopen $$x;done)
24 endif
25
26 all:    radiusd radwho radzap raduse radclient
27
28 radiusd: $(SERVER_OBJS) ../lib/libradius.a
29         $(LIBTOOL) --mode=link $(CC) -export-dynamic -dlopen self \
30                 $(CFLAGS) $(LDFLAGS) -o $@ \
31                 $(SERVER_OBJS) $(LIBS) $(LCRYPT) \
32                 $(PTHREADLIB) $(LIBLTDL) $(MODULE_LIBS) 
33
34 radiusd.o: radiusd.c $(INCLUDES)  ../include/request_list.h ../include/modules.h ../include/modcall.h ../include/modpriv.h
35         $(CC) $(CFLAGS) -c radiusd.c
36
37 acct.o: acct.c $(INCLUDES) ../include/modules.h
38         $(CC) $(CFLAGS) -c acct.c
39
40 files.o: files.c $(INCLUDES)
41         $(CC) $(CFLAGS) -c files.c
42
43 util.o: util.c $(INCLUDES)
44         $(CC) $(CFLAGS) -c util.c
45
46 nas.o:  nas.c $(INCLUDES)
47         $(CC) $(CFLAGS) -c nas.c
48
49 log.o:  log.c $(INCLUDES)
50         $(CC) $(CFLAGS) -c log.c
51
52 conffile.o: conffile.c $(INCLUDES) ../include/modules.h
53         $(CC) $(CFLAGS) -c conffile.c
54
55 timestr.o: timestr.c $(INCLUDES)
56         $(CC) $(CFLAGS) -c timestr.c
57
58 modules.o:  modules.c $(INCLUDES)
59         $(CC) $(CFLAGS) $(INCLTDL) -c modules.c
60
61 modcall.o:  modcall.c $(INCLUDES)
62         $(CC) $(CFLAGS) $(INCLTDL) -c modcall.c
63
64 radutmp.o:  radutmp.c $(INCLUDES)
65         $(CC) $(CFLAGS) -c radutmp.c
66
67 session.o:  session.c $(INCLUDES) ../include/modules.h
68         $(CC) $(CFLAGS) -c session.c
69
70 request_list.o:  request_list.c $(INCLUDES)
71         $(CC) $(CFLAGS) -c request_list.c
72
73 request_tree.o:  request_tree.c $(INCLUDES)
74         $(CC) $(CFLAGS) -c request_tree.c
75
76 proxy.o:  proxy.c $(INCLUDES)
77         $(CC) $(CFLAGS) -c proxy.c
78
79 exec.o:  exec.c $(INCLUDES)
80         $(CC) $(CFLAGS) -c exec.c
81
82 auth.o:  auth.c $(INCLUDES) ../include/modules.h
83         $(CC) $(CFLAGS) -c auth.c
84
85 valuepair.o:  valuepair.c $(INCLUDES)
86         $(CC) $(CFLAGS) -c valuepair.c
87
88 version.o: version.c $(INCLUDES)
89         $(CC) $(CFLAGS) -o version.o -c version.c
90
91 xlat.o: xlat.c $(INCLUDES)
92         $(CC) $(CFLAGS) -o xlat.o -c xlat.c
93
94 threads.o: threads.c $(INCLUDES)
95         $(CC) $(CFLAGS) -o threads.o -c threads.c
96
97 smux.o: smux.c $(INCLUDES)
98         $(CC) $(CFLAGS) -o smux.o -c smux.c
99
100 radius_snmp.o: radius_snmp.c $(INCLUDES)
101         $(CC) $(CFLAGS) -o radius_snmp.o -c radius_snmp.c
102
103 radclient: radclient.o ../lib/libradius.a
104         $(CC) $(CFLAGS) $(LDFLAGS) -o radclient radclient.o $(LIBS)
105
106 radclient.o: radclient.c $(INCLUDES)
107         $(CC) $(CFLAGS) -c radclient.c
108
109 builddbm: builddbm.o files_b.o log.o
110         $(CC) $(LDFLAGS) -o builddbm builddbm.o files_b.o log.o $(LDBM) $(LIBS)
111
112 builddbm.o: builddbm.c
113         $(CC) $(CFLAGS) -c builddbm.c
114
115 radwho.o: radwho.c $(INCLUDES)
116         $(CC) $(CFLAGS) -c radwho.c
117
118 radwho: radwho.o util.o nas.o client.o log.o
119         $(CC) $(LDFLAGS) -o radwho radwho.o util.o nas.o client.o log.o $(LIBS)
120
121 raduse: raduse.o
122         $(CC) $(CFLAGS) $(LDFLAGS) -o raduse raduse.o $(LIBS)
123
124 radzap.o: radzap.c $(INCLUDES)
125         $(CC) $(CFLAGS) -c radzap.c
126
127 radzap: radzap.o util.o nas.o radutmp.o log.o client.o
128         $(CC) $(CFLAGS) $(LDFLAGS) -o radzap radzap.o util.o nas.o radutmp.o log.o client.o $(LIBS)
129
130 clean:
131         rm -rf *.o *.so *~ modules_static.h radiusd radwho raduse \
132                 radclient radzap builddbm .libs
133
134 install:
135         $(INSTALL) -d -m 755                    $(R)$(sbindir)
136         $(LIBTOOL) --mode=install $(INSTALL) -m 755 -s radiusd  $(R)$(sbindir)
137         $(INSTALL) -m 755    checkrad.pl        $(R)$(sbindir)/checkrad
138         $(INSTALL) -d -m 755                    $(R)$(bindir)
139         $(INSTALL) -m 755 -s radwho             $(R)$(bindir)
140         $(INSTALL) -m 755 -s raduse             $(R)$(bindir)
141         $(INSTALL) -m 755 -s radzap             $(R)$(bindir)
142         $(INSTALL) -m 755    radlast            $(R)$(bindir)
143         $(INSTALL) -m 755    radclient          $(R)$(bindir)
144         $(INSTALL) -m 755    radtest            $(R)$(bindir)
145         $(INSTALL) -d -m 755                    $(R)$(logdir)
146         $(INSTALL) -d -m 755                    $(R)$(radacctdir)