chiark / gitweb /
Fix error message; rewind after labelling.
[chiark-utils.git] / backup / Makefile
index 59a3c11185d34041b854036f3c0aa9d13d93c96a..207766ffddbd5acef709f0d3b276e5be5fe711d1 100644 (file)
 # 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=-Wall -Wwrite-strings -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -O2 -g
+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
+
+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 root
+INSTALL_SCRIPT=                $(INSTALL) -m 755 -o root -g root
+INSTALL_PROGRAM=       $(INSTALL_SCRIPT) -s
+INSTALL_DIRECTORY=     $(INSTALL) -m 2755 -o root -g root -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)