some defines to help with static linking.
[freeradius.git] / src / main / Makefile.in
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 session.o xlat.o threads.o smux.o \
10                   radius_snmp.o client.o request_list.o mainconfig.o
11 INCLUDES        = ../include/radiusd.h ../include/radius.h ../include/libradius.h ../include/conf.h ../include/autoconf.h
12
13 CFLAGS          += -I../include $(SNMP_INCLUDE) 
14 LDFLAGS         += -L../lib
15 MODULE_LIBS     = $(STATIC_MODULES)
16 MODULE_OBJS     =
17 VFLAGS          = -DRADIUSD_MAJOR_VERSION=$(RADIUSD_MAJOR_VERSION)
18 VFLAGS          += -DRADIUSD_MINOR_VERSION=$(RADIUSD_MINOR_VERSION)
19 BINARIES        = radiusd radwho radzap radclient radrelay 
20
21 #
22 #  Not using shared libraries, add in ALL known static modules
23 # at build time.
24 #
25 ifneq ($(USE_SHARED_LIBS),yes)
26 #
27 #  For static linking...
28 #
29 MODULES += rlm_eap_md5  rlm_eap_leap rlm_eap_tls rlm_eap_ttls rlm_eap_sim
30 LIBS += $(OPENSSL_LIB) -lcrypto -lssl -lcrypto -lssl -L../modules/rlm_eap/libeap -leap
31 #
32 MODULE_LIBS     += $(shell for x in $(MODULES);do test -f ../modules/$$x/$$x.la && echo -dlpreopen ../modules/$$x/$$x.la;done)
33 MODULE_LIBS     += $(shell for x in $(MODULES);do test -f ../modules/*/types/$$x/$$x.la && echo -dlpreopen ../modules/*/types/$$x/$$x.la;done)
34 MODULE_OBJS     += $(shell for x in $(MODULES);do test -f ../modules/$$x/$$x.la && echo ../modules/$$x/$$x.la;done)
35 MODULE_OBJS     += $(shell for x in $(MODULES);do test -f ../modules/*/types/$$x/$$x.la && echo ../modules/*/types/$$x/$$x.la;done)
36 endif
37
38 LIBS            += -lradius $(SNMP_LIBS)
39
40
41 all:    $(BINARIES)
42
43 radiusd: $(SERVER_OBJS) ../lib/libradius.a $(MODULE_OBJS)
44         $(LIBTOOL) --mode=link $(CC) -export-dynamic -dlopen self \
45                 $(CFLAGS) $(LDFLAGS) -o $@ \
46                 $(SERVER_OBJS) $(LCRYPT) $(LIBS) \
47                 $(PTHREADLIB) $(LIBLTDL) $(MODULE_LIBS) 
48
49 radiusd.o: radiusd.c $(INCLUDES)  ../include/request_list.h ../include/modules.h ../include/modcall.h ../include/modpriv.h
50         $(CC) $(CFLAGS) -c radiusd.c
51
52 acct.o: acct.c $(INCLUDES) ../include/modules.h
53         $(CC) $(CFLAGS) -c acct.c
54
55 files.o: files.c $(INCLUDES)
56         $(CC) $(CFLAGS) -c files.c
57
58 util.o: util.c $(INCLUDES)
59         $(CC) $(CFLAGS) -c util.c
60
61 nas.o:  nas.c $(INCLUDES)
62         $(CC) $(CFLAGS) -c nas.c
63
64 log.o:  log.c $(INCLUDES)
65         $(CC) $(CFLAGS) -c log.c
66
67 conffile.o: conffile.c $(INCLUDES) ../include/modules.h
68         $(CC) $(CFLAGS) -c conffile.c
69
70 mainconfig.o: mainconfig.c $(INCLUDES) ../include/modules.h
71         $(CC) $(CFLAGS) -c mainconfig.c
72
73 timestr.o: timestr.c $(INCLUDES)
74         $(CC) $(CFLAGS) -c timestr.c
75
76 modules.o:  modules.c $(INCLUDES)
77         $(CC) $(CFLAGS) $(VFLAGS) $(INCLTDL) -c modules.c
78
79 modcall.o:  modcall.c $(INCLUDES)
80         $(CC) $(CFLAGS) $(INCLTDL) -c modcall.c
81
82 session.o:  session.c $(INCLUDES) ../include/modules.h
83         $(CC) $(CFLAGS) -c session.c
84
85 request_list.o:  request_list.c $(INCLUDES)
86         $(CC) $(CFLAGS) -c request_list.c
87
88 proxy.o:  proxy.c $(INCLUDES)
89         $(CC) $(CFLAGS) -c proxy.c
90
91 exec.o:  exec.c $(INCLUDES)
92         $(CC) $(CFLAGS) -c exec.c
93
94 auth.o:  auth.c $(INCLUDES) ../include/modules.h
95         $(CC) $(CFLAGS) -c auth.c
96
97 valuepair.o:  valuepair.c $(INCLUDES)
98         $(CC) $(CFLAGS) -c valuepair.c
99
100 version.o: version.c $(INCLUDES)
101         $(CC) $(CFLAGS) -o version.o -c version.c
102
103 xlat.o: xlat.c $(INCLUDES)
104         $(CC) $(CFLAGS) -o xlat.o -c xlat.c
105
106 threads.o: threads.c $(INCLUDES)
107         $(CC) $(CFLAGS) -o threads.o -c threads.c
108
109 smux.o: smux.c $(INCLUDES)
110         $(CC) $(CFLAGS) -o smux.o -c smux.c
111
112 radius_snmp.o: radius_snmp.c $(INCLUDES)
113         $(CC) $(CFLAGS) -o radius_snmp.o -c radius_snmp.c
114
115 radclient: radclient.o ../lib/libradius.a
116         $(CC) $(CFLAGS) $(LDFLAGS) -o radclient radclient.o $(LIBS)
117
118 radclient.o: radclient.c $(INCLUDES)
119         $(CC) $(CFLAGS) -c radclient.c
120
121 radrelay: radrelay.o mainconfig.o util.o nas.o client.o log.o conffile.o files.o xlat.o ../lib/libradius.a
122         $(CC) $(CFLAGS) $(LDFLAGS) -o radrelay radrelay.o mainconfig.o util.o nas.o client.o log.o conffile.o files.o xlat.o $(LIBS)
123
124 radrelay.o: radrelay.c $(INCLUDES)
125         $(CC) $(CFLAGS) -c radrelay.c
126
127 radwho.o: radwho.c $(INCLUDES)
128         $(CC) $(CFLAGS) -c radwho.c
129
130 radwho: radwho.o mainconfig.o util.o nas.o client.o log.o conffile.o files.o xlat.o
131         $(CC) $(LDFLAGS) -o radwho radwho.o mainconfig.o util.o nas.o client.o log.o conffile.o files.o xlat.o $(LIBS)
132
133 radzap.o: radzap.c $(INCLUDES)
134         $(CC) $(CFLAGS) -c radzap.c
135
136 radzap: radzap.o mainconfig.o util.o nas.o log.o client.o conffile.o files.o xlat.o
137         $(CC) $(CFLAGS) $(LDFLAGS) -o radzap radzap.o mainconfig.o util.o nas.o log.o client.o conffile.o files.o xlat.o $(LIBS)
138
139 clean:
140         rm -rf *.o *.so *~ $(BINARIES) .libs
141
142 install:
143         $(LIBTOOL) --mode=install $(INSTALL) -m 755 $(INSTALLSTRIP) radiusd     $(R)$(sbindir)
144         $(INSTALL) -m 755 $(INSTALLSTRIP) radwho                $(R)$(bindir)
145         $(INSTALL) -m 755 $(INSTALLSTRIP) radzap                $(R)$(bindir)
146         $(INSTALL) -m 755    radlast            $(R)$(bindir)
147         $(INSTALL) -m 755    radclient          $(R)$(bindir)
148         $(INSTALL) -m 755    radrelay           $(R)$(bindir)
149         $(INSTALL) -m 755    radtest            $(R)$(bindir)
150         $(INSTALL) -d -m 755                    $(R)$(logdir)
151         $(INSTALL) -d -m 755                    $(R)$(radacctdir)
152         $(INSTALL) -m 755    checkrad.pl        $(R)$(sbindir)/checkrad