chiark / gitweb /
Many fixes.
[chiark-utils.git] / backup / Makefile
1 # Makefile
2 # simple make settings
3 #
4 # This file is part of chiark backup, a system for backing up GNU/Linux and
5 # other UN*X-compatible machines, as used on chiark.greenend.org.uk.
6 #
7 # chiark backup is:
8 #  Copyright (C) 1997-1998,2000-2001 Ian Jackson <ian@chiark.greenend.org.uk>
9 #  Copyright (C) 1999 Peter Maydell <pmaydell@chiark.greenend.org.uk>
10 #
11 # This is free software; you can redistribute it and/or modify it under the
12 # terms of the GNU General Public License as published by the Free Software
13 # Foundation; either version 2, or (at your option) any later version.
14 #
15 # This is distributed in the hope that it will be useful, but WITHOUT ANY
16 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17 # FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
18 # details.
19 #
20 # You should have received a copy of the GNU General Public License along
21 # with this program; if not, write to the Free Software Foundation, Inc.,
22 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
24 CC=             gcc
25 CFLAGS=         $(WARNINGS) $(OPTIMISE) $(DEBUG)
26 CPPFLAGS=       -DRWBUFFER_SIZE_MB=$(RWBUFFER_SIZE_MB)
27
28 WARNINGS=       -Wall -Wwrite-strings -Wmissing-prototypes \
29                 -Wstrict-prototypes -Wpointer-arith
30 OPTIMISE=       -O2
31 DEBUG=          -g
32 RWBUFFER_SIZE_MB=16
33
34 prefix=/usr/local
35 etcdir=/etc
36 varlib=/var/lib
37
38 confdir=$(etcdir)/chiark-backup
39 bindir=$(prefix)/bin
40 sharedir=$(prefix)/share/chiark-backup
41 txtdocdir=$(prefix)/share/doc/chiark-backup
42 exampledir=$(txtdocdir)/examples
43 vardir=$(varlib)/chiark-backup
44 mandir=${prefix}/man
45 man1dir=${mandir}/man1
46
47 INSTALL=                install -c
48 INSTALL_SHARE=          $(INSTALL) -m 644 -o root -g root
49 INSTALL_SCRIPT=         $(INSTALL) -m 755 -o root -g root
50 INSTALL_PROGRAM=        $(INSTALL_SCRIPT) -s
51 INSTALL_DIRECTORY=      $(INSTALL) -m 2755 -o root -g root -d
52
53 CTARGETS=       readbuffer writebuffer
54 BINSCRIPTS=     checkallused loaded driver takedown whatsthis labeltape
55 SHARESCRIPTS=   bringup full increm
56 SHAREFILES=     backuplib.pl
57
58 EXAMPLES=       relativity chiark
59
60 all:            $(CTARGETS)
61
62 readbuffer:                             readbuffer.o rwbuffer.o
63 writebuffer:                            writebuffer.o rwbuffer.o
64 readbuffer.o writebuffer.o rwbuffer.o:  rwbuffer.h
65
66 install:                all
67                 $(INSTALL_DIRECTORY) $(confdir) $(bindir) $(sharedir) $(vardir) $(man1dir)
68                 $(INSTALL_PROGRAM) $(CTARGETS) $(bindir)
69                 set -e; for s in $(BINSCRIPTS); do \
70                         $(INSTALL_SCRIPT) $$s $(bindir)/backup-$$s; done
71                 $(INSTALL_SHARE) $(SHAREFILES) $(sharedir)
72                 $(INSTALL_SCRIPT) $(SHARESCRIPTS) $(sharedir)
73                 $(INSTALL) -m 644 readbuffer.1 ${man1dir}/readbuffer.1
74                 $(INSTALL) -m 644 writebuffer.1 ${man1dir}/writebuffer.1
75
76 install-docs:
77                 $(INSTALL_DIRECTORY) $(txtdocdir)
78                 $(INSTALL_SHARE) iwjbackup.txt $(txtdocdir)/README
79
80 install-examples:
81                 set -e; for e in $(EXAMPLES); do \
82                         cd examples/$$e; \
83                         $(INSTALL_DIRECTORY) $(exampledir)/$$e; \
84                         $(INSTALL_SHARE) [^A-Z]*[^~] $(exampledir)/$$e; \
85                         if test -f SYMLINKS.tar; then \
86                                 exec <SYMLINKS.tar; \
87                                 (set -e; cd $(exampledir) && tar -xf -); \
88                         fi; \
89                         cd ../..; \
90                 done
91
92 clean:
93                 rm -f *~ ./#*# *.o
94
95 distclean realclean:    clean
96                 rm -f $(CTARGETS)