Patches from "Alan Curry" <pacman-radius@cqc.com>
[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 [ "`find $$i -newer $(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 libtool \
55                 src/include/radpaths.h src/include/stamp-h \
56                 src/libltdl/config.log src/libltdl/config.status \
57                 src/libltdl/libtool
58         -find . ! -name configure.in -name \*.in -print | \
59                 sed 's/\.in$$//' | \
60                 while read file; do rm -f $$file; done
61         -find src/modules -name config.mak | \
62                 while read file; do rm -f $$file; done
63         -find src/modules -name config.h | \
64                 while read file; do rm -f $$file; done
65
66 ######################################################################
67 #
68 #  Automatic remaking rules suggested by info:autoconf#Automatic_Remaking
69 #
70 ######################################################################
71 reconfig: configure src/include/autoconf.h.in
72
73 configure: configure.in aclocal.m4
74         $(AUTOCONF)
75
76 # autoheader might not change autoconf.h.in, so touch a stamp file
77 src/include/autoconf.h.in: src/include/stamp-h.in acconfig.h
78 src/include/stamp-h.in: configure.in acconfig.h
79         $(AUTOHEADER)
80         echo timestamp > src/include/stamp-h.in
81
82 src/include/autoconf.h: src/include/stamp-h
83 src/include/stamp-h: src/include/autoconf.h.in config.status
84         ./config.status
85
86 config.status: configure
87         ./config.status --recheck
88
89 configure.in: