chiark / gitweb /
c896216e52c9431fcf669352f2fde28dff6eb3a2
[misc] / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for nsict-utils
4 ###
5 ### (c) 2008 Mark Wooding
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This program is free software; you can redistribute it and/or modify
11 ### it under the terms of the GNU General Public License as published by
12 ### the Free Software Foundation; either version 2 of the License, or
13 ### (at your option) any later version.
14 ###
15 ### This program is distributed in the hope that it will be useful,
16 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ### GNU General Public License for more details.
19 ###
20 ### You should have received a copy of the GNU General Public License
21 ### along with this program; if not, write to the Free Software Foundation,
22 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
24 EXTRA_DIST               =
25 CLEANFILES               =
26
27 man_MANS                 =
28 dist_man_MANS            =
29
30 ###--------------------------------------------------------------------------
31 ### Tools in C.
32
33 bin_PROGRAMS             =
34 sbin_PROGRAMS            =
35
36 AM_CFLAGS                = $(mLib_CFLAGS) $(catacomb_CFLAGS)
37
38 ## space
39 bin_PROGRAMS            += space
40 space_SOURCES            = space.c
41 dist_man_MANS           += space.1
42
43 ## not
44 bin_PROGRAMS            += not
45 not_SOURCES              = not.c
46 dist_man_MANS           += not.1
47
48 ## if-mtu
49 bin_PROGRAMS            += if-mtu
50 if_mtu_SOURCES           = if-mtu.c
51 dist_man_MANS           += if-mtu.1
52
53 ## getpass
54 bin_PROGRAMS            += getpass
55 getpass_SOURCES          = getpass.c
56 dist_man_MANS           += getpass.1
57
58 ## xtitle
59 bin_PROGRAMS            += xtitle
60 xtitle_SOURCES           = xtitle.c
61 ## !UNDOCUMENTED
62
63 ## pause
64 if HAVE_MLIB
65 bin_PROGRAMS            += pause
66 pause_SOURCES            = pause.c
67 pause_LDADD              = $(mLib_LIBS) $(MATH_LIBS)
68 dist_man_MANS           += pause.1
69 endif
70
71 ## mtimeout
72 if HAVE_MLIB
73 bin_PROGRAMS            += mtimeout
74 mtimeout_SOURCES         = mtimeout.c
75 mtimeout_LDADD           = $(mLib_LIBS) $(MATH_LIBS)
76 dist_man_MANS           += mtimeout.1
77 endif
78
79 ## stamp
80 if HAVE_MLIB
81 bin_PROGRAMS            += stamp
82 stamp_SOURCES            = stamp.c
83 stamp_LDADD              = $(mLib_LIBS)
84 dist_man_MANS           += stamp.1
85 endif
86
87 ## locking
88 if HAVE_MLIB
89 bin_PROGRAMS            += locking
90 locking_SOURCES          = locking.c
91 locking_LDADD            = $(mLib_LIBS)
92 dist_man_MANS           += locking.1
93 endif
94
95 ## prlimit
96 if HAVE_PRLIMIT
97 if HAVE_MLIB
98 bin_PROGRAMS            += prlimit
99 prlimit_SOURCES          = prlimit.c
100 prlimit_LDADD            = $(mLib_LIBS)
101 dist_man_MANS           += prlimit.1
102 endif
103 endif
104
105 ## gorp
106 if HAVE_CATACOMB
107 bin_PROGRAMS            += gorp
108 gorp_SOURCES             = gorp.c
109 gorp_LDADD               = $(catacomb_LIBS)
110 dist_man_MANS           += gorp.1
111 endif
112
113 ## cdb tools
114 if HAVE_LIBCDB
115 bin_PROGRAMS            += cdb-probe cdb-check-domain
116 cdb_probe_SOURCES        = cdb-probe.c
117 cdb_probe_LDADD          = -lcdb
118 cdb_check_domain_SOURCES = cdb-check-domain.c
119 cdb_check_domain_LDADD   = -lcdb
120 dist_man_MANS           += cdb-probe.1 cdb-check-domain.1
121 endif
122
123 ## x86 model identification
124 if X86
125 bin_PROGRAMS            += x86-model
126 x86_model_SOURCES        = x86-model.c
127 x86_model_LDADD          = $(mLib_LIBS)
128 dist_man_MANS           += x86-model.1
129 endif
130
131 ###--------------------------------------------------------------------------
132 ### Tools in scripts.
133
134 bin_SCRIPTS              =
135 dist_bin_SCRIPTS         =
136 sbin_SCRIPTS             =
137 dist_sbin_SCRIPTS        =
138
139 ## Making substitutions.
140 confsubst = $(top_srcdir)/config/confsubst
141 V_SUBST = $(V_SUBST_$(V))
142 V_SUBST_ = $(V_SUBST_$(AM_DEFAULT_VERBOSITY))
143 V_SUBST_0 = @echo "  SUBST  $@";
144 SUBST = $(V_SUBST)$(confsubst)
145 SUBSTITUTIONS = \
146         PACKAGE=$(PACKAGE) VERSION=$(VERSION) \
147         PYTHON=$(PYTHON) \
148         PERL=$(PERL) \
149         TCLSH=$(TCLSH) \
150         BASH=$(BASH) \
151         logdir=$(logdir)
152
153 EXTRA_DIST              += config/confsubst
154
155 ## Shell scripts.
156 dist_bin_SCRIPTS        += check-sender
157 dist_man_MANS           += check-sender.1
158
159 dist_bin_SCRIPTS        += buf
160 dist_man_MANS           += buf.1
161
162 dist_bin_SCRIPTS        += create
163 dist_man_MANS           += create.1
164
165 dist_bin_SCRIPTS        += z
166 dist_man_MANS           += z.1
167
168 bin_SCRIPTS             += hush
169 man_MANS                += hush.1
170 CLEANFILES              += hush hush.1
171 EXTRA_DIST              += hush.in hush.1.in
172
173 hush: hush.in Makefile
174         $(SUBST) $(srcdir)/hush.in >$@.new $(SUBSTITUTIONS) && \
175                 chmod +x $@.new && mv $@.new $@
176
177 hush.1: hush.1.in Makefile
178         $(SUBST) $(srcdir)/hush.1.in >$@.new $(SUBSTITUTIONS) && \
179                 mv $@.new $@
180
181 dist_bin_SCRIPTS        += with-umask
182 dist_man_MANS           += with-umask.1
183
184 dist_bin_SCRIPTS        += sshsvc-mkauthkeys
185 dist_man_MANS           += sshsvc-mkauthkeys.1
186
187 ## bash scripts.
188 if HAVE_BASH
189
190 bin_SCRIPTS             += inplace
191 CLEANFILES              += inplace
192 EXTRA_DIST              += inplace.in
193 dist_man_MANS           += inplace.1
194
195 inplace: inplace.in Makefile
196         $(SUBST) $(srcdir)/inplace.in >$@.new $(SUBSTITUTIONS) && \
197                 chmod +x $@.new && mv $@.new $@
198
199 endif
200
201 ## Python scripts.
202 if HAVE_PYTHON
203
204 if HAVE_PYMOD_CDB
205 bin_SCRIPTS             += cdb-assign
206 dist_man_MANS           += cdb-assign.1
207 endif
208
209 CLEANFILES              += cdb-assign
210 EXTRA_DIST              += cdb-assign.in
211
212 cdb-assign: cdb-assign.in Makefile
213         $(SUBST) $(srcdir)/cdb-assign.in >$@.new $(SUBSTITUTIONS) && \
214                 chmod +x $@.new && mv $@.new $@
215
216 if HAVE_PYMOD_CDB
217 bin_SCRIPTS             += cdb-list
218 dist_man_MANS           += cdb-list.1
219 endif
220
221 CLEANFILES              += cdb-list
222 EXTRA_DIST              += cdb-list.in
223
224 cdb-list: cdb-list.in Makefile
225         $(SUBST) $(srcdir)/cdb-list.in >$@.new $(SUBSTITUTIONS) && \
226                 chmod +x $@.new && mv $@.new $@
227
228 if HAVE_PYMOD_CDB
229 bin_SCRIPTS             += cdb-map
230 dist_man_MANS           += cdb-map.1
231 endif
232
233 CLEANFILES              += cdb-map
234 EXTRA_DIST              += cdb-map.in
235
236 cdb-map: cdb-map.in Makefile
237         $(SUBST) $(srcdir)/cdb-map.in >$@.new $(SUBSTITUTIONS) && \
238                 chmod +x $@.new && mv $@.new $@
239
240 endif
241
242 ## Perl scripts.
243 if HAVE_PERL
244
245 sbin_SCRIPTS            += shadowfix
246 CLEANFILES              += shadowfix
247 EXTRA_DIST              += shadowfix.in
248
249 shadowfix: shadowfix.in Makefile
250         $(SUBST) $(srcdir)/shadowfix.in >$@.new $(SUBSTITUTIONS) && \
251                 chmod +x $@.new && mv $@.new $@
252
253 man_MANS                += shadowfix.8
254 CLEANFILES              += shadowfix.8
255
256 shadowfix.8: shadowfix.in
257         $(AM_V_GEN)pod2man --section 8 $(srcdir)/shadowfix.in >$@.new && \
258                 mv $@.new $@
259
260 bin_SCRIPTS             += unfwd
261 CLEANFILES              += unfwd
262 EXTRA_DIST              += unfwd.in
263 dist_man_MANS           += unfwd.1
264
265 unfwd: unfwd.in Makefile
266         $(SUBST) $(srcdir)/unfwd.in >$@.new $(SUBSTITUTIONS) && \
267                 chmod +x $@.new && mv $@.new $@
268
269 endif
270
271 ## Perl modules.
272 if HAVE_PERL
273 dist_perlmod_DATA        = MdwOpt.pm
274 endif
275
276 ## Tcl scripts.
277 if HAVE_TCLSH
278
279 bin_SCRIPTS             += splitconf
280 CLEANFILES              += splitconf
281 EXTRA_DIST              += splitconf.in
282 dist_man_MANS           += splitconf.1
283
284 splitconf: splitconf.in Makefile
285         $(SUBST) $(srcdir)/splitconf.in >$@.new $(SUBSTITUTIONS) && \
286                 chmod +x $@.new && mv $@.new $@
287
288 endif
289
290 ###--------------------------------------------------------------------------
291 ### Other administrivia.
292
293 dist-hook:
294         echo $(VERSION) >$(distdir)/RELEASE
295
296 EXTRA_DIST              += config/auto-version
297
298 ###--------------------------------------------------------------------------
299 ### Debian.
300
301 ## Standard files.
302 EXTRA_DIST              += debian/rules
303 EXTRA_DIST              += debian/copyright
304 EXTRA_DIST              += debian/changelog
305 EXTRA_DIST              += debian/control
306 EXTRA_DIST              += debian/compat
307
308 ## What to install where.
309 EXTRA_DIST              += debian/inst
310
311 ###----- That's all, folks --------------------------------------------------