added installation rules for the man pages
[freeradius.git] / Makefile
1 #
2 # Makefile      Makefile for the cistron-radius package.
3 #
4 #               NOTE: This top-level Makefile must not
5 #               use GNU-make extensions. The lower ones can.
6 #
7 # Version:      $Id$
8 #
9
10 include Make.inc
11
12 SUBDIRS         = src raddb doc scripts
13 WHAT_TO_MAKE    = all
14
15 all:
16         @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
17
18 clean:
19         @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
20         @rm -f *~
21
22 install:
23         @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common
24         install -d -m 755       $(mandir);
25         for i in 1 5 8; do \
26                 install -d -m 755       $(mandir)/man$$i; \
27                 install -m 444 man/man$$i/*.$$i $(mandir)/man$$i; \
28         done
29         @echo "Creating/updating files in $(raddbdir)"; \
30         install -d -m 755       $(raddbdir); \
31         cd raddb; \
32         for i in [a-c]* [e-z]*; do \
33                 [ ! -f $(raddbdir)/$$i ] && install -m 644 $$i $(raddbdir); \
34         done; \
35         for i in dictionary*; do \
36                 [ ! -f $(raddbdir)/$$i ] && install -m 644 $$i $(raddbdir); \
37                 if [ $$i -nt $(raddbdir)/$$i ]; then \
38                         echo "** $(raddbdir)/$$i"; \
39                         nt=1; \
40                 fi; \
41         done; \
42         if [ "$$nt" ]; then \
43                 echo "** The samples in ../raddb are newer than these files";\
44                 echo "** Please investigate and copy manually if appropriate";\
45         fi
46
47 common:
48         @for dir in $(SUBDIRS); do \
49                 echo "Making $(WHAT_TO_MAKE) in $$dir..."; \
50                 (cd $$dir && $(MAKE) $(MFLAGS) $(WHAT_TO_MAKE)) || exit 1;\
51         done
52
53 distclean: clean
54         rm -f config.cache config.log config.status
55         -find . ! -name configure.in -name \*.in -print | \
56                 sed 's/\.in$$//' | \
57                 while read file; do rm -f $$file; done
58         -find src/modules -name config.mak | \
59                 while read file; do rm -f $$file; done
60         -find src/modules -name config.h | \
61                 while read file; do rm -f $$file; done
62
63 ######################################################################
64 #
65 #  Automatic remaking rules suggested by info:autoconf#Automatic_Remaking
66 #
67 ######################################################################
68 reconfig: configure src/include/autoconf.h.in
69
70 configure: configure.in aclocal.m4
71         autoconf
72
73 # autoheader might not change autoconf.h.in, so touch a stamp file
74 src/include/autoconf.h.in: src/include/stamp-h.in acconfig.h
75 src/include/stamp-h.in: configure.in acconfig.h
76         autoheader
77         echo timestamp > src/include/stamp-h.in
78
79 src/include/autoconf.h: src/include/stamp-h
80 src/include/stamp-h: src/include/autoconf.h.in config.status
81         ./config.status
82
83 config.status: configure
84         ./config.status --recheck
85
86 configure.in: