chiark / gitweb /
finalise
[chiark-utils.git] / backup / Makefile
index 1315c88abf7a628b8582c692b81437dc2fa8edf7..938dd27bc52a6049e83234d1aa5c50a083dcb19e 100644 (file)
@@ -1,2 +1,98 @@
-CC=gcc
-CFLAGS=-Wall -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -O2 -g
+# Makefile
+# simple make settings
+#
+# This file is part of chiark backup, a system for backing up GNU/Linux and
+# other UN*X-compatible machines, as used on chiark.greenend.org.uk.
+#
+# chiark backup is:
+#  Copyright (C) 1997-1998,2000-2001 Ian Jackson <ian@chiark.greenend.org.uk>
+#  Copyright (C) 1999 Peter Maydell <pmaydell@chiark.greenend.org.uk>
+#
+# This is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2, or (at your option) any later version.
+#
+# This is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+CC=            gcc
+CFLAGS=                $(WARNINGS) $(OPTIMISE) $(DEBUG)
+CPPFLAGS=      -DRWBUFFER_SIZE_MB=$(RWBUFFER_SIZE_MB)
+
+WARNINGS=      -Wall -Wwrite-strings -Wmissing-prototypes \
+               -Wstrict-prototypes -Wpointer-arith
+OPTIMISE=      -O2
+DEBUG=         -g
+RWBUFFER_SIZE_MB=16
+
+SYSTEM_GROUP=  root
+
+prefix=/usr/local
+etcdir=/etc
+varlib=/var/lib
+
+confdir=$(etcdir)/chiark-backup
+bindir=$(prefix)/bin
+sharedir=$(prefix)/share/chiark-backup
+txtdocdir=$(prefix)/share/doc/chiark-backup
+exampledir=$(txtdocdir)/examples
+vardir=$(varlib)/chiark-backup
+mandir=${prefix}/man
+man1dir=${mandir}/man1
+
+INSTALL=               install -c
+INSTALL_SHARE=         $(INSTALL) -m 644 -o root -g $(SYSTEM_GROUP)
+INSTALL_SCRIPT=                $(INSTALL) -m 755 -o root -g $(SYSTEM_GROUP)
+INSTALL_PROGRAM=       $(INSTALL_SCRIPT) -s
+INSTALL_DIRECTORY=     $(INSTALL) -m 2755 -o root -g $(SYSTEM_GROUP) -d
+
+CTARGETS=      readbuffer writebuffer
+BINSCRIPTS=    checkallused loaded driver takedown whatsthis labeltape
+SHARESCRIPTS=  bringup full increm
+SHAREFILES=    backuplib.pl
+
+EXAMPLES=      relativity chiark
+
+all:           $(CTARGETS)
+
+readbuffer:                            readbuffer.o rwbuffer.o
+writebuffer:                           writebuffer.o rwbuffer.o
+readbuffer.o writebuffer.o rwbuffer.o: rwbuffer.h
+
+install:               all
+               $(INSTALL_DIRECTORY) $(confdir) $(bindir) $(sharedir) $(vardir) $(man1dir)
+               $(INSTALL_PROGRAM) $(CTARGETS) $(bindir)
+               set -e; for s in $(BINSCRIPTS); do \
+                       $(INSTALL_SCRIPT) $$s $(bindir)/backup-$$s; done
+               $(INSTALL_SHARE) $(SHAREFILES) $(sharedir)
+               $(INSTALL_SCRIPT) $(SHARESCRIPTS) $(sharedir)
+               $(INSTALL) -m 644 readbuffer.1 ${man1dir}/readbuffer.1
+               $(INSTALL) -m 644 writebuffer.1 ${man1dir}/writebuffer.1
+
+install-docs:
+               $(INSTALL_DIRECTORY) $(txtdocdir)
+               $(INSTALL_SHARE) iwjbackup.txt $(txtdocdir)/README
+
+install-examples:
+               set -e; for e in $(EXAMPLES); do \
+                       cd examples/$$e; \
+                       $(INSTALL_DIRECTORY) $(exampledir)/$$e; \
+                       $(INSTALL_SHARE) [^A-Z]*[^~] $(exampledir)/$$e; \
+                       if test -f SYMLINKS.tar; then \
+                               exec <SYMLINKS.tar; \
+                               (set -e; cd $(exampledir) && tar -xf -); \
+                       fi; \
+                       cd ../..; \
+               done
+
+clean:
+               rm -f *~ ./#*# *.o
+
+distclean realclean:   clean
+               rm -f $(CTARGETS)