~ubuntu-branches/ubuntu/utopic/coreutils/utopic-proposed

« back to all changes in this revision

Viewing changes to src/Makefile.am

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2012-11-28 03:03:42 UTC
  • mfrom: (8.3.4 sid)
  • Revision ID: package-import@ubuntu.com-20121128030342-21zanj8354gas5gr
Tags: 8.20-3ubuntu1
* Resynchronise with Debian.  Remaining changes:
  - Make 'uname -i -p' return the real processor/hardware, instead of
    unknown.
  - Build-depend on gettext:any instead of on gettext, so that apt-get can
    properly resolve build-dependencies on the tool when cross-building.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
## Process this file with automake to produce Makefile.in -*-Makefile-*-
2
 
 
3
 
## Copyright (C) 1990-1991, 1993-2011 Free Software Foundation, Inc.
4
 
 
5
 
## This program is free software: you can redistribute it and/or modify
6
 
## it under the terms of the GNU General Public License as published by
7
 
## the Free Software Foundation, either version 3 of the License, or
8
 
## (at your option) any later version.
9
 
##
10
 
## This program is distributed in the hope that it will be useful,
11
 
## but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 
## GNU General Public License for more details.
14
 
##
15
 
## You should have received a copy of the GNU General Public License
16
 
## along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
 
 
18
 
# These are the names of programs that are not installed by default.
19
 
# This list is *not* intended for programs like who, nice, chroot, etc.,
20
 
# that are built only when certain requisite system features are detected.
21
 
# Hence, if you want to install programs from this list anyway, say A and B,
22
 
# use --enable-install-program=A,B
23
 
no_install__progs = \
24
 
  arch hostname su
25
 
 
26
 
build_if_possible__progs = \
27
 
  chroot        \
28
 
  df            \
29
 
  hostid        \
30
 
  libstdbuf.so  \
31
 
  nice          \
32
 
  pinky         \
33
 
  stdbuf        \
34
 
  stty          \
35
 
  su            \
36
 
  uptime        \
37
 
  users         \
38
 
  who
39
 
 
40
 
AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
41
 
 
42
 
EXTRA_PROGRAMS = \
43
 
  $(no_install__progs) \
44
 
  $(build_if_possible__progs) \
