2006-08-18 03:58:17 +08:00
|
|
|
# Make coreutils. -*-Makefile-*-
|
|
|
|
|
2024-01-01 21:22:42 +08:00
|
|
|
# Copyright (C) 1990-2024 Free Software Foundation, Inc.
|
2006-08-18 03:58:17 +08:00
|
|
|
|
2007-07-23 20:35:58 +08:00
|
|
|
# This program is free software: you can redistribute it and/or modify
|
2006-08-18 03:58:17 +08:00
|
|
|
# it under the terms of the GNU General Public License as published by
|
2007-07-23 20:35:58 +08:00
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
2006-08-18 03:58:17 +08:00
|
|
|
# (at your option) any later version.
|
|
|
|
|
|
|
|
# This program 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
|
2017-09-19 16:13:23 +08:00
|
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
2002-07-01 16:13:49 +08:00
|
|
|
|
build: avoid parallel distcheck failure
* Makefile.am (ALL_RECURSIVE_TARGETS): Initialize here, too,
to please automake. Add install-root, check-root, distcheck-hook.
* cfg.mk (ALL_RECURSIVE_TARGETS): Add sc_tight_scope.
* maint.mk (ALL_RECURSIVE_TARGETS): Add patch-check,
check-AUTHORS, maintainer-distcheck, vc-dist, taint-distcheck,
my-distcheck, alpha, beta, major.
2009-04-11 20:48:49 +08:00
|
|
|
ALL_RECURSIVE_TARGETS =
|
|
|
|
|
2012-09-09 14:21:16 +08:00
|
|
|
SUBDIRS = po . gnulib-tests
|
2009-04-04 18:39:44 +08:00
|
|
|
|
|
|
|
EXTRA_DIST = \
|
2008-11-17 19:05:27 +08:00
|
|
|
.mailmap \
|
2009-04-04 18:39:44 +08:00
|
|
|
.prev-version \
|
|
|
|
.version \
|
|
|
|
.vg-suppressions \
|
2022-08-14 03:48:12 +08:00
|
|
|
README-install \
|
2008-11-17 19:05:27 +08:00
|
|
|
THANKS.in \
|
2009-04-04 18:39:44 +08:00
|
|
|
THANKS-to-translators \
|
|
|
|
THANKStt.in \
|
|
|
|
bootstrap \
|
|
|
|
bootstrap.conf \
|
build: refactor how lists of coreutils programs are defined
This is in preparation of future changes. Still, this patch
leaves the build system in a better shape; true, with more
indirections, but also with less convoluted and brittle hacks.
Unfortunately, this commit also makes some rebuild rules
incomplete; that will son be fixed by follow-up patches.
* build-aux/gen-lists-of-programs.sh: New, generates autoconf
and automake input fragments that define "lists" of all coreutils
programs, with further distinctions about how and when these
programs should be built (by default; if the system is capable
enough; only if the user asks for them explicitly). This is
useful to avoid duplicating the definitions of these lists among
several files (at least 'configure.ac' 'src/Makefile.am'); such
duplication had proved a source of inconsistencies and bugs in
the past. And the pre-existing way to avoid such duplication,
as implemented in 'configure.ac' before this patch, was overly
complex and brittle.
* Makefile.am (EXTRA_DIST): Distribute the new script.
* bootstrap.conf (bootstrap_post_import_hook): Run the new script
to generate 'm4/cu-progs.m4' and 'src/cu-progs.mk'.
* .gitignore: Ignore those files.
* configure.ac: Include 'm4/cu-progs.m4', and decidedly simplify
most of the program lists definition and processing accordingly.
* src/Makefile.am: Similarly include 'src/cu-progs.mk', containing
definition of variables $(default__progs), $(no_install__progs)
and $(build_if_possible__progs). Accordingly ...
(no_install__progs, build_if_possible__progs): ... remove.
(EXTRA_DIST): Adjust definition.
Adjust a comment.
2012-09-01 07:46:39 +08:00
|
|
|
build-aux/gen-lists-of-programs.sh \
|
2014-06-06 10:50:32 +08:00
|
|
|
build-aux/gen-single-binary.sh \
|
2009-04-04 18:39:44 +08:00
|
|
|
cfg.mk \
|
2009-04-25 03:36:22 +08:00
|
|
|
dist-check.mk \
|
2008-11-17 19:05:27 +08:00
|
|
|
maint.mk \
|
2012-09-14 15:25:33 +08:00
|
|
|
tests/GNUmakefile \
|
2008-11-17 19:05:27 +08:00
|
|
|
thanks-gen
|
2002-07-01 16:13:49 +08:00
|
|
|
|
2012-09-01 07:46:42 +08:00
|
|
|
gen_progs_lists = $(top_srcdir)/build-aux/gen-lists-of-programs.sh
|
2014-06-06 10:50:32 +08:00
|
|
|
gen_single_binary = $(top_srcdir)/build-aux/gen-single-binary.sh
|
2012-09-01 07:46:42 +08:00
|
|
|
|
|
|
|
# Keep these in sync with bootstrap.conf:bootstrap_post_import_hook().
|
|
|
|
# Use '$(top_srcdir)/m4' and '$(srcdir)/src' for the benefit of non-GNU
|
|
|
|
# makes: it is with those directories that 'cu-progs.m4' and 'cu-progs.mk'
|
|
|
|
# appear in our dependencies.
|
|
|
|
$(top_srcdir)/m4/cu-progs.m4: $(gen_progs_lists)
|
|
|
|
$(AM_V_GEN)rm -f $@ $@-t \
|
|
|
|
&& $(SHELL) $(gen_progs_lists) --autoconf >$@-t \
|
|
|
|
&& chmod a-w $@-t && mv -f $@-t $@
|
|
|
|
$(srcdir)/src/cu-progs.mk: $(gen_progs_lists)
|
|
|
|
$(AM_V_GEN)rm -f $@ $@-t \
|
|
|
|
&& $(SHELL) $(gen_progs_lists) --automake >$@-t \
|
|
|
|
&& chmod a-w $@-t && mv -f $@-t $@
|
2014-06-06 10:50:32 +08:00
|
|
|
$(srcdir)/src/single-binary.mk: $(gen_single_binary) $(srcdir)/src/local.mk
|
|
|
|
$(AM_V_GEN)rm -f $@ $@-t \
|
|
|
|
&& $(SHELL) $(gen_single_binary) $(srcdir)/src/local.mk >$@-t \
|
|
|
|
&& chmod a-w $@-t && mv -f $@-t $@
|
2012-09-01 07:46:42 +08:00
|
|
|
|
2002-07-01 16:13:49 +08:00
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
|
2011-09-20 02:00:56 +08:00
|
|
|
# Shortcut targets to make it easier to run (very) expensive tests.
|
|
|
|
check-expensive:
|
|
|
|
$(MAKE) check RUN_EXPENSIVE_TESTS=yes
|
|
|
|
check-very-expensive:
|
|
|
|
$(MAKE) check-expensive RUN_VERY_EXPENSIVE_TESTS=yes
|
|
|
|
|
2002-07-01 16:13:49 +08:00
|
|
|
# Just prior to distribution, ...
|
maint: quote 'like this' or "like this", not `like this'
* doc/coreutils.texi (Formatting the file names):
coreutils now quotes 'like this'.
* man/help2man:
* src/timeout.c (usage): Quote 'like this' in diagnostics.
* HACKING, Makefile.am, NEWS, README, README-hacking, TODO, cfg.mk:
* doc/Makefile.am, doc/coreutils.texi, m4/jm-macros.m4:
* man/Makefile.am, man/help2man, src/Makefile.am, src/copy.h:
* src/extract-magic, src/ls.c, src/pinky.c, src/pr.c, src/sort.c:
* src/split.c, src/timeout.c, src/who.c, tests/dd/skip-seek-past-file:
* tests/pr/pr-tests: Quote 'like this' in commentary.
* cfg.mk (old_NEWS_hash): Update due to changed old NEWS.
2012-01-23 07:26:00 +08:00
|
|
|
# transform the automake-generated rule that runs 'rm -f rm'.
|
2002-07-01 16:13:49 +08:00
|
|
|
# On some systems, that command would fail with a diagnostic like
|
maint: quote 'like this' or "like this", not `like this'
* doc/coreutils.texi (Formatting the file names):
coreutils now quotes 'like this'.
* man/help2man:
* src/timeout.c (usage): Quote 'like this' in diagnostics.
* HACKING, Makefile.am, NEWS, README, README-hacking, TODO, cfg.mk:
* doc/Makefile.am, doc/coreutils.texi, m4/jm-macros.m4:
* man/Makefile.am, man/help2man, src/Makefile.am, src/copy.h:
* src/extract-magic, src/ls.c, src/pinky.c, src/pr.c, src/sort.c:
* src/split.c, src/timeout.c, src/who.c, tests/dd/skip-seek-past-file:
* tests/pr/pr-tests: Quote 'like this' in commentary.
* cfg.mk (old_NEWS_hash): Update due to changed old NEWS.
2012-01-23 07:26:00 +08:00
|
|
|
# "rm: cannot unlink 'rm': Text file busy" when '.' appears so early
|
|
|
|
# in the shell's search path that running 'rm' would run the 'rm'
|
2002-07-01 16:13:49 +08:00
|
|
|
# executable in the current directory.
|
|
|
|
# Similarly, adjust the clean-binPROGRAMS rule.
|
|
|
|
rm_subst = \
|
2007-08-30 16:47:11 +08:00
|
|
|
s!(rm -f (rm\b|\$$\(bin_PROGRAMS\)$$))!$$1 > /dev/null 2>&1 || /bin/$$1!
|
|
|
|
|
2008-01-30 00:19:29 +08:00
|
|
|
BUILT_SOURCES = .version
|
2008-01-28 22:16:17 +08:00
|
|
|
.version:
|
2009-08-27 16:17:55 +08:00
|
|
|
$(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
|
2008-01-28 22:16:17 +08:00
|
|
|
|
2015-12-16 08:28:19 +08:00
|
|
|
# Have no read-only files in the tarball to allow easy removal.
|
|
|
|
# Have .tarball-version based versions only in tarball builds.
|
|
|
|
# Have .timestamp based dates only in tarball builds.
|
2007-08-30 16:47:11 +08:00
|
|
|
# The perl substitution is to change some key uses of "rm" to "/bin/rm".
|
|
|
|
# See the rm_subst comment for details.
|
maint: avoid spurious "make distcheck" failure
When the generated file, doc/constants.texi, happens to be older than
doc/coreutils.info, it will not be updated until/unless its generated
contents change. This is due to way that rule is careful to update
the file, to avoid provoking a pointless rerunning of makeinfo.
Note that this does not happen when one first runs "make distclean",
as recommended in README-release. However, I sometimes run it as
a more-rigorous "make check", and shouldn't have to manually run
"make distclean" first, in that case.
Before this change, one could reproduce the failure by running
`touch -dyesterday doc/constants.texi && make distcheck`. It would
fail with "makeinfo: could not open ../../doc/coreutils.info-t
for writing: Permission denied"
* Makefile.am (dist-hook): Touch the two generated files, so that
they cannot be out of date wrt doc/coreutils.texi.
2017-06-20 22:53:17 +08:00
|
|
|
# The touch avoids a subtle, spurious "make distcheck" failure.
|
build: man page generation: degrade gracefully when perl is lacking
Since commit v8.19-118-g57da212, our 'dist-hook' rule tweaked the
distributed Makefile.in to make each man page 'man/foo.1' depend
on the corresponding source 'src/foo.c' rather than the corresponding
program 'src/foo'. That was done to accommodate systems without
perl, which cannot run help2man to regenerate the manpage after
its corresponding program has been built.
This seems a right and proper graceful degradation, in that the
man pages dependencies are still 100% correct in a git checkout,
while being more lax but "more portable" in a distribution tarball.
Alas, that is not the case in practice, as it turns out the tweaked
Makefile makes the building of man pages unreliable and potentially
incorrect!
In fact, assume that instead of the correct a dependency:
man/ls.1: src/ls
we have the laxer one:
man/ls.1: src/ls.c
and think of what happens if a user modifies, say, 'src/ls.c', and then
runs "make -j4" to rebuild everything. The make process will see that
it has to rebuild the man page 'man/ls.1' (because its prerequisite
'src/ls.c' has changed), but won't see that it has to rebuild 'src/ls'
*before* re-running 'help2man' to generate that man page; so, if
'man/ls.1' is rebuilt before 'src/ls' (which can happen with concurrent
make), our user will get either a build error (if 'src/ls' did non
exist) or, worse, a man page with an up-to-date timestamp but an
out-of-date content. And what's even worse in all of this is that
this problem will be present also for users who have perl installed:
this is not a "graceful degradation" at all!
In our situation, the best and simplest way to implement a graceful
degradation it to keep the correct dependencies for man pages (that
is, "man/ls.1: src/ls"), and if perl is not present, just generate
dummy man pages reporting that built-time issue and redirecting the
user back to either the info documentation or the '--help' output.
As a consequence of this change, we also stop distributing man pages,
since they will now be generated unconditionally.
* Makefile.am (do-not-require-help2man): Remove.
(dist-hook): Don't depend on it.
* man/local.mk: Remove an obsolete comment.
(EXTRA_DIST): Stop distributing generated man pages.
($(EXTRA_MANS)): This no longer needs to depend on $(all_programs).
(MAINTAINERCLEANFILES): $(ALL_MANS) Do not list it here, and ...
(CLEANFILES): ... list it here, instead.
(.x.1): Instead of warning if perl is missing, but then trying to run
'help2man' unconditionally, simply run ...
(run_help2man): ... the command referenced by this new variable, that
expands to a proper invocation of 'help2man' if perl is present, and
to an invocation of a shell script generating a dummy manpage if it
is not.
(EXTRA_DIST): Distribute that shell script.
* man/dummy-man: New shell script.
* NEWS (Build-related): Mention this.
Fixes coreutils http://bugs.gnu.org/12715.
2012-09-12 02:54:30 +08:00
|
|
|
dist-hook: gen-ChangeLog
|
2015-12-17 19:46:59 +08:00
|
|
|
$(AM_V_GEN)chmod -R +rw $(distdir)
|
2009-08-27 16:17:55 +08:00
|
|
|
$(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
|
2015-11-27 20:26:00 +08:00
|
|
|
$(AM_V_GEN)date +%s > $(distdir)/.timestamp
|
2012-09-01 07:46:40 +08:00
|
|
|
$(AM_V_at)perl -pi -e '$(rm_subst)' $(distdir)/Makefile.in
|
maint: avoid spurious "make distcheck" failure
When the generated file, doc/constants.texi, happens to be older than
doc/coreutils.info, it will not be updated until/unless its generated
contents change. This is due to way that rule is careful to update
the file, to avoid provoking a pointless rerunning of makeinfo.
Note that this does not happen when one first runs "make distclean",
as recommended in README-release. However, I sometimes run it as
a more-rigorous "make check", and shouldn't have to manually run
"make distclean" first, in that case.
Before this change, one could reproduce the failure by running
`touch -dyesterday doc/constants.texi && make distcheck`. It would
fail with "makeinfo: could not open ../../doc/coreutils.info-t
for writing: Permission denied"
* Makefile.am (dist-hook): Touch the two generated files, so that
they cannot be out of date wrt doc/coreutils.texi.
2017-06-20 22:53:17 +08:00
|
|
|
$(AM_V_at)touch $(distdir)/doc/constants.texi \
|
|
|
|
$(distdir)/doc/coreutils.info
|
2002-08-26 20:58:30 +08:00
|
|
|
|
2023-08-24 19:10:49 +08:00
|
|
|
gen_start_ver = 8.30
|
2008-02-10 17:27:42 +08:00
|
|
|
.PHONY: gen-ChangeLog
|
|
|
|
gen-ChangeLog:
|
2009-08-27 16:17:55 +08:00
|
|
|
$(AM_V_GEN)if test -d .git; then \
|
2014-04-19 19:45:11 +08:00
|
|
|
log_fix="$(srcdir)/build-aux/git-log-fix"; \
|
2014-05-04 00:23:46 +08:00
|
|
|
test -e "$$log_fix" \
|
|
|
|
&& amend_git_log="--amend=$$log_fix" \
|
|
|
|
|| amend_git_log=; \
|
2017-02-01 13:55:22 +08:00
|
|
|
$(top_srcdir)/build-aux/gitlog-to-changelog $$amend_git_log \
|
|
|
|
-- v$(gen_start_ver)~.. > $(distdir)/cl-t && \
|
|
|
|
{ printf '\n\nSee the source repo for older entries\n' \
|
|
|
|
>> $(distdir)/cl-t && \
|
|
|
|
rm -f $(distdir)/ChangeLog && \
|
2014-04-19 19:45:11 +08:00
|
|
|
mv $(distdir)/cl-t $(distdir)/ChangeLog; } \
|
2008-02-10 17:27:42 +08:00
|
|
|
fi
|
|
|
|
|
build: avoid parallel distcheck failure
* Makefile.am (ALL_RECURSIVE_TARGETS): Initialize here, too,
to please automake. Add install-root, check-root, distcheck-hook.
* cfg.mk (ALL_RECURSIVE_TARGETS): Add sc_tight_scope.
* maint.mk (ALL_RECURSIVE_TARGETS): Add patch-check,
check-AUTHORS, maintainer-distcheck, vc-dist, taint-distcheck,
my-distcheck, alpha, beta, major.
2009-04-11 20:48:49 +08:00
|
|
|
ALL_RECURSIVE_TARGETS += distcheck-hook
|
2008-02-13 21:33:02 +08:00
|
|
|
distcheck-hook: check-ls-dircolors
|
2007-08-30 16:47:11 +08:00
|
|
|
$(MAKE) my-distcheck
|
2009-08-29 16:52:33 +08:00
|
|
|
$(MAKE) taint-distcheck
|
2006-07-14 22:27:38 +08:00
|
|
|
|
2008-01-26 22:48:53 +08:00
|
|
|
DISTCLEANFILES = VERSION
|
2007-08-30 16:47:11 +08:00
|
|
|
MAINTAINERCLEANFILES = THANKS-to-translators
|
2002-08-26 20:58:30 +08:00
|
|
|
THANKS-to-translators: po/LINGUAS THANKStt.in
|
2009-08-27 16:17:55 +08:00
|
|
|
$(AM_V_GEN)( \
|
2002-08-26 20:58:30 +08:00
|
|
|
cat $(srcdir)/THANKStt.in; \
|
2008-11-09 22:35:51 +08:00
|
|
|
for lang in `cat $(srcdir)/po/LINGUAS`; do \
|
2017-09-19 16:13:23 +08:00
|
|
|
echo https://translationproject.org/team/$$lang.html; \
|
2002-08-26 20:58:30 +08:00
|
|
|
done; \
|
|
|
|
) > $@-tmp && mv $@-tmp $@
|
2008-02-13 21:33:02 +08:00
|
|
|
|
|
|
|
# Ensure that the sets of two-letter codes in ls.c and dircolors.c
|
|
|
|
# remain in sync.
|
|
|
|
.PHONY: check-ls-dircolors
|
|
|
|
check-ls-dircolors:
|
2009-08-27 16:17:55 +08:00
|
|
|
$(AM_V_GEN)dc=$$(sed -n '/static.*ls_codes\[/,/};'/p \
|
2008-02-19 20:27:39 +08:00
|
|
|
$(srcdir)/src/dircolors.c \
|
|
|
|
|sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \
|
|
|
|
|sed -n 's/^"\(..\)"/\1/p'|sort -u); \
|
|
|
|
ls=$$(sed -n '/static.*indicator_name\[/,/};'/\p \
|
|
|
|
$(srcdir)/src/ls.c \
|
|
|
|
|sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \
|
|
|
|
|sed -n 's/^"\(..\)"/\1/p'|sort -u); \
|
2008-02-13 21:33:02 +08:00
|
|
|
test "$$dc" = "$$ls"
|
2008-11-17 19:05:27 +08:00
|
|
|
|
|
|
|
# Sort in traditional ASCII order, regardless of the current locale;
|
|
|
|
# otherwise we may get into trouble with distinct strings that the
|
|
|
|
# current locale considers to be equal.
|
|
|
|
ASSORT = LC_ALL=C sort
|
|
|
|
|
|
|
|
# Extract all lines up to the first one starting with "##".
|
|
|
|
prologue = perl -ne '/^\#\#/ and exit; print' $(srcdir)/THANKS.in
|
|
|
|
|
2015-02-12 09:35:07 +08:00
|
|
|
# FIXME: avoid dependency to build our own 'sort' for 'make dist' ...
|
|
|
|
# when common platforms have a functional case-folding implementation:
|
|
|
|
# $ test 'abácad' = "$(printf '%s\n' 'ab' 'ác' 'ad' \
|
|
|
|
# | LC_ALL=en_US.UTF-8 sort -f \
|
|
|
|
# | tr -d '\n')" && echo GOOD || echo BAD
|
2015-07-04 02:32:13 +08:00
|
|
|
# Note we don't enable case folding (-f) in the sort below, due to bugs
|
|
|
|
# in the I18N patch used in many distros (as of 2015). Also using our
|
|
|
|
# own src/sort here would induce awkward dependencies for `make dist`.
|
|
|
|
THANKS: THANKS.in Makefile.am .mailmap thanks-gen .version
|
2011-11-21 04:33:48 +08:00
|
|
|
$(AM_V_GEN)rm -f $@-t $@; \
|
2008-11-17 19:05:27 +08:00
|
|
|
{ \
|
|
|
|
$(prologue); echo; \
|
2015-02-12 09:35:07 +08:00
|
|
|
{ perl -ne '/^$$/.../^$$/ and !/^$$/ and s/ +/\0/ and print' \
|
|
|
|
$(srcdir)/THANKS.in; \
|
2008-11-17 19:05:27 +08:00
|
|
|
git log --pretty=format:'%aN%x00%aE' \
|
|
|
|
| $(ASSORT) -u; \
|
|
|
|
} | $(srcdir)/thanks-gen \
|
2015-07-04 02:32:13 +08:00
|
|
|
| LC_ALL=en_US.UTF-8 sort -k1,1; \
|
2008-11-17 19:05:27 +08:00
|
|
|
echo; \
|
|
|
|
printf ';; %s\n' 'Local Variables:' 'coding: utf-8' End:; \
|
2011-11-21 04:33:48 +08:00
|
|
|
} > $@-t && chmod a-w $@-t && mv $@-t $@
|
2011-11-13 05:23:09 +08:00
|
|
|
|
|
|
|
# Some of our git hook scripts are supposed to be identical to git's samples.
|
|
|
|
# See if they are still in sync.
|
|
|
|
.PHONY: check-git-hook-script-sync
|
|
|
|
check-git-hook-script-sync:
|
|
|
|
@fail=0; \
|
|
|
|
t=$$(mktemp -d) \
|
|
|
|
&& cd $$t && git init -q && cd .git/hooks \
|
|
|
|
&& for i in pre-commit pre-applypatch applypatch-msg; do \
|
|
|
|
diff $(abs_top_srcdir)/scripts/git-hooks/$$i $$i.sample \
|
|
|
|
|| fail=1; \
|
|
|
|
done; \
|
|
|
|
rm -rf $$t; \
|
|
|
|
test $$fail = 0
|
2012-08-29 20:22:47 +08:00
|
|
|
|
2014-06-06 10:50:32 +08:00
|
|
|
# If we are building a single-binary, create symlinks or shebangs for
|
|
|
|
# the selected tools when installing.
|
|
|
|
install-exec-hook:
|
|
|
|
$(AM_V_at)ctrans=$$(printf coreutils | sed -e "$(transform)"); \
|
2015-06-05 03:15:35 +08:00
|
|
|
for p in x $(single_binary_progs); do \
|
|
|
|
test $$p = x && continue; \
|
2014-06-06 10:50:32 +08:00
|
|
|
ptrans=$$(printf '%s' "$$p" | sed -e "$(transform)"); \
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$$ptrans$(EXEEXT) || exit $$?; \
|
|
|
|
if test "x$(single_binary_install_type)" = xshebangs; then \
|
|
|
|
printf '#!%s --coreutils-prog-shebang=%s\n' \
|
|
|
|
$(bindir)/$$ctrans$(EXEEXT) $$p \
|
|
|
|
>$(DESTDIR)$(bindir)/$$ptrans$(EXEEXT) || exit $$?; \
|
|
|
|
chmod a+x,a-w $(DESTDIR)$(bindir)/$$ptrans$(EXEEXT) || exit $$?;\
|
|
|
|
else \
|
|
|
|
$(LN_S) -s $$ctrans$(EXEEXT) \
|
|
|
|
$(DESTDIR)$(bindir)/$$ptrans$(EXEEXT) || exit $$?; \
|
|
|
|
fi \
|
|
|
|
done
|
|
|
|
|
2012-09-09 14:21:16 +08:00
|
|
|
noinst_LIBRARIES =
|
|
|
|
MOSTLYCLEANFILES =
|
|
|
|
CLEANFILES =
|
|
|
|
MOSTLYCLEANDIRS =
|
|
|
|
|
|
|
|
AM_CPPFLAGS = -Ilib -I$(top_srcdir)/lib -Isrc -I$(top_srcdir)/src
|
|
|
|
|
|
|
|
include $(top_srcdir)/lib/local.mk
|
2012-09-01 07:46:40 +08:00
|
|
|
include $(top_srcdir)/src/local.mk
|
2012-08-29 20:22:47 +08:00
|
|
|
include $(top_srcdir)/doc/local.mk
|
2012-08-29 22:37:24 +08:00
|
|
|
include $(top_srcdir)/man/local.mk
|
2012-09-03 03:55:12 +08:00
|
|
|
include $(top_srcdir)/tests/local.mk
|