Install the README, too
[freeradius.git] / raddb / Makefile
1 #
2 # Makefile
3 #
4 # Version:      $Id$
5 #
6
7 include ../Make.inc
8
9 #
10 #  The list of files to install.
11 #
12 FILES = acct_users attrs attrs.access_reject attrs.accounting_response  \
13         attrs.pre-proxy clients.conf dictionary templates.conf  \
14         experimental.conf hints huntgroups ldap.attrmap                 \
15         policy.txt preproxy_users proxy.conf radiusd.conf trigger.conf  \
16         users policy.conf attrs.access_challenge README
17
18 DEFAULT_SITES = default inner-tunnel
19 ifneq "${OPENSSL_INCLUDE}" ""
20 DEFAULT_SITES += tls
21 endif
22
23 DEFAULT_MODULES = acct_unique always attr_filter attr_rewrite chap checkval \
24                 counter cui detail detail.log digest dynamic_clients eap \
25                 echo exec expiration expr files inner-eap linelog logintime \
26                 mschap ntlm_auth pap passwd preprocess radutmp realm \
27                 replicate soh sradutmp unix utf8 wimax
28
29 #
30 #       This target is here for local debugging
31 #
32 all: sites-enabled mods-enabled
33
34 .PHONY: sites-enabled
35 sites-enabled:
36         @if [ ! -d sites-enabled ]; then \
37                 mkdir sites-enabled; \
38         fi
39         @cd sites-enabled/; \
40          for x in $(DEFAULT_SITES); do \
41             if [ ! -f $$x ]; then \
42                 ln -s ../sites-available/$$x; \
43             fi; \
44         done
45
46 .PHONY: mods-enabled
47 mods-enabled:
48         @if [ ! -d mods-enabled ]; then \
49                 mkdir mods-enabled; \
50         fi
51         @cd mods-enabled/; \
52          for x in $(DEFAULT_MODULES); do \
53             if [ ! -f $$x ]; then \
54                 ln -s ../mods-available/$$x; \
55             fi; \
56         done
57
58 install:
59         $(INSTALL) -d -m 750    $(R)$(raddbdir)
60         $(INSTALL) -d -m 750    $(R)$(raddbdir)/sites-available
61         $(INSTALL) -d -m 750    $(R)$(raddbdir)/sites-enabled
62         $(INSTALL) -d -m 750    $(R)$(raddbdir)/mods-available
63         $(INSTALL) -d -m 750    $(R)$(raddbdir)/mods-enabled
64         @echo "Creating/updating files in $(R)$(raddbdir)"; \
65         for i in $(FILES) `find sites-available/ mods-available/ -type f -print | sed 's/.*~//;s/.*#.*//' `; do \
66                 [ ! -f $(R)$(raddbdir)/$$i ] && $(INSTALL) -m 640 $$i $(R)$(raddbdir)/$$i; \
67                 if [ "`find $$i -newer $(R)$(raddbdir)/$$i`" ]; then \
68                         echo "** $(R)$(raddbdir)/$$i"; \
69                         nt=1; \
70                 fi; \
71         done; \
72         if [ "$$nt" ]; then \
73                 echo "**";\
74                 echo "** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING **";\
75                 echo "** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING **";\
76                 echo "**";\
77                 echo "** The sample configuration files in `pwd`";\
78                 echo "** are newer than those in $(R)$(raddbdir)";\
79                 echo "**";\
80                 echo "** Please investigate and manually copy (if appropriate) the files listed above.";\
81                 echo "**";\
82                 echo "** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING **";\
83                 echo "** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING **";\
84         fi
85         chmod 640 $(R)$(raddbdir)/clients.conf
86         if [ ! -d $(R)$(raddbdir)/certs ]; then \
87                 $(INSTALL) -d -m 750    $(R)$(raddbdir)/certs; \
88                 $(INSTALL) -m 750 certs/bootstrap $(R)$(raddbdir)/certs; \
89                 for i in Makefile README xpextensions ca.cnf server.cnf client.cnf; do \
90                         $(INSTALL) -m 640 certs/$$i $(R)$(raddbdir)/certs; \
91                 done; \
92                 $(MAKE) -C $(R)$(raddbdir)/certs; \
93         fi
94         if [ ! -d $(R)$(raddbdir)/sql ]; then \
95                 find sql -name CVS -prune -o -print | \
96                   while read file; do \
97                     if [ -d "$$file" ]; then \
98                       $(INSTALL) -d -m 750 "$(R)$(raddbdir)/$$file"; \
99                     else \
100                       $(INSTALL) -m 640 "$$file" "$(R)$(raddbdir)/$$file"; \
101                     fi; \
102                   done; \
103         fi
104         @cd $(R)$(raddbdir)/sites-enabled/; \
105          for x in $(DEFAULT_SITES); do \
106             if [ ! -f $$x ]; then \
107                 ln -s ../sites-available/$$x; \
108             fi; \
109         done
110         @cd $(R)$(raddbdir)/mods-enabled/; \
111          for x in $(DEFAULT_MODULES); do \
112             if [ ! -f $$x ]; then \
113                 ln -s ../mods-available/$$x; \
114             fi; \
115         done
116
117 clean:
118         @rm -rf *~ $(addprefix sites-enabled/,$(DEFAULT_SITES)) \
119                 $(addprefix mods-enabled/,$(DEFAULT_MODULES))
120
121 triggers:
122         @grep exec_trigger `find ../src -name "*.c" -print` | grep '"' | sed -e 's/.*,//' -e 's/ *"//' -e 's/");.*//'