chiark / gitweb /
a9bf3f1928f6e2ed06910be4ba99ef8cb6f2527b
[distorted-backup] / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for distorted.org.uk backup system
4 ###
5 ### (c) 2011 Mark Wooding
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This file is part of the distorted.org.uk backup suite.
11 ###
12 ### distorted-backup is free software; you can redistribute it and/or modify
13 ### it under the terms of the GNU General Public License as published by
14 ### the Free Software Foundation; either version 2 of the License, or
15 ### (at your option) any later version.
16 ###
17 ### distorted-backup is distributed in the hope that it will be useful,
18 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 ### GNU General Public License for more details.
21 ###
22 ### You should have received a copy of the GNU General Public License along
23 ### with distorted-backup; if not, write to the Free Software Foundation,
24 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
26 bin_PROGRAMS             =
27 sbin_PROGRAMS            =
28 bin_SCRIPTS              =
29 sbin_SCRIPTS             =
30 noinst_SCRIPTS           =
31
32 pkglibexec_PROGRAMS      =
33 pkglib_DATA              =
34
35 man_MANS                 =
36 dist_man_MANS            =
37
38 EXTRA_DIST               =
39 CLEANFILES               =
40 DISTCLEANFILES           =
41
42 snaplibexecdir           = $(libexecdir)/snap
43 snaplibexec_SCRIPTS      =
44
45 bkplibexecdir            = $(libexecdir)/bkp
46 bkplibexec_SCRIPTS       =
47
48 AM_CFLAGS                = $(mLib_CFLAGS) $(nettle_CFLAGS)
49
50 ###--------------------------------------------------------------------------
51 ### Substitution of configuration data.
52
53 confsubst = $(top_srcdir)/config/confsubst
54 EXTRA_DIST              += config/confsubst
55
56 SUBSTVARS = \
57         PACKAGE="$(PACKAGE)" VERSION="$(VERSION)" \
58         PERL="$(PERL)" \
59         prefix="$(prefix)" exec_prefix="$(exec_prefix)" \
60         sbindir="$(sbindir)" \
61         sysconfdir="$(sysconfdir)" \
62         pkglibdir="$(pkglibdir)" \
63         bkplibexecdir="$(bkplibexecdir)" \
64         snaplibexecdir="$(snaplibexecdir)" \
65         pkglibexecdir="$(pkglibexecdir)"
66
67 SUBST = $(AM_V_GEN)$(confsubst)
68
69 ###--------------------------------------------------------------------------
70 ### Snapshot tools.
71
72 ## Remote filesystem freezing tool.
73 sbin_PROGRAMS           += rfreezefs
74 dist_man_MANS           += rfreezefs.8
75 rfreezefs_SOURCES        = rfreezefs.c
76 rfreezefs_LDADD          = $(mLib_LIBS)
77
78 ## LVM snapshot removal nanny.
79 sbin_SCRIPTS            += lvm-rmsnap
80 dist_man_MANS           += lvm-rmsnap.8
81 EXTRA_DIST              += lvm-rmsnap.in
82 CLEANFILES              += lvm-rmsnap
83 lvm-rmsnap: lvm-rmsnap.in Makefile
84         $(SUBST) $(srcdir)/lvm-rmsnap.in $(SUBSTVARS) >lvm-rmsnap.new && \
85                 chmod +x lvm-rmsnap.new && mv lvm-rmsnap.new lvm-rmsnap
86
87 ## Snapshot tool.
88 sbin_SCRIPTS            += snap
89 EXTRA_DIST              += snap.in
90 CLEANFILES              += snap
91 snap: snap.in Makefile
92         $(SUBST) $(srcdir)/snap.in $(SUBSTVARS) >snap.new && \
93                 chmod +x snap.new && mv snap.new snap
94
95 man_MANS                += snap.8
96 EXTRA_DIST              += snap.8.in
97 CLEANFILES              += snap.8
98 snap.8: snap.8.in Makefile
99         $(SUBST) $(srcdir)/snap.8.in $(SUBSTVARS) >snap.8.new && \
100                 mv snap.8.new snap.8
101
102 man_MANS                += snaptab.5
103 EXTRA_DIST              += snaptab.5.in
104 CLEANFILES              += snaptab.5
105 snaptab.5: snaptab.5.in Makefile
106         $(SUBST) $(srcdir)/snaptab.5.in $(SUBSTVARS) >snaptab.5.new && \
107                 mv snaptab.5.new snaptab.5
108
109 ## Snapshot handlers.
110 snaplibexec_SCRIPTS     += snap.lvm
111 dist_man_MANS           += snap.lvm.8
112 EXTRA_DIST              += snap.lvm
113
114 snaplibexec_SCRIPTS     += snap.ro
115 dist_man_MANS           += snap.ro.8
116 EXTRA_DIST              += snap.ro
117
118 snaplibexec_SCRIPTS     += snap.trivial
119 dist_man_MANS           += snap.trivial.8
120 EXTRA_DIST              += snap.trivial
121
122 snaplibexec_SCRIPTS     += snap.rfreezefs
123 dist_man_MANS           += snap.rfreezefs.8
124 EXTRA_DIST              += snap.rfreezefs.in
125 CLEANFILES              += snap.rfreezefs
126 snap.rfreezefs: snap.rfreezefs.in Makefile
127         $(SUBST) $(srcdir)/snap.rfreezefs.in $(SUBSTVARS) \
128                         >snap.rfreezefs.new && \
129                 chmod +x snap.rfreezefs.new && \
130                 mv snap.rfreezefs.new snap.rfreezefs
131
132 ###--------------------------------------------------------------------------
133 ### Backup utilities.
134
135 ## Hashing rmt clone.
136 pkglibexec_PROGRAMS     += rmt
137 rmt_SOURCES              = rmt.c
138 rmt_LDADD                = $(mLib_LIBS) $(nettle_LIBS)
139
140 ## Backup archive administration tool.
141 sbin_SCRIPTS            += bkpadmin
142 ##dist_man_MANS         += bkpadmin.8
143 EXTRA_DIST              += bkpadmin.in
144 CLEANFILES              += bkpadmin
145 bkpadmin: bkpadmin.in Makefile
146         $(SUBST) $(srcdir)/bkpadmin.in $(SUBSTVARS) >bkpadmin.new && \
147                 chmod +x bkpadmin.new && mv bkpadmin.new bkpadmin
148
149 ## Backup client driver.
150 sbin_SCRIPTS            += bkp
151 ##dist_man_MANS         += bkp.8
152 EXTRA_DIST              += bkp.in
153 CLEANFILES              += bkp
154 bkp: bkp.in Makefile
155         $(SUBST) $(srcdir)/bkp.in $(SUBSTVARS) >bkp.new && \
156                 chmod +x bkp.new && mv bkp.new bkp
157
158 ## Type handler utility library.
159 pkglib_DATA             += bkpfunc.sh
160 EXTRA_DIST              += bkpfunc.sh
161
162 ## Backup type handlers.
163 bkplibexec_SCRIPTS      += bkp.dump
164 ##dist_man_MANS         += bkp.dump.8
165 EXTRA_DIST              += bkp.dump.in
166 CLEANFILES              += bkp.dump
167 bkp.dump: bkp.dump.in Makefile
168         $(SUBST) $(srcdir)/bkp.dump.in $(SUBSTVARS) >bkp.dump.new && \
169                 chmod +x bkp.dump.new && mv bkp.dump.new bkp.dump
170
171 ###--------------------------------------------------------------------------
172 ### Distribution.
173
174 EXTRA_DIST              += config/auto-version
175
176 dist-hook::
177         echo $(VERSION) >$(distdir)/RELEASE
178
179 ###----- That's all, folks --------------------------------------------------