q is char*, not PAIR_LIST*
[freeradius.git] / raddb / Makefile
index c6d7961..ab8b083 100644 (file)
@@ -1,21 +1,67 @@
+#
+# Makefile
+#
+# Version:      $Id$
+#
+
 include ../Make.inc
 
 #
 #  The list of files to install.
 #
-FILES  = acct_users attrs clients clients.conf dictionary eap.conf \
-         experimental.conf hints huntgroups ldap.attrmap \
-         mssql.conf naslist naspasswd oraclesql.conf postgresql.conf \
-         preproxy_users proxy.conf radiusd.conf realms snmp.conf \
-         sql.conf users otp.conf otppasswd.sample
+FILES = acct_users clients.conf dictionary templates.conf \
+       experimental.conf hints huntgroups \
+       preproxy_users proxy.conf radiusd.conf trigger.conf \
+       users README.rst
 
-all:
+DEFAULT_SITES = default inner-tunnel
+
+DEFAULT_MODULES = always attr_filter attr_rewrite cache_eap chap checkval \
+               counter cui detail detail.log digest dhcp dynamic_clients eap \
+               echo exec expiration expr files inner-eap linelog logintime \
+               mschap ntlm_auth pap passwd preprocess radutmp realm \
+               replicate soh sradutmp unix utf8 wimax
+
+#
+#      This target is here for local debugging
+#
+all: sites-enabled mods-enabled
+
+.PHONY: sites-enabled
+sites-enabled:
+       @if [ ! -d sites-enabled ]; then \
+               mkdir sites-enabled; \
+       fi
+       @cd sites-enabled/; \
+        for x in $(DEFAULT_SITES); do \
+           if [ ! -f $$x ]; then \
+               ln -s ../sites-available/$$x; \
+           fi; \
+       done
+
+.PHONY: mods-enabled
+mods-enabled:
+       @if [ ! -d mods-enabled ]; then \
+               mkdir mods-enabled; \
+       fi
+       @cd mods-enabled/; \
+        for x in $(DEFAULT_MODULES); do \
+           if [ ! -f $$x ]; then \
+               ln -s ../mods-available/$$x; \
+           fi; \
+       done
 
 install:
-       $(INSTALL) -d -m 755    $(R)$(raddbdir)
+       $(INSTALL) -d -m 750    $(R)$(raddbdir)
+       $(INSTALL) -d -m 750    $(R)$(raddbdir)/sites-available
+       $(INSTALL) -d -m 750    $(R)$(raddbdir)/sites-enabled
+       $(INSTALL) -d -m 750    $(R)$(raddbdir)/mods-available
+       $(INSTALL) -d -m 750    $(R)$(raddbdir)/mods-enabled
+       $(INSTALL) -d -m 750    $(R)$(raddbdir)/policy.d
+       $(INSTALL) -d -m 750    $(R)$(raddbdir)/filter
        @echo "Creating/updating files in $(R)$(raddbdir)"; \
-       for i in $(FILES); do \
-               [ ! -f $(R)$(raddbdir)/$$i ] && $(INSTALL) -m 644 $$i $(R)$(raddbdir); \
+       for i in $(FILES) `find sites-available/ mods-available/ policy.d/ filter/ -type f -print | sed 's/.*~//;s/.*#.*//' `; do \
+               [ ! -f $(R)$(raddbdir)/$$i ] && $(INSTALL) -m 640 $$i $(R)$(raddbdir)/$$i; \
                if [ "`find $$i -newer $(R)$(raddbdir)/$$i`" ]; then \
                        echo "** $(R)$(raddbdir)/$$i"; \
                        nt=1; \
@@ -34,13 +80,41 @@ install:
                echo "** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING **";\
                echo "** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING ** WARNING **";\
        fi
-       chmod 640 $(R)$(raddbdir)/naspasswd $(R)$(raddbdir)/clients $(R)$(raddbdir)/clients.conf
+       chmod 640 $(R)$(raddbdir)/clients.conf
        if [ ! -d $(R)$(raddbdir)/certs ]; then \
-               mkdir $(R)$(raddbdir)/certs; \
-               mkdir $(R)$(raddbdir)/certs/demoCA; \
-               cp certs/demoCA/* $(R)$(raddbdir)/certs/demoCA || true; \
-               cp certs/* $(R)$(raddbdir)/certs 2>/dev/null || true; \
+               $(INSTALL) -d -m 750    $(R)$(raddbdir)/certs; \
+               $(INSTALL) -m 750 certs/bootstrap $(R)$(raddbdir)/certs; \
+               for i in Makefile README xpextensions ca.cnf server.cnf client.cnf; do \
+                       $(INSTALL) -m 640 certs/$$i $(R)$(raddbdir)/certs; \
+               done; \
+               $(MAKE) -C $(R)$(raddbdir)/certs; \
+       fi
+       if [ ! -d $(R)$(raddbdir)/sql ]; then \
+               find sql -name CVS -prune -o -print | \
+                 while read file; do \
+                   if [ -d "$$file" ]; then \
+                     $(INSTALL) -d -m 750 "$(R)$(raddbdir)/$$file"; \
+                   else \
+                     $(INSTALL) -m 640 "$$file" "$(R)$(raddbdir)/$$file"; \
+                   fi; \
+                 done; \
        fi
+       @cd $(R)$(raddbdir)/sites-enabled/; \
+        for x in $(DEFAULT_SITES); do \
+           if [ ! -f $$x ]; then \
+               ln -s ../sites-available/$$x; \
+           fi; \
+       done
+       @cd $(R)$(raddbdir)/mods-enabled/; \
+        for x in $(DEFAULT_MODULES); do \
+           if [ ! -f $$x ]; then \
+               ln -s ../mods-available/$$x; \
+           fi; \
+       done
 
 clean:
+       @rm -rf *~ $(addprefix sites-enabled/,$(DEFAULT_SITES)) \
+               $(addprefix mods-enabled/,$(DEFAULT_MODULES))
 
+triggers:
+       @grep exec_trigger `find ../src -name "*.c" -print` | grep '"' | sed -e 's/.*,//' -e 's/ *"//' -e 's/");.*//'