45
 
  [             \
46
 
  base64        \
47
 
  basename      \
48
 
  cat           \
49
 
  chcon         \
50
 
  chgrp         \
51
 
  chmod         \
52
 
  chown         \
53
 
  cksum         \
54
 
  comm          \
55
 
  cp            \
56
 
  csplit        \
57
 
  cut           \
58
 
  date          \
59
 
  dd            \
60
 
  dir           \
61
 
  dircolors     \
62
 
  dirname       \
63
 
  du            \
64
 
  echo          \
65
 
  env           \
66
 
  expand        \
67
 
  expr          \
68
 
  factor        \
69
 
  false         \
70
 
  fmt           \
71
 
  fold          \
72
 
  ginstall      \
73
 
  groups        \
74
 
  head          \
75
 
  id            \
76
 
  join          \
77
 
  kill          \
78
 
  link          \
79
 
  ln            \
80
 
  logname       \
81
 
  ls            \
82
 
  md5sum        \
83
 
  mkdir         \
84
 
  mkfifo        \
85
 
  mknod         \
86
 
  mktemp        \
87
 
  mv            \
88
 
  nl            \
89
 
  nproc         \
90
 
  nohup         \
91
 
  od            \
92
 
  paste         \
93
 
  pathchk       \
94
 
  pr            \
95
 
  printenv      \
96
 
  printf        \
97
 
  ptx           \
98
 
  pwd           \
99
 
  readlink      \
100
 
  rm            \
101
 
  rmdir         \
102
 
  runcon        \
103
 
  seq           \
104
 
  sha1sum       \
105
 
  sha224sum     \
106
 
  sha256sum     \
107
 
  sha384sum     \
108
 
  sha512sum     \
109
 
  shred         \
110
 
  shuf          \
111
 
  sleep         \
112
 
  sort          \
113
 
  split         \
114
 
  stat          \
115
 
  sum           \
116
 
  sync          \
117
 
  tac           \
118
 
  tail          \
119
 
  tee           \
120
 
  test          \
121
 
  timeout       \
122
 
  touch         \
123
 
  tr            \
124
 
  true          \
125
 
  truncate      \
126
 
  tsort         \
127
 
  tty           \
128
 
  uname         \
129
 
  unexpand      \
130
 
  uniq          \
131
 
  unlink        \
132
 
  vdir          \
133
 
  wc            \
134
 
  whoami        \
135
 
  yes
136
 
 
137
 
bin_PROGRAMS = $(OPTIONAL_BIN_PROGS)
138
 
 
139
 
noinst_PROGRAMS = setuidgid getlimits
140
 
 
141
 
pkglibexec_PROGRAMS = $(OPTIONAL_PKGLIB_PROGS)
142
 
 
143
 
noinst_HEADERS =        \
144
 
  chown-core.h          \
145
 
  copy.h                \
146
 
  cp-hash.h             \
147
 
  dircolors.h           \
148
 
  fiemap.h              \
149
 
  find-mount-point.h    \
150
 
  fs.h                  \
151
 
  group-list.h          \
152
 
  ioblksize.h           \
153
 
  ls.h                  \
154
 
  operand2sig.h         \
155
 
  prog-fprintf.h        \
156
 
  remove.h              \
157
 
  system.h              \
158
 
  wheel-size.h          \
159
 
  wheel.h               \
160
 
  uname.h
161
 
 
162
 
EXTRA_DIST = dcgen dircolors.hin tac-pipe.c \
163
 
  wheel-gen.pl extract-magic c99-to-c89.diff
164
 
BUILT_SOURCES =
165
 
CLEANFILES = $(SCRIPTS) su
166
 
 
167
 
# Also remove these sometimes-built programs.
168
 
# For example, even when excluded, they're built via _sc_check-AUTHORS.
169
 
CLEANFILES += $(no_install__progs)
170
 
 
171
 
AM_CPPFLAGS = -I$(top_srcdir)/lib
172
 
 
173
 
noinst_LIBRARIES = libver.a
174
 
nodist_libver_a_SOURCES = version.c version.h
175
 
 
176
 
# Tell the linker to omit references to unused shared libraries.
177
 
AM_LDFLAGS = $(IGNORE_UNUSED_LIBRARIES_CFLAGS)
178
 
 
179
 
# Sometimes, the expansion of $(LIBINTL) includes -lc which may
180
 
# include modules defining variables like `optind', so libcoreutils.a
181
 
# must precede $(LIBINTL) in order to ensure we use GNU getopt.
182
 
# But libcoreutils.a must also follow $(LIBINTL), since libintl uses
183
 
# replacement functions defined in libcoreutils.a.
184
 
LDADD = libver.a ../lib/libcoreutils.a $(LIBINTL) ../lib/libcoreutils.a
185
 
 
186
 
# First, list all programs, to make listing per-program libraries easier.
187
 
# See [ below.
188
 
arch_LDADD = $(LDADD)
189
 
base64_LDADD = $(LDADD)
190
 
basename_LDADD = $(LDADD)
191
 
cat_LDADD = $(LDADD)
192
 
chcon_LDADD = $(LDADD)
193
 
chgrp_LDADD = $(LDADD)
194
 
chmod_LDADD = $(LDADD)
195
 
chown_LDADD = $(LDADD)
196
 
chroot_LDADD = $(LDADD)
197
 
cksum_LDADD = $(LDADD)
198
 
comm_LDADD = $(LDADD)
199
 
nproc_LDADD = $(LDADD)
200
 
cp_LDADD = $(LDADD)
201
 
csplit_LDADD = $(LDADD)
202
 
cut_LDADD = $(LDADD)
203
 
date_LDADD = $(LDADD)
204
 
dd_LDADD = $(LDADD)
205
 
df_LDADD = $(LDADD)
206
 
# See dir_LDADD below
207
 
dircolors_LDADD = $(LDADD)
208
 
dirname_LDADD = $(LDADD)
209
 
du_LDADD = $(LDADD)
210
 
echo_LDADD = $(LDADD)
211
 
env_LDADD = $(LDADD)
212
 
expand_LDADD = $(LDADD)
213
 
expr_LDADD = $(LDADD)
214
 
factor_LDADD = $(LDADD)
215
 
false_LDADD = $(LDADD)
216
 
fmt_LDADD = $(LDADD)
217
 
fold_LDADD = $(LDADD)
218
 
getlimits_LDADD = $(LDADD)
219
 
ginstall_LDADD = $(LDADD)
220
 
groups_LDADD = $(LDADD)
221
 
head_LDADD = $(LDADD)
222
 
hostid_LDADD = $(LDADD)
223
 
hostname_LDADD = $(LDADD)
224
 
id_LDADD = $(LDADD)
225
 
join_LDADD = $(LDADD)
226
 
kill_LDADD = $(LDADD)
227
 
link_LDADD = $(LDADD)
228
 
ln_LDADD = $(LDADD)
229
 
logname_LDADD = $(LDADD)
230
 
ls_LDADD = $(LDADD)
231
 
md5sum_LDADD = $(LDADD)
232
 
mkdir_LDADD = $(LDADD)
233
 
mkfifo_LDADD = $(LDADD)
234
 
mknod_LDADD = $(LDADD)
235
 
mktemp_LDADD = $(LDADD)
236
 
mv_LDADD = $(LDADD)
237
 
nice_LDADD = $(LDADD)
238
 
nl_LDADD = $(LDADD)
239
 
nohup_LDADD = $(LDADD)
240
 
od_LDADD = $(LDADD)
241
 
paste_LDADD = $(LDADD)
242
 
pathchk_LDADD = $(LDADD)
243
 
pinky_LDADD = $(LDADD)
244
 
pr_LDADD = $(LDADD)
245
 
printenv_LDADD = $(LDADD)
246
 
printf_LDADD = $(LDADD)
247
 
ptx_LDADD = $(LDADD)
248
 
pwd_LDADD = $(LDADD)
249
 
readlink_LDADD = $(LDADD)
250
 
rm_LDADD = $(LDADD)
251
 
rmdir_LDADD = $(LDADD)
252
 
runcon_LDADD = $(LDADD)
253
 
seq_LDADD = $(LDADD)
254
 
setuidgid_LDADD = $(LDADD)
255
 
sha1sum_LDADD = $(LDADD)
256
 
sha224sum_LDADD = $(LDADD)
257
 
sha256sum_LDADD = $(LDADD)
258
 
sha384sum_LDADD = $(LDADD)
259
 
sha512sum_LDADD = $(LDADD)
260
 
shred_LDADD = $(LDADD)
261
 
shuf_LDADD = $(LDADD)
262
 
sleep_LDADD = $(LDADD)
263
 
sort_LDADD = $(LDADD)
264
 
split_LDADD = $(LDADD)
265
 
stat_LDADD = $(LDADD)
266
 
stdbuf_LDADD = $(LDADD)
267
 
stty_LDADD = $(LDADD)
268
 
su_LDADD = $(LDADD)
269
 
sum_LDADD = $(LDADD)
270
 
sync_LDADD = $(LDADD)
271
 
tac_LDADD = $(LDADD)
272
 
tail_LDADD = $(LDADD)
273
 
tee_LDADD = $(LDADD)
274
 
test_LDADD = $(LDADD)
275
 
timeout_LDADD = $(LDADD)
276
 
touch_LDADD = $(LDADD)
277
 
tr_LDADD = $(LDADD)
278
 
true_LDADD = $(LDADD)
279
 
truncate_LDADD = $(LDADD)
280
 
tsort_LDADD = $(LDADD)
281
 
tty_LDADD = $(LDADD)
282
 
uname_LDADD = $(LDADD)
283
 
unexpand_LDADD = $(LDADD)
284
 
uniq_LDADD = $(LDADD)
285
 
unlink_LDADD = $(LDADD)
286
 
uptime_LDADD = $(LDADD)
287
 
users_LDADD = $(LDADD)
288
 
# See vdir_LDADD below
289
 
wc_LDADD = $(LDADD)
290
 
who_LDADD = $(LDADD)
291
 
whoami_LDADD = $(LDADD)
292
 
yes_LDADD = $(LDADD)
293
 
 
294
 
# Synonyms.  Recall that Automake transliterates '[' to '_'.
295
 
__LDADD = $(test_LDADD)
296
 
dir_LDADD = $(ls_LDADD)
297
 
vdir_LDADD = $(ls_LDADD)
298
 
 
299
 
# Shared files
300
 
copy_LDADD =
301
 
cp_LDADD += $(copy_LDADD)
302
 
ginstall_LDADD += $(copy_LDADD)
303
 
mv_LDADD += $(copy_LDADD)
304
 
 
305
 
remove_LDADD =
306
 
mv_LDADD += $(remove_LDADD)
307
 
rm_LDADD += $(remove_LDADD)
308
 
 
309
 
# for eaccess, euidaccess
310
 
copy_LDADD += $(LIB_EACCESS)
311
 
remove_LDADD += $(LIB_EACCESS)
312
 
test_LDADD += $(LIB_EACCESS)
313
 
 
314
 
# for selinux use
315
 
chcon_LDADD += $(LIB_SELINUX)
316
 
copy_LDADD += $(LIB_SELINUX)
317
 
ginstall_LDADD += $(LIB_SELINUX)
318
 
id_LDADD += $(LIB_SELINUX)
319
 
ls_LDADD += $(LIB_SELINUX)
320
 
mkdir_LDADD += $(LIB_SELINUX)
321
 
mkfifo_LDADD += $(LIB_SELINUX)
322
 
mknod_LDADD += $(LIB_SELINUX)
323
 
runcon_LDADD += $(LIB_SELINUX)
324
 
stat_LDADD += $(LIB_SELINUX)
325
 
 
326
 
# for gettime, settime, utimecmp, utimens
327
 
copy_LDADD += $(LIB_CLOCK_GETTIME)
328
 
date_LDADD += $(LIB_CLOCK_GETTIME)
329
 
ginstall_LDADD += $(LIB_CLOCK_GETTIME)
330
 
ls_LDADD += $(LIB_CLOCK_GETTIME)
331
 
pr_LDADD += $(LIB_CLOCK_GETTIME)
332
 
timeout_LDADD += $(LIB_TIMER_TIME)
333
 
touch_LDADD += $(LIB_CLOCK_GETTIME)
334
 
 
335
 
# for gethrxtime
336
 
dd_LDADD += $(LIB_GETHRXTIME)
337
 
 
338
 
# for cap_get_file
339
 
ls_LDADD += $(LIB_CAP)
340
 
 
341
 
# for fdatasync
342
 
dd_LDADD += $(LIB_FDATASYNC)
343
 
shred_LDADD += $(LIB_FDATASYNC)
344
 
 
345
 
# for xnanosleep
346
 
sleep_LDADD += $(LIB_NANOSLEEP)
347
 
sort_LDADD += $(LIB_NANOSLEEP)
348
 
tail_LDADD += $(LIB_NANOSLEEP)
349
 
 
350
 
# for various GMP functions
351
 
expr_LDADD += $(LIB_GMP)
352
 
factor_LDADD += $(LIB_GMP)
353
 
 
354
 
# for getloadavg
355
 
uptime_LDADD += $(GETLOADAVG_LIBS)
356
 
 
357
 
# for crypt
358
 
su_LDADD += $(LIB_CRYPT)
359
 
 
360
 
# for various ACL functions
361
 
copy_LDADD += $(LIB_ACL)
362
 
ls_LDADD += $(LIB_ACL)
363
 
 
364
 
# for various xattr functions
365
 
copy_LDADD += $(LIB_XATTR)
366
 
 
367
 
# for print_unicode_char, proper_name_utf8
368
 
cat_LDADD += $(LIBICONV)
369
 
cp_LDADD += $(LIBICONV)
370
 
df_LDADD += $(LIBICONV)
371
 
du_LDADD += $(LIBICONV)
372
 
getlimits_LDADD += $(LIBICONV)
373
 
printf_LDADD += $(LIBICONV)
374
 
ptx_LDADD += $(LIBICONV)
375
 
split_LDADD += $(LIBICONV)
376
 
stdbuf_LDADD += $(LIBICONV)
377
 
timeout_LDADD += $(LIBICONV)
378
 
truncate_LDADD += $(LIBICONV)
379
 
 
380
 
# for canon_host
381
 
pinky_LDADD += $(GETADDRINFO_LIB)
382
 
who_LDADD += $(GETADDRINFO_LIB)
383
 
 
384
 
# for gethostname, uname
385
 
hostname_LDADD += $(GETHOSTNAME_LIB)
386
 
uname_LDADD += $(GETHOSTNAME_LIB)
387
 
 
388
 
# for strsignal
389
 
kill_LDADD += $(LIBTHREAD)
390
 
 
391
 
# for pthread
392
 
sort_LDADD += $(LIB_PTHREAD)
393
 
 
394
 
$(PROGRAMS): ../lib/libcoreutils.a
395
 
 
396
 
# Get the release year from ../lib/version-etc.c.
397
 
RELEASE_YEAR = \
398
 
  `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \
399
 
    $(top_srcdir)/lib/version-etc.c`
400
 
 
401
 
all-local: su$(EXEEXT)
402
 
 
403
 
installed_su = $(DESTDIR)$(bindir)/`echo su|sed '$(transform)'`
404
 
 
405
 
setuid_root_mode = a=rx,u+s
406
 
 
407
 
install_su =                                            \
408
 
  if test "$(INSTALL_SU)" = yes; then                   \
409
 
    p=su;                                               \
410
 
    echo " $(INSTALL_PROGRAM) $$p $(installed_su)";     \
411
 
    $(INSTALL_PROGRAM) $$p $(installed_su);             \
412
 
    echo " chown root $(installed_su)";                 \
413
 
    chown root $(installed_su);                         \
414
 
    echo " chmod $(setuid_root_mode) $(installed_su)";  \
415
 
    chmod $(setuid_root_mode) $(installed_su);          \
416
 
  else                                                  \
417
 
    :;                                                  \
418
 
  fi
419
 
 
420
 
install-root: su$(EXEEXT)
421
 
        @$(install_su)
422
 
 
423
 
install-exec-hook: su$(EXEEXT)
424
 
        @if test "$(INSTALL_SU)" = yes; then                    \
425
 
          TMPFILE=$(DESTDIR)$(bindir)/.su-$$$$;                 \
426
 
          rm -f $$TMPFILE;                                      \
427
 
          echo > $$TMPFILE;                                     \
428
 
## See if we can create a setuid root executable in $(bindir).
429
 
## If not, then don't even try to install su.
430
 
          can_create_suid_root_executable=no;                   \
431
 
          chown root $$TMPFILE > /dev/null 2>&1                 \
432
 
            && chmod $(setuid_root_mode) $$TMPFILE > /dev/null 2>&1 \
433
 
            && can_create_suid_root_executable=yes;             \
434
 
          rm -f $$TMPFILE;                                      \
435
 
          if test $$can_create_suid_root_executable = yes; then \
436
 
            $(install_su);                                      \
437
 
          else                                                  \
438
 
            echo "WARNING: insufficient access; not installing su"; \
439
 
            echo "NOTE: to install su, run 'make install-root' as root"; \
440
 
            rm -f $(installed_su);                              \
441
 
          fi;                                                   \
442
 
        else :;                                                 \
443
 
        fi
444
 
 
445
 
uninstall-local:
446
 
# Remove su only if it's one we installed.
447
 
        @if test "$(INSTALL_SU)" = yes; then                    \
448
 
          if grep '$(PACKAGE_NAME)' $(installed_su) > /dev/null 2>&1; then \
449
 
            echo "  rm -f $(installed_su)"; \
450
 
            rm -f $(installed_su); \
451
 
          else :; \
452
 
          fi; \
453
 
        fi
454
 
 
455
 
copy_sources = copy.c cp-hash.c extent-scan.c extent-scan.h
456
 
 
457
 
# Use `ginstall' in the definition of PROGRAMS and in dependencies to avoid
458
 
# confusion with the `install' target.  The install rule transforms `ginstall'
459
 
# to install before applying any user-specified name transformations.
460
 
 
461
 
transform = s/ginstall/install/; $(program_transform_name)
462
 
ginstall_SOURCES = install.c prog-fprintf.c $(copy_sources)
463
 
 
464
 
# This is for the '[' program.  Automake transliterates '[' to '_'.
465
 
__SOURCES = lbracket.c
466
 
 
467
 
cp_SOURCES = cp.c $(copy_sources)
468
 
dir_SOURCES = ls.c ls-dir.c
469
 
vdir_SOURCES = ls.c ls-vdir.c
470
 
id_SOURCES = id.c group-list.c
471
 
groups_SOURCES = groups.c group-list.c
472
 
ln_SOURCES = ln.c
473
 
ls_SOURCES = ls.c ls-ls.c
474
 
chown_SOURCES = chown.c chown-core.c
475
 
chgrp_SOURCES = chgrp.c chown-core.c
476
 
kill_SOURCES = kill.c operand2sig.c
477
 
timeout_SOURCES = timeout.c operand2sig.c
478
 
 
479
 
mv_SOURCES = mv.c remove.c $(copy_sources)
480
 
rm_SOURCES = rm.c remove.c
481
 
 
482
 
mkdir_SOURCES = mkdir.c prog-fprintf.c
483
 
rmdir_SOURCES = rmdir.c prog-fprintf.c
484
 
 
485
 
df_SOURCES = df.c find-mount-point.c
486
 
stat_SOURCES = stat.c find-mount-point.c
487
 
 
488
 
uname_SOURCES = uname.c uname-uname.c
489
 
arch_SOURCES = uname.c uname-arch.c
490
 
nproc_SOURCES = nproc.c
491
 
 
492
 
md5sum_SOURCES = md5sum.c
493
 
md5sum_CPPFLAGS = -DHASH_ALGO_MD5=1 $(AM_CPPFLAGS)
494
 
sha1sum_SOURCES = md5sum.c
495
 
sha1sum_CPPFLAGS = -DHASH_ALGO_SHA1=1 $(AM_CPPFLAGS)
496
 
sha224sum_SOURCES = md5sum.c
497
 
sha224sum_CPPFLAGS = -DHASH_ALGO_SHA224=1 $(AM_CPPFLAGS)
498
 
sha256sum_SOURCES = md5sum.c
499
 
sha256sum_CPPFLAGS = -DHASH_ALGO_SHA256=1 $(AM_CPPFLAGS)
500
 
sha384sum_SOURCES = md5sum.c
501
 
sha384sum_CPPFLAGS = -DHASH_ALGO_SHA384=1 $(AM_CPPFLAGS)
502
 
sha512sum_SOURCES = md5sum.c
503
 
sha512sum_CPPFLAGS = -DHASH_ALGO_SHA512=1 $(AM_CPPFLAGS)
504
 
 
505
 
ginstall_CPPFLAGS = -DENABLE_MATCHPATHCON=1 $(AM_CPPFLAGS)
506
 
 
507
 
# Ensure we don't link against libcoreutils.a as that lib is
508
 
# not compiled with -fPIC which causes issues on 64 bit at least
509
 
libstdbuf_so_LDADD =
510
 
 
511
 
# Note libstdbuf is only compiled if GCC is available
512
 
# (as per the check in configure.ac), so these flags should be available.
513
 
# libtool is probably required to relax this dependency.
514
 
libstdbuf_so_LDFLAGS = -shared
515
 
libstdbuf_so_CFLAGS = -fPIC $(AM_CFLAGS)
516
 
 
517
 
editpl = sed -e 's,@''PERL''@,$(PERL),g'
518
 
 
519
 
BUILT_SOURCES += dircolors.h
520
 
dircolors.h: dcgen dircolors.hin
521
 
        $(AM_V_GEN)rm -f $@ $@-t
522
 
        $(AM_V_at)$(PERL) -w -- $(srcdir)/dcgen $(srcdir)/dircolors.hin > $@-t
523
 
        $(AM_V_at)chmod a-w $@-t
524
 
        $(AM_V_at)mv $@-t $@
525
 
 
526
 
wheel_size = 5
527
 
 
528
 
BUILT_SOURCES += wheel-size.h
529
 
wheel-size.h: Makefile.am
530
 
        $(AM_V_GEN)rm -f $@ $@-t
531
 
        $(AM_V_at)echo '#define WHEEL_SIZE $(wheel_size)' > $@-t
532
 
        $(AM_V_at)chmod a-w $@-t
533
 
        $(AM_V_at)mv $@-t $@
534
 
 
535
 
BUILT_SOURCES += wheel.h
536
 
wheel.h: wheel-gen.pl Makefile.am
537
 
        $(AM_V_GEN)rm -f $@ $@-t
538
 
        $(AM_V_at)$(srcdir)/wheel-gen.pl $(wheel_size) > $@-t
539
 
        $(AM_V_at)chmod a-w $@-t
540
 
        $(AM_V_at)mv $@-t $@
541
 
 
542
 
# false exits nonzero even with --help or --version.
543
 
# test doesn't support --help or --version.
544
 
# Tell automake to exempt then from that installcheck test.
545
 
AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false test
546
 
 
547
 
# Compare fs.h with the list of file system names/magic-numbers in the
548
 
# Linux statfs man page.  This target prints any new name/number pairs.
549
 
# Also compare against /usr/include/linux/magic.h
550
 
.PHONY: fs-magic-compare
551
 
fs-magic-compare: fs-magic fs-kernel-magic fs-def
552
 
        join -v1 -t@ fs-magic fs-def
553
 
        join -v1 -t@ fs-kernel-magic fs-def
554
 
 
555
 
CLEANFILES += fs-def
556
 
fs-def: fs.h
557
 
        grep '^# *define ' $< | $(ASSORT) > $@-t && mv $@-t $@
558
 
 
559
 
# Massage bits of the statfs man page and definitions from
560
 
# /usr/include/linux/magic.h to be in a form consistent with what's in fs.h.
561
 
fs_normalize_perl_subst =                       \
562
 
  -e 's/MINIX_SUPER_MAGIC\b/MINIX/;'            \
563
 
  -e 's/MINIX_SUPER_MAGIC2\b/MINIX_30/;'        \
564
 
  -e 's/MINIX2_SUPER_MAGIC\b/MINIX_V2/;'        \
565
 
  -e 's/MINIX2_SUPER_MAGIC2\b/MINIX_V2_30/;'    \
566
 
  -e 's/MINIX3_SUPER_MAGIC\b/MINIX_V3/;'        \
567
 
  -e 's/CIFS_MAGIC_NUMBER/CIFS/;'               \
568
 
  -e 's/(_SUPER)?_MAGIC//;'                     \
569
 
  -e 's/\s+0x(\S+)/" 0x" . uc $$1/e;'           \
570
 
  -e 's/(\s+0x)(\X{3})\b/$${1}0$$2/;'           \
571
 
  -e 's/(\s+0x)(\X{6})\b/$${1}00$$2/;'          \
572
 
  -e 's/(\s+0x)(\X{7})\b/$${1}0$$2/;'           \
573
 
  -e 's/^\s+//;'                                \
574
 
  -e 's/^\#define\s+//;'                        \
575
 
  -e 's/^_(XIAFS)/$$1/;'                        \
576
 
  -e 's/^USBDEVICE/USBDEVFS/;'                  \
577
 
  -e 's/NTFS_SB/NTFS/;'                         \
578
 
  -e 's/^/\# define S_MAGIC_/;'                 \
579
 
  -e 's,\s*/\* .*? \*/,,;'
580
 
 
581
 
CLEANFILES += fs-magic
582
 
fs-magic: Makefile
583
 
        man statfs \
584
 
          |perl -ne '/File system types:/.../Nobody kno/ and print'     \
585
 
          |grep 0x | perl -p                                            \
586
 
            $(fs_normalize_perl_subst)                                  \
587
 
          | grep -Ev 'S_MAGIC_EXT[34]|STACK_END'                        \
588
 
          | LC_ALL=C sort                                               \
589
 
          > $@-t && mv $@-t $@
590
 
 
591
 
CLEANFILES += fs-kernel-magic
592
 
fs-kernel-magic: Makefile
593
 
        perl -ne '/^#define.*0x/ and print' /usr/include/linux/magic.h  \
594
 
          | perl -p                                                     \
595
 
            $(fs_normalize_perl_subst)                                  \
596
 
          | grep -Ev 'S_MAGIC_EXT[34]|STACK_END'                        \
597
 
          | LC_ALL=C sort                                               \
598
 
          > $@-t && mv $@-t $@
599
 
 
600
 
BUILT_SOURCES += fs.h
601
 
fs.h: stat.c extract-magic
602
 
        $(AM_V_GEN)rm -f $@
603
 
        $(AM_V_at)$(PERL) $(srcdir)/extract-magic $(srcdir)/stat.c > $@t
604
 
        $(AM_V_at)chmod a-w $@t
605
 
        $(AM_V_at)mv $@t $@
606
 
 
607
 
BUILT_SOURCES += version.c
608
 
version.c: Makefile
609
 
        $(AM_V_GEN)rm -f $@
610
 
        $(AM_V_at)printf '#include <config.h>\n' > $@t
611
 
        $(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t
612
 
        $(AM_V_at)chmod a-w $@t
613
 
        $(AM_V_at)mv $@t $@
614
 
 
615
 
BUILT_SOURCES += version.h
616
 
version.h: Makefile
617
 
        $(AM_V_GEN)rm -f $@
618
 
        $(AM_V_at)printf 'extern char const *Version;\n' > $@t
619
 
        $(AM_V_at)chmod a-w $@t
620
 
        $(AM_V_at)mv $@t $@
621
 
 
622
 
DISTCLEANFILES = version.c version.h
623
 
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
624
 
 
625
 
# Sort in traditional ASCII order, regardless of the current locale;
626
 
# otherwise we may get into trouble with distinct strings that the
627
 
# current locale considers to be equal.
628
 
ASSORT = LC_ALL=C sort
629
 
 
630
 
all_programs = \
631
 
    $(bin_PROGRAMS) \
632
 
    $(bin_SCRIPTS) \
633
 
  $(EXTRA_PROGRAMS)
634
 
 
635
 
built_programs.list:
636
 
        @echo $(bin_PROGRAMS) $(bin_SCRIPTS) | tr ' ' '\n' \
637
 
          | sed -e 's,$(EXEEXT)$$,,' | $(ASSORT) -u | tr '\n' ' '
638
 
 
639
 
all_programs.list:
640
 
        @echo $(all_programs) | tr ' ' '\n' | sed -e 's,$(EXEEXT)$$,,' \
641
 
          | sed /libstdbuf/d \
642
 
          | $(ASSORT) -u
643
 
 
644
 
# This is required because we have broken inter-directory dependencies:
645
 
# in order to generate all man pages, even those for which we don't
646
 
# install a binary, require that all programs be built at distribution time.
647
 
dist-hook: $(all_programs)
648
 
 
649
 
# Ensure that all programs are built so we can for example
650
 
# subsequently syntax check all man pages.
651
 
.PHONY: all_programs
652
 
all_programs: $(all_programs)
653
 
 
654
 
pm = progs-makefile
655
 
pr = progs-readme
656
 
# Ensure that the list of programs in README matches the list
657
 
# of programs we can build.
658
 
check: check-README check-duplicate-no-install
659
 
.PHONY: check-README
660
 
check-README:
661
 
        $(AM_V_GEN)rm -rf $(pr) $(pm)
662
 
        $(AM_V_at)echo $(all_programs) \
663
 
         | tr -s ' ' '\n' | sed -e 's,$(EXEEXT)$$,,;s/ginstall/install/' \
664
 
         | sed /libstdbuf/d \
665
 
         | $(ASSORT) -u > $(pm) && \
666
 
        sed -n '/^The programs .* are:/,/^[a-zA-Z]/p' $(top_srcdir)/README \
667
 
          | sed -n '/^   */s///p' | tr -s ' ' '\n' > $(pr)
668
 
        $(AM_V_at)diff $(pm) $(pr) && rm -rf $(pr) $(pm)
669
 
 
670
 
# Ensure that a by-default-not-installed program (listed in
671
 
# $(no_install__progs) is not also listed in $(EXTRA_PROGRAMS), because
672
 
# if that were to happen, it *would* be installed by default.
673
 
.PHONY: check-duplicate-no-install
674
 
check-duplicate-no-install: tr
675
 
        $(AM_V_GEN)test -z "`echo '$(EXTRA_PROGRAMS)'| ./tr ' ' '\n' | uniq -d`"
676
 
 
677
 
# Ensure that the list of programs and author names is accurate.
678
 
# We need a UTF8 locale.  If a lack of locale support or a missing
679
 
# translation inhibits printing of UTF-8 names, just skip this test.
680
 
au_dotdot = authors-dotdot
681
 
au_actual = authors-actual
682
 
.PHONY: _sc_check-AUTHORS
683
 
_sc_check-AUTHORS: $(all_programs)
684
 
        @locale=en_US.UTF-8;                            \
685
 
        LC_ALL=$$locale ./cat --version                 \
686
 
            | grep ' Torbjorn ' > /dev/null             \
687
 
          && { echo "$@: skipping this check"; exit 0; }; \
688
 
        rm -f $(au_actual) $(au_dotdot);                \
689
 
        for i in `ls $(all_programs) | sed -e 's,$(EXEEXT)$$,,' \
690
 
            | sed /libstdbuf/d                          \
691
 
            | $(ASSORT) -u`; do                         \
692
 
          test "$$i" = '[' && continue;                 \
693
 
          exe=$$i;                                      \
694
 
          if test "$$i" = install; then                 \
695
 
            exe=ginstall;                               \
696
 
          elif test "$$i" = test; then                  \
697
 
            exe='[';                                    \
698
 
          fi;                                           \
699
 
          LC_ALL=$$locale ./$$exe --version             \
700
 
            | perl -0 -pi -e 's/,\n/, /gm'              \
701
 
            | sed -n -e '/Written by /{ s//'"$$i"': /;' \
702
 
                  -e 's/,* and /, /; s/\.$$//; p; }';   \
703
 
        done > $(au_actual) &&                          \
704
 
        sed -n '/^[^ ][^ ]*:/p' $(top_srcdir)/AUTHORS > $(au_dotdot) && \
705
 
        diff $(au_actual) $(au_dotdot) && rm -f $(au_actual) $(au_dotdot)
706
 
 
707
 
# Use the just-built ./ginstall, when not cross-compiling.
708
 
if CROSS_COMPILING
709
 
cu_install_program = @INSTALL_PROGRAM@
710
 
else
711
 
cu_install_program = ./ginstall
712
 
endif
713
 
INSTALL_PROGRAM = $(cu_install_program)