mirror of
https://git.savannah.gnu.org/git/make.git
synced 2025-01-27 01:27:58 +00:00
* Various fixes; see the ChangeLog.
This commit is contained in:
parent
3c132f10f3
commit
1a82956eae
10 changed files with 235 additions and 126 deletions
50
ChangeLog
50
ChangeLog
|
@ -1,3 +1,53 @@
|
|||
2000-07-25 Paul D. Smith <psmith@gnu.org>
|
||||
|
||||
* job.c (construct_command_argv_internal): Add "~" to the list of
|
||||
sh_chars[] which disallow optimizing out the shell call.
|
||||
|
||||
2000-07-23 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* NEWS, make.texinfo: Document .LOW_RESOLUTION_TIME, which
|
||||
supersedes --disable-nsec-timestamps.
|
||||
* make.texinfo: Consistently use "time stamp" instead of "timestamp".
|
||||
* README: Remove --disable-nsec-timestamps.
|
||||
|
||||
* filedef.h (struct file.low_resolution_time): New member.
|
||||
* file.c (snap_deps): Add support for .LOW_RESOLUTION_TIME.
|
||||
* remake.c (update_file_1):
|
||||
Avoid spurious rebuilds due to low resolution time stamps,
|
||||
generalizing the earlier code that applied only to archive members.
|
||||
(f_mtime): Archive members always have low resolution time stamps.
|
||||
|
||||
* configure.in: Remove --disable-nsec-timestamps, as this has
|
||||
been superseded by .LOW_RESOLUTION_TIME.
|
||||
|
||||
2000-07-23 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* configure.in (enable_nsec_timestamps): Renamed from
|
||||
make_cv_nsec_timestamps, since enable/disable options
|
||||
shouldn't be cached.
|
||||
|
||||
2000-07-23 Bruno Haible <haible@clisp.cons.org>
|
||||
and Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* file.c (file_timestamp_now):
|
||||
Use preprocessor-time check for FILE_TIMESTAMP_HI_RES
|
||||
so that clock_gettime is not linked unless needed.
|
||||
|
||||
* filedef.h (FILE_TIMESTAMP_HI_RES):
|
||||
Remove definition; "configure" now does this.
|
||||
|
||||
* configure.in (jm_AC_TYPE_UINTMAX_T): Move up,
|
||||
to before high resolution file timestamp check,
|
||||
since that check now uses uintmax_t.
|
||||
(FILE_TIMESTAMP_HI_RES): Define to nonzero if the code should use
|
||||
high resolution file timestamps.
|
||||
(HAVE_CLOCK_GETTIME): Do not define if !FILE_TIMESTAMP_HI_RES,
|
||||
so that we don't link in clock_gettime unnecessarily.
|
||||
|
||||
2000-07-17 Paul D. Smith <psmith@gnu.org>
|
||||
|
||||
* i18n/ja.po: New version of the translation file.
|
||||
|
||||
2000-07-07 Paul D. Smith <psmith@gnu.org>
|
||||
|
||||
* remake.c (f_mtime): If NO_FLOAT is defined, don't bother with
|
||||
|
|
13
NEWS
13
NEWS
|
@ -12,17 +12,20 @@ Please send GNU make bug reports to <bug-make@gnu.org>.
|
|||
See the README file and the GNU make manual for details on sending bug
|
||||
reports.
|
||||
|
||||
* New pseudo-target .LOW_RESOLUTION_TIME, superseding the configure
|
||||
option --disable-nsec-timestamps. You might need this if your build
|
||||
process depends on tools like "cp -p" preserving time stamps, since
|
||||
"cp -p" (right now) doesn't preserve the subsecond portion of a time
|
||||
stamp.
|
||||
|
||||
Version 3.79.1
|
||||
|
||||
* .SECONDARY with no prerequisites now prevents any target from being
|
||||
removed because make thinks it's an intermediate file, not just those
|
||||
listed in the makefile.
|
||||
|
||||
* New configure option --disable-nsec-timestamps will keep make from
|
||||
using sub-second timestamps on systems which support it. If your
|
||||
build process depends on proper timestamp-preserving behavior of tools
|
||||
like "cp -p" you might need this option, since "cp -p" (right now)
|
||||
doesn't preserve the sub-second portion of the timestamp.
|
||||
* New configure option --disable-nsec-timestamps, but this was
|
||||
superseded in later versions by the .LOW_RESOLUTION_TIME pseudo-target.
|
||||
|
||||
Version 3.79
|
||||
|
||||
|
|
51
configure.in
51
configure.in
|
@ -3,7 +3,7 @@ AC_REVISION([$Id$])
|
|||
AC_PREREQ(2.13)dnl dnl Minimum Autoconf version required.
|
||||
AC_INIT(vpath.c)dnl dnl A distinctive file to look for in srcdir.
|
||||
|
||||
AM_INIT_AUTOMAKE(make, 3.79.1)
|
||||
AM_INIT_AUTOMAKE(make, 3.79.1.0)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl Regular configure stuff
|
||||
|
@ -45,18 +45,37 @@ dnl Handle internationalization
|
|||
ALL_LINGUAS="de es fr ja ko nl pl pt_BR ru"
|
||||
pds_WITH_GETTEXT
|
||||
|
||||
|
||||
dnl See if the user wants nsec timestamps
|
||||
|
||||
AC_ARG_ENABLE(nsec-timestamps,
|
||||
[ --disable-nsec-timestamps disable use of sub-second timestamps],
|
||||
[make_cv_nsec_timestamps="$enableval"],
|
||||
[make_cv_nsec_timestamps="yes"])
|
||||
|
||||
if test "x$make_cv_nsec_timestamps" != xno; then
|
||||
AC_STRUCT_ST_MTIM_NSEC
|
||||
fi
|
||||
jm_AC_TYPE_UINTMAX_T
|
||||
AC_STRUCT_ST_MTIM_NSEC
|
||||
AC_MSG_CHECKING([whether to use high resolution file timestamps])
|
||||
AC_CACHE_VAL(make_cv_file_timestamp_hi_res, [
|
||||
make_cv_file_timestamp_hi_res=no
|
||||
if test $ac_cv_struct_st_mtim_nsec != no; then
|
||||
AC_TRY_COMPILE([
|
||||
# if HAVE_INTTYPES_H
|
||||
# include <inttypes.h>
|
||||
# endif],
|
||||
[char a[0x7fffffff < (uintmax_t) -1 >> 30 ? 1 : -1];],
|
||||
make_cv_file_timestamp_hi_res=yes)
|
||||
fi])
|
||||
AC_MSG_RESULT($make_cv_file_timestamp_hi_res)
|
||||
if test $make_cv_file_timestamp_hi_res = yes; then
|
||||
val=1
|
||||
else
|
||||
val=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(FILE_TIMESTAMP_HI_RES, $val,
|
||||
[Use high resolution file timestamps if nonzero.])
|
||||
|
||||
if test $make_cv_file_timestamp_hi_res = yes; then
|
||||
# Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
|
||||
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
|
||||
AC_SEARCH_LIBS(clock_gettime, [rt posix4])
|
||||
if test "$ac_cv_search_clock_gettime" != no; then
|
||||
AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
|
||||
[Define if you have the clock_gettime function.])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST(LIBOBJS)
|
||||
|
||||
|
@ -73,14 +92,6 @@ changequote([,])dnl
|
|||
fi
|
||||
AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
|
||||
|
||||
# Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
|
||||
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
|
||||
AC_SEARCH_LIBS(clock_gettime, [rt posix4])
|
||||
if test "$ac_cv_search_clock_gettime" != no; then
|
||||
AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
|
||||
[Define if you have the clock_gettime function.])
|
||||
fi
|
||||
|
||||
# See if we have a standard version of gettimeofday(). Since actual
|
||||
# implementations can differ, just make sure we have the most common
|
||||
# one.
|
||||
|
|
3
dir.c
3
dir.c
|
@ -159,7 +159,8 @@ vms_hash (name)
|
|||
|
||||
while (*name)
|
||||
{
|
||||
h = (h << 4) + (isupper (*name) ? tolower (*name) : *name);
|
||||
unsigned char uc = *name;
|
||||
h = (h << 4) + (isupper (uc) ? tolower (uc) : uc);
|
||||
name++;
|
||||
g = h & 0xf0000000;
|
||||
if (g)
|
||||
|
|
48
file.c
48
file.c
|
@ -467,6 +467,11 @@ snap_deps ()
|
|||
for (f2 = d->file; f2 != 0; f2 = f2->prev)
|
||||
f2->precious = 1;
|
||||
|
||||
for (f = lookup_file (".LOW_RESOLUTION_TIME"); f != 0; f = f->prev)
|
||||
for (d = f->deps; d != 0; d = d->next)
|
||||
for (f2 = d->file; f2 != 0; f2 = f2->prev)
|
||||
f2->low_resolution_time = 1;
|
||||
|
||||
for (f = lookup_file (".PHONY"); f != 0; f = f->prev)
|
||||
for (d = f->deps; d != 0; d = d->next)
|
||||
for (f2 = d->file; f2 != 0; f2 = f2->prev)
|
||||
|
@ -592,33 +597,32 @@ file_timestamp_now (int *resolution)
|
|||
/* Don't bother with high-resolution clocks if file timestamps have
|
||||
only one-second resolution. The code below should work, but it's
|
||||
not worth the hassle of debugging it on hosts where it fails. */
|
||||
if (FILE_TIMESTAMP_HI_RES)
|
||||
{
|
||||
#if HAVE_CLOCK_GETTIME && defined CLOCK_REALTIME
|
||||
#if FILE_TIMESTAMP_HI_RES
|
||||
# if HAVE_CLOCK_GETTIME && defined CLOCK_REALTIME
|
||||
{
|
||||
struct timespec timespec;
|
||||
if (clock_gettime (CLOCK_REALTIME, ×pec) == 0)
|
||||
{
|
||||
struct timespec timespec;
|
||||
if (clock_gettime (CLOCK_REALTIME, ×pec) == 0)
|
||||
{
|
||||
r = 1;
|
||||
s = timespec.tv_sec;
|
||||
ns = timespec.tv_nsec;
|
||||
goto got_time;
|
||||
}
|
||||
r = 1;
|
||||
s = timespec.tv_sec;
|
||||
ns = timespec.tv_nsec;
|
||||
goto got_time;
|
||||
}
|
||||
#endif
|
||||
#if HAVE_GETTIMEOFDAY
|
||||
}
|
||||
# endif
|
||||
# if HAVE_GETTIMEOFDAY
|
||||
{
|
||||
struct timeval timeval;
|
||||
if (gettimeofday (&timeval, 0) == 0)
|
||||
{
|
||||
struct timeval timeval;
|
||||
if (gettimeofday (&timeval, 0) == 0)
|
||||
{
|
||||
r = 1000;
|
||||
s = timeval.tv_sec;
|
||||
ns = timeval.tv_usec * 1000;
|
||||
goto got_time;
|
||||
}
|
||||
r = 1000;
|
||||
s = timeval.tv_sec;
|
||||
ns = timeval.tv_usec * 1000;
|
||||
goto got_time;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
||||
r = 1000000000;
|
||||
s = time ((time_t *) 0);
|
||||
|
|
|
@ -72,6 +72,8 @@ struct file
|
|||
} command_state ENUM_BITFIELD (2);
|
||||
|
||||
unsigned int precious:1; /* Non-0 means don't delete file on quit */
|
||||
unsigned int low_resolution_time:1; /* Nonzero if this file's time stamp
|
||||
has only one-second resolution. */
|
||||
unsigned int tried_implicit:1; /* Nonzero if have searched
|
||||
for implicit rule for making
|
||||
this file; don't search again. */
|
||||
|
@ -110,13 +112,10 @@ extern void set_command_state PARAMS ((struct file *file, int state));
|
|||
extern void notice_finished_file PARAMS ((struct file *file));
|
||||
|
||||
|
||||
#ifdef ST_MTIM_NSEC
|
||||
# define FILE_TIMESTAMP_HI_RES \
|
||||
(2147483647 < INTEGER_TYPE_MAXIMUM (FILE_TIMESTAMP) >> 31)
|
||||
#if FILE_TIMESTAMP_HI_RES
|
||||
# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
|
||||
file_timestamp_cons (fname, (st).st_mtime, (st).st_mtim.ST_MTIM_NSEC)
|
||||
#else
|
||||
# define FILE_TIMESTAMP_HI_RES 0
|
||||
# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
|
||||
file_timestamp_cons (fname, (st).st_mtime, 0)
|
||||
#endif
|
||||
|
|
123
i18n/ja.po
123
i18n/ja.po
|
@ -1,12 +1,13 @@
|
|||
# Japanese message for make 3.79
|
||||
# Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
# Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 2000.
|
||||
# Thanks to NISHIJIMA Takanori
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: make 3.79\n"
|
||||
"POT-Creation-Date: 2000-04-05 10:09-0400\n"
|
||||
"PO-Revision-Date: 2000-05-23 20:59+0900\n"
|
||||
"PO-Revision-Date: 2000-07-16 23:59+0900\n"
|
||||
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
|
||||
"Language-Team: Japanese <ja@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -16,7 +17,7 @@ msgstr ""
|
|||
#: ar.c:50
|
||||
#, c-format
|
||||
msgid "attempt to use unsupported feature: `%s'"
|
||||
msgstr "サポートされていない機能を試します: `%s'"
|
||||
msgstr "サポートされていない機能を使おうとしています: `%s'"
|
||||
|
||||
#: ar.c:141
|
||||
msgid "touch archive member is not available on VMS"
|
||||
|
@ -45,12 +46,12 @@ msgstr "touch: `%s'
|
|||
#: arscan.c:71
|
||||
#, c-format
|
||||
msgid "lbr$set_module failed to extract module info, status = %d"
|
||||
msgstr "lbr$set_module がモジュール情報の抽出に失敗しました, 状態 = %d"
|
||||
msgstr "lbr$set_module がモジュール情報の抽出に失敗しました。状態 = %d"
|
||||
|
||||
#: arscan.c:155
|
||||
#, c-format
|
||||
msgid "lbr$ini_control failed with status = %d"
|
||||
msgstr "lbr$ini_control が失敗しました, 状態 = %d"
|
||||
msgstr "lbr$ini_control が失敗しました。状態 = %d"
|
||||
|
||||
#: arscan.c:166
|
||||
#, c-format
|
||||
|
@ -60,11 +61,11 @@ msgstr "
|
|||
#: arscan.c:820
|
||||
#, c-format
|
||||
msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
|
||||
msgstr "メンバ `%s'%s: %ld バイト at %ld (%ld).\n"
|
||||
msgstr "メンバ `%s'%s: %ld バイト at %ld (%ld)。\n"
|
||||
|
||||
#: arscan.c:821
|
||||
msgid " (name might be truncated)"
|
||||
msgstr " (名前は切り詰められたかも)"
|
||||
msgstr " (名前が切り詰められたかも)"
|
||||
|
||||
#: arscan.c:823
|
||||
#, c-format
|
||||
|
@ -83,12 +84,12 @@ msgstr "***
|
|||
#: commands.c:483
|
||||
#, c-format
|
||||
msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
|
||||
msgstr "*** [%s] 書庫メンバ `%s' は多分偽物です -- 削除しませんでした"
|
||||
msgstr "*** [%s] 書庫メンバ `%s' は多分偽物です ― 削除しませんでした"
|
||||
|
||||
#: commands.c:486
|
||||
#, c-format
|
||||
msgid "*** Archive member `%s' may be bogus; not deleted"
|
||||
msgstr "*** 書庫メンバ `%s' は多分偽物です -- 削除しませんでした"
|
||||
msgstr "*** 書庫メンバ `%s' は多分偽物です ― 削除しませんでした"
|
||||
|
||||
#: commands.c:498
|
||||
#, c-format
|
||||
|
@ -158,7 +159,7 @@ msgstr "0"
|
|||
|
||||
#: dir.c:957 dir.c:977
|
||||
msgid " files, "
|
||||
msgstr " 個のファイル, "
|
||||
msgstr " 個のファイル、"
|
||||
|
||||
#: dir.c:959 dir.c:979
|
||||
msgid "no"
|
||||
|
@ -170,12 +171,12 @@ msgstr "
|
|||
|
||||
#: dir.c:966
|
||||
msgid " so far."
|
||||
msgstr " (ここまでに)."
|
||||
msgstr " (ここまでに)。"
|
||||
|
||||
#: dir.c:982
|
||||
#, c-format
|
||||
msgid " impossibilities in %u directories.\n"
|
||||
msgstr " 個の適用不能ファイル名 (%u 個のディレクトリ内).\n"
|
||||
msgstr " 個の適用不能ファイル名 (%u 個のディレクトリ内)。\n"
|
||||
|
||||
#: expand.c:105
|
||||
#, c-format
|
||||
|
@ -190,22 +191,22 @@ msgstr "
|
|||
#. Unterminated variable reference.
|
||||
#: expand.c:247
|
||||
msgid "unterminated variable reference"
|
||||
msgstr "終端の無い変数参照"
|
||||
msgstr "終端のない変数参照"
|
||||
|
||||
#: file.c:307
|
||||
#, c-format
|
||||
msgid "Commands were specified for file `%s' at %s:%lu,"
|
||||
msgstr "ファイル `%s' へのコマンドが %s:%lu で指定されました,"
|
||||
msgstr "ファイル `%s' へのコマンドが %s:%lu で指定されました。"
|
||||
|
||||
#: file.c:313
|
||||
#, c-format
|
||||
msgid "Commands for file `%s' were found by implicit rule search,"
|
||||
msgstr "ファイル `%s' へのコマンドは暗黙ルールの探索で見つかりました,"
|
||||
msgstr "ファイル `%s' へのコマンドは暗黙ルールの探索で見つかりました。"
|
||||
|
||||
#: file.c:317
|
||||
#, c-format
|
||||
msgid "but `%s' is now considered the same file as `%s'."
|
||||
msgstr "しかし今は `%s' を `%s' と同じファイルと見なされます。"
|
||||
msgstr "しかし今は `%s' と `%s' は同じファイルと見なされます。"
|
||||
|
||||
#: file.c:321
|
||||
#, c-format
|
||||
|
@ -299,7 +300,7 @@ msgstr "#
|
|||
|
||||
#: file.c:678
|
||||
msgid "# Successfully updated."
|
||||
msgstr "# 首尾よく更新できました。"
|
||||
msgstr "# 更新に成功しました。"
|
||||
|
||||
#: file.c:682
|
||||
msgid "# Needs to be updated (-q is set)."
|
||||
|
@ -323,7 +324,7 @@ msgstr "\n#
|
|||
|
||||
#: file.c:737
|
||||
msgid "\n# No files."
|
||||
msgstr "\n# ファイル無し"
|
||||
msgstr "\n# ファイルなし"
|
||||
|
||||
#: file.c:740
|
||||
#, c-format
|
||||
|
@ -333,7 +334,7 @@ msgstr "\n# %u
|
|||
#: file.c:742
|
||||
#, c-format
|
||||
msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
|
||||
msgstr "# ハッシュ要素当り平均 %.3f 個, 一ハッシュに最大 %u 個のファイルがあります。\n"
|
||||
msgstr "# ハッシュ要素あたり、平均 %.3f 個、最大 %u 個のファイルがあります。\n"
|
||||
|
||||
#. Check the first argument.
|
||||
#: function.c:737
|
||||
|
@ -384,12 +385,12 @@ msgstr "
|
|||
#: function.c:1692
|
||||
#, c-format
|
||||
msgid "Unimplemented on this platform: function `%s'"
|
||||
msgstr "このプラットフォームでは実装されていない: 関数 `%s'"
|
||||
msgstr "このプラットフォームでは実装されていません: 関数 `%s'"
|
||||
|
||||
#: function.c:1745
|
||||
#, c-format
|
||||
msgid "unterminated call to function `%s': missing `%c'"
|
||||
msgstr "終端が無い関数呼び出し `%s': `%c' がありません"
|
||||
msgstr "終端がない関数呼び出し `%s': `%c' がありません"
|
||||
|
||||
#: getopt.c:675
|
||||
#, c-format
|
||||
|
@ -399,12 +400,12 @@ msgstr "%s:
|
|||
#: getopt.c:699
|
||||
#, c-format
|
||||
msgid "%s: option `--%s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `--%s' は引数を取れません\n"
|
||||
msgstr "%s: オプション `--%s' は引数を取りません\n"
|
||||
|
||||
#: getopt.c:704
|
||||
#, c-format
|
||||
msgid "%s: option `%c%s' doesn't allow an argument\n"
|
||||
msgstr "%s: オプション `%c%s' は引数を取れません\n"
|
||||
msgstr "%s: オプション `%c%s' は引数を取りません\n"
|
||||
|
||||
#: getopt.c:721 getopt.c:894
|
||||
#, c-format
|
||||
|
@ -427,18 +428,18 @@ msgstr "%s: ǧ
|
|||
#: getopt.c:780
|
||||
#, c-format
|
||||
msgid "%s: illegal option -- %c\n"
|
||||
msgstr "%s: 不正なオプション -- %c\n"
|
||||
msgstr "%s: 不正なオプション ― %c\n"
|
||||
|
||||
#: getopt.c:783
|
||||
#, c-format
|
||||
msgid "%s: invalid option -- %c\n"
|
||||
msgstr "%s: 無効なオプション -- %c\n"
|
||||
msgstr "%s: 無効なオプション ― %c\n"
|
||||
|
||||
#. 1003.2 specifies the format of this message.
|
||||
#: getopt.c:813 getopt.c:943
|
||||
#, c-format
|
||||
msgid "%s: option requires an argument -- %c\n"
|
||||
msgstr "%s: オプションには引数が必要です -- %c\n"
|
||||
msgstr "%s: オプションには引数が必要です ― %c\n"
|
||||
|
||||
#: getopt.c:860
|
||||
#, c-format
|
||||
|
@ -529,7 +530,7 @@ msgstr "
|
|||
|
||||
#: job.c:352
|
||||
msgid "Syntax error, still inside '\"'\n"
|
||||
msgstr "文法エラー, '\"' 内のままです\n"
|
||||
msgstr "文法エラー、'\"' 内のままです\n"
|
||||
|
||||
#: job.c:404
|
||||
#, c-format
|
||||
|
@ -538,7 +539,7 @@ msgstr "SIGCHLD
|
|||
|
||||
#: job.c:453
|
||||
msgid "*** Waiting for unfinished jobs...."
|
||||
msgstr "*** 未了のジョブを待っています...."
|
||||
msgstr "*** 未完了のジョブを待っています...."
|
||||
|
||||
#: job.c:482
|
||||
#, c-format
|
||||
|
@ -604,11 +605,11 @@ msgstr "
|
|||
|
||||
#: job.c:1566
|
||||
msgid "cannot enforce load limits on this operating system"
|
||||
msgstr "このオペレーティングシステムでは load 制限を強要できません"
|
||||
msgstr "このオペレーティングシステムではシステム負荷制限を加えられません"
|
||||
|
||||
#: job.c:1568
|
||||
msgid "cannot enforce load limit: "
|
||||
msgstr "load 制限の強要ができませんでした: "
|
||||
msgstr "システム負荷制限の課すことができませんでした: "
|
||||
|
||||
#: job.c:1671
|
||||
#, c-format
|
||||
|
@ -617,11 +618,11 @@ msgstr "
|
|||
|
||||
#: job.c:1756
|
||||
msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
|
||||
msgstr "-警告, CTRL-Y は子プロセスを散らかしたままにするでしょう。\n"
|
||||
msgstr "-警告、CTRL-Y は子プロセスを散らかしたままにするでしょう。\n"
|
||||
|
||||
#: job.c:1773
|
||||
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
|
||||
msgstr "-警告, DCL からの CTRL-Y 操作を再び有効にする必要があるかも知れません。\n"
|
||||
msgstr "-警告、DCL からの CTRL-Y 操作を再び有効にする必要があるかも知れません。\n"
|
||||
|
||||
#: job.c:1886
|
||||
#, c-format
|
||||
|
@ -645,7 +646,7 @@ msgstr "
|
|||
|
||||
#: job.c:1958
|
||||
msgid "Error, empty command\n"
|
||||
msgstr "エラー, 空のコマンド\n"
|
||||
msgstr "エラー、空のコマンド\n"
|
||||
|
||||
#: job.c:1965 main.c:1270
|
||||
msgid "fopen (temporary file)"
|
||||
|
@ -674,7 +675,7 @@ msgstr "
|
|||
#: job.c:2144
|
||||
#, c-format
|
||||
msgid "Error spawning, %d\n"
|
||||
msgstr "spawn のエラー, %d\n"
|
||||
msgstr "spawn のエラー、%d\n"
|
||||
|
||||
#: job.c:2247
|
||||
#, c-format
|
||||
|
@ -694,7 +695,7 @@ msgstr "%s:
|
|||
#: job.c:2476
|
||||
#, c-format
|
||||
msgid "$SHELL changed (was `%s', now `%s')"
|
||||
msgstr "$SHELL が変更されました (前は `%s', 今は `%s')"
|
||||
msgstr "$SHELL が変更されました (前は `%s'、今は `%s')"
|
||||
|
||||
#: job.c:2882
|
||||
#, c-format
|
||||
|
@ -708,7 +709,7 @@ msgstr "%s (%d
|
|||
|
||||
#: main.c:259
|
||||
msgid "Ignored for compatibility"
|
||||
msgstr "互換性のためであり、無視されます"
|
||||
msgstr "互換性のためのもので、無視される"
|
||||
|
||||
#: main.c:261 main.c:288
|
||||
msgid "DIRECTORY"
|
||||
|
@ -736,7 +737,7 @@ msgstr "
|
|||
|
||||
#: main.c:277
|
||||
msgid "Environment variables override makefiles"
|
||||
msgstr "環境変数で makefile の変数を上書きさせる"
|
||||
msgstr "環境変数が makefile 中の記述に優先する"
|
||||
|
||||
#: main.c:279 main.c:320 main.c:354
|
||||
msgid "FILE"
|
||||
|
@ -760,7 +761,7 @@ msgstr "
|
|||
|
||||
#: main.c:294
|
||||
msgid "Allow N jobs at once; infinite jobs with no arg"
|
||||
msgstr "N 個のジョブを許可; 無引数だとジョブ数制限無し"
|
||||
msgstr "N 個のジョブを許可; 無引数だとジョブ数制限なし"
|
||||
|
||||
#: main.c:301
|
||||
msgid "Keep going when some targets can't be made"
|
||||
|
@ -768,7 +769,7 @@ msgstr "
|
|||
|
||||
#: main.c:306 main.c:311
|
||||
msgid "Don't start multiple jobs unless load is below N"
|
||||
msgstr "load が N 未満でない限り複数のジョブを開始しない"
|
||||
msgstr "負荷 が N 未満でない限り複数のジョブを開始しない"
|
||||
|
||||
#: main.c:318
|
||||
msgid "Don't actually run any commands; just print them"
|
||||
|
@ -828,7 +829,7 @@ msgstr "̤
|
|||
|
||||
#: main.c:456
|
||||
msgid "empty string invalid as file name"
|
||||
msgstr "ファイル名として空の文字列は無効です"
|
||||
msgstr "空の文字列はファイル名としては無効です"
|
||||
|
||||
#: main.c:536
|
||||
#, c-format
|
||||
|
@ -886,7 +887,7 @@ msgstr "sleep(30)
|
|||
|
||||
#: main.c:1260
|
||||
msgid "Makefile from standard input specified twice."
|
||||
msgstr "標準入力からの Makefile が二回指定されました。"
|
||||
msgstr "標準入力からの makefile が二回指定されました。"
|
||||
|
||||
#: main.c:1276
|
||||
msgid "fwrite (temporary file)"
|
||||
|
@ -927,7 +928,7 @@ msgstr "dup jobserver"
|
|||
|
||||
#: main.c:1462
|
||||
msgid "warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
|
||||
msgstr "警告: jobserver を利用不可: -j1 を使い、親 make ルールに `+' を追加しましょう"
|
||||
msgstr "警告: jobserver が利用不可: -j1 を使い、親 make ルールに `+' を追加しましょう"
|
||||
|
||||
#: main.c:1485
|
||||
msgid "creating jobs pipe"
|
||||
|
@ -944,7 +945,7 @@ msgstr "makefile
|
|||
#: main.c:1605
|
||||
#, c-format
|
||||
msgid "Makefile `%s' might loop; not remaking it.\n"
|
||||
msgstr "Makefile `%s' 繰り返しの虞 -- 再 make しません。\n"
|
||||
msgstr "makefile `%s' 自己再帰のおそれ ― 再 make しません。\n"
|
||||
|
||||
#. The update failed and this makefile was not
|
||||
#. from the MAKEFILES variable, so we care.
|
||||
|
@ -962,7 +963,7 @@ msgstr "
|
|||
#: main.c:1700
|
||||
#, c-format
|
||||
msgid "Makefile `%s' was not found"
|
||||
msgstr "Makefile `%s' が見つかりませんでした"
|
||||
msgstr "makefile `%s' が見つかりませんでした"
|
||||
|
||||
#: main.c:1768
|
||||
msgid "Couldn't change back to original directory."
|
||||
|
@ -978,7 +979,7 @@ msgstr "unlink (
|
|||
|
||||
#: main.c:1855
|
||||
msgid "No targets specified and no makefile found"
|
||||
msgstr "ターゲットが指定されておらず、makefile が見つかりません"
|
||||
msgstr "ターゲットが指定されておらず、makefile も見つかりません"
|
||||
|
||||
#: main.c:1857
|
||||
msgid "No targets"
|
||||
|
@ -991,7 +992,7 @@ msgstr "
|
|||
|
||||
#: main.c:1888
|
||||
msgid "warning: Clock skew detected. Your build may be incomplete."
|
||||
msgstr "警告: クロックの歪みを検出。不完全なビルド結果になるかも知れません。"
|
||||
msgstr "警告: クロックの歪みを検出。不完全なビルド結果になるかもしれません。"
|
||||
|
||||
#: main.c:2043
|
||||
#, c-format
|
||||
|
@ -1026,7 +1027,7 @@ msgid ""
|
|||
"\n"
|
||||
msgstr ""
|
||||
", by Richard Stallman and Roland McGrath.\n"
|
||||
"%s%s 用にビルドされた\n"
|
||||
"%s%s 用にビルド\n"
|
||||
"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n"
|
||||
"%s\tFree Software Foundation, Inc.\n"
|
||||
"%sThis is free software; see the source for copying conditions.\n"
|
||||
|
@ -1065,7 +1066,7 @@ msgstr "
|
|||
|
||||
#: misc.c:307
|
||||
msgid ". Stop.\n"
|
||||
msgstr ". 中止。\n"
|
||||
msgstr "。中止。\n"
|
||||
|
||||
#: misc.c:329
|
||||
#, c-format
|
||||
|
@ -1082,7 +1083,7 @@ msgstr "
|
|||
#: misc.c:653
|
||||
#, c-format
|
||||
msgid "%s access: user %lu (real %lu), group %lu (real %lu)\n"
|
||||
msgstr "%s アクセス: ユーザ %lu (実 %lu), グループ %lu (実 %lu)\n"
|
||||
msgstr "%s アクセス: ユーザ %lu (実 %lu)、グループ %lu (実 %lu)\n"
|
||||
|
||||
#: misc.c:674
|
||||
msgid "Initialized"
|
||||
|
@ -1115,7 +1116,7 @@ msgstr " (~
|
|||
|
||||
#: read.c:525
|
||||
msgid "invalid syntax in conditional"
|
||||
msgstr "条件部に無効なシンタクス"
|
||||
msgstr "条件部の文法が無効です"
|
||||
|
||||
#: read.c:534
|
||||
msgid "extraneous `endef'"
|
||||
|
@ -1159,7 +1160,7 @@ msgstr "ʬΥ
|
|||
|
||||
#: read.c:875
|
||||
msgid " (did you mean TAB instead of 8 spaces?)"
|
||||
msgstr " (8 個の空白でしたが、TAB のつもりですか?)"
|
||||
msgstr " (8 個の空白でしたが、TAB のつもりでしたか?)"
|
||||
|
||||
#: read.c:1011
|
||||
msgid "missing target pattern"
|
||||
|
@ -1235,7 +1236,7 @@ msgstr "Ʊ
|
|||
#: read.c:1650
|
||||
#, c-format
|
||||
msgid "warning: overriding commands for target `%s'"
|
||||
msgstr "警告: ターゲット `%s' へのコマンドを上書きします"
|
||||
msgstr "警告: ターゲット `%s' へのコマンドを置き換えます"
|
||||
|
||||
#: read.c:1653
|
||||
#, c-format
|
||||
|
@ -1259,7 +1260,7 @@ msgstr "`%s'
|
|||
#: remake.c:228
|
||||
#, c-format
|
||||
msgid "`%s' is up to date."
|
||||
msgstr "`%s' は更新済です"
|
||||
msgstr "`%s' は更新済みです"
|
||||
|
||||
#: remake.c:296
|
||||
#, c-format
|
||||
|
@ -1354,12 +1355,12 @@ msgstr "ɬ
|
|||
#: remake.c:609
|
||||
#, c-format
|
||||
msgid "Target `%s' is double-colon and has no prerequisites.\n"
|
||||
msgstr "ターゲット `%s' はダブルコロンで、且つ必要条件を持っていません。\n"
|
||||
msgstr "ターゲット `%s' はダブルコロンで、かつ必要条件を持たない。\n"
|
||||
|
||||
#: remake.c:615
|
||||
#, c-format
|
||||
msgid "No commands for `%s' and no prerequisites actually changed.\n"
|
||||
msgstr "`%s' のためのコマンドが無く、且つ実際に変更された必要条件がない。\n"
|
||||
msgstr "`%s' のためのコマンドが無く、かつ実際に変更された必要条件がない。\n"
|
||||
|
||||
#: remake.c:623
|
||||
#, c-format
|
||||
|
@ -1425,12 +1426,12 @@ msgstr ".LIBPATTERNS
|
|||
|
||||
#: rule.c:671
|
||||
msgid "\n# No implicit rules."
|
||||
msgstr "\n# 暗黙ルール無し。"
|
||||
msgstr "\n# 暗黙ルールなし。"
|
||||
|
||||
#: rule.c:674
|
||||
#, c-format
|
||||
msgid "\n# %u implicit rules, %u"
|
||||
msgstr "\n# %u 個の暗黙ルール, %u"
|
||||
msgstr "\n# %u 個の暗黙ルール、%u"
|
||||
|
||||
#: rule.c:683
|
||||
msgid " terminal."
|
||||
|
@ -1447,7 +1448,7 @@ msgstr "\n#
|
|||
|
||||
#: rule.c:710
|
||||
msgid "\n# No pattern-specific variable values."
|
||||
msgstr "\n# パターン指定変数の値無し。"
|
||||
msgstr "\n# パターン指定変数の値なし。"
|
||||
|
||||
#: rule.c:713
|
||||
#, c-format
|
||||
|
@ -1647,7 +1648,7 @@ msgstr "
|
|||
|
||||
#: variable.c:1167
|
||||
msgid "# No variables."
|
||||
msgstr "# 変数無し。"
|
||||
msgstr "# 変数なし。"
|
||||
|
||||
#: variable.c:1170
|
||||
#, c-format
|
||||
|
@ -1657,12 +1658,12 @@ msgstr "# %u
|
|||
#: variable.c:1173
|
||||
#, c-format
|
||||
msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
|
||||
msgstr "# ハッシュ要素当り平均 %.1f 個, 一ハッシュに最大 %u 個の変数があります。\n"
|
||||
msgstr "# ハッシュ要素あたり、平均 %.1f 個、最大 %u 個の変数があります。\n"
|
||||
|
||||
#: variable.c:1180
|
||||
#, c-format
|
||||
msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
|
||||
msgstr "# ハッシュ要素当り平均 %d.%d 個, 一ハッシュに最大 %u 個の変数があります。\n"
|
||||
msgstr "# ハッシュ要素あたり平均 %d.%d 個、最大 %u 個の変数があります。\n"
|
||||
|
||||
#: variable.c:1195
|
||||
msgid "\n# Variables\n"
|
||||
|
@ -1683,7 +1684,7 @@ msgstr "\n# %u
|
|||
|
||||
#: vpath.c:574
|
||||
msgid "\n# No general (`VPATH' variable) search path."
|
||||
msgstr "\n# 一般の (`VPATH' 変数) 探索パス無し。"
|
||||
msgstr "\n# 一般の (`VPATH' 変数) 探索パスなし。"
|
||||
|
||||
#: vpath.c:580
|
||||
msgid ""
|
||||
|
|
2
job.c
2
job.c
|
@ -2421,7 +2421,7 @@ construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr)
|
|||
char* sh_chars;
|
||||
char** sh_cmds;
|
||||
#else /* WINDOWS32 */
|
||||
static char sh_chars[] = "#;\"*?[]&|<>(){}$`^";
|
||||
static char sh_chars[] = "#;\"*?[]&|<>(){}$`^~";
|
||||
static char *sh_cmds[] = { "cd", "eval", "exec", "exit", "login",
|
||||
"logout", "set", "umask", "wait", "while", "for",
|
||||
"case", "if", ":", ".", "break", "continue",
|
||||
|
|
47
make.texinfo
47
make.texinfo
|
@ -18,6 +18,7 @@
|
|||
@c finalout
|
||||
|
||||
@c ISPELL CHECK: done, 10 June 1993 --roland
|
||||
@c ISPELL CHECK: done, 2000-06-25 --Martin Buchholz
|
||||
|
||||
@c Combine the variable and function indices:
|
||||
@syncodeindex vr fn
|
||||
|
@ -1105,8 +1106,8 @@ makefile as has been traditionally done with other versions of
|
|||
|
||||
@cindex @code{-I}
|
||||
@cindex @code{--include-dir}
|
||||
@cindex included makefiles, default directries
|
||||
@cindex default directries for included makefiles
|
||||
@cindex included makefiles, default directories
|
||||
@cindex default directories for included makefiles
|
||||
@findex /usr/gnu/include
|
||||
@findex /usr/local/include
|
||||
@findex /usr/include
|
||||
|
@ -2200,7 +2201,7 @@ subdirs:
|
|||
@end group
|
||||
@end example
|
||||
|
||||
There are a few of problems with this method, however. First, any error
|
||||
There are a few problems with this method, however. First, any error
|
||||
detected in a submake is not noted by this rule, so it will continue to
|
||||
build the rest of the directories even when one fails. This can be
|
||||
overcome by adding shell commands to note the error and exit, but then
|
||||
|
@ -2451,6 +2452,42 @@ this affects every command in the makefile, it is not very useful; we
|
|||
recommend you use the more selective ways to ignore errors in specific
|
||||
commands. @xref{Errors, ,Errors in Commands}.
|
||||
|
||||
@findex .LOW_RESOLUTION_TIME
|
||||
@item .LOW_RESOLUTION_TIME
|
||||
|
||||
If you specify prerequisites for @code{.LOW_RESOLUTION_TIME},
|
||||
@command{make} assumes that these files are created by commands that
|
||||
generate low resolution time stamps. The commands for
|
||||
@code{.LOW_RESOLUTION_TIME} are not meaningful.
|
||||
|
||||
The high resolution file time stamps of many modern hosts lessen the
|
||||
chance of @command{make} incorrectly concluding that a file is up to
|
||||
date. Unfortunately, these hosts provide no way to set a high
|
||||
resolution file time stamp, so commands like @samp{cp -p} that
|
||||
explicitly set a file's time stamp must discard its subsecond part. If
|
||||
a file is created by such a command, you should list it as a dependency
|
||||
of @code{.LOW_RESOLUTION_TIME} so that @command{make} does not
|
||||
mistakenly conclude that the file is out of date. For example:
|
||||
|
||||
@example
|
||||
@group
|
||||
.LOW_RESOLUTION_TIME: dst
|
||||
dst: src
|
||||
cp -p src dst
|
||||
@end group
|
||||
@end example
|
||||
|
||||
Since @samp{cp -p} discards the subsecond part of @file{src}'s time
|
||||
stamp, @file{dst} is typically slightly older than @file{src} even when
|
||||
it is up to date. The @code{.LOW_RESOLUTION_TIME} line causes
|
||||
@command{make} to consider @file{dst} to be up to date if its time stamp
|
||||
is at the start of the same second that @file{src}'s time stamp is in.
|
||||
|
||||
Due to a limitation of the archive format, archive member time stamps
|
||||
are always low resolution. You need not list archive members as
|
||||
dependencies of @code{.LOW_RESOLUTION_TIME}, as @command{make} does this
|
||||
automatically.
|
||||
|
||||
@findex .SILENT
|
||||
@item .SILENT
|
||||
|
||||
|
@ -3341,7 +3378,7 @@ default.
|
|||
@cindex target, deleting on error
|
||||
Usually when a command fails, if it has changed the target file at all,
|
||||
the file is corrupted and cannot be used---or at least it is not
|
||||
completely updated. Yet the file's timestamp says that it is now up to
|
||||
completely updated. Yet the file's time stamp says that it is now up to
|
||||
date, so the next time @code{make} runs, it will not try to update that
|
||||
file. The situation is just the same as when the command is killed by a
|
||||
signal; @pxref{Interrupts}. So generally the right thing to do is to
|
||||
|
@ -6084,7 +6121,7 @@ This one is slightly more interesting: it defines a macro to search for
|
|||
the first instance of a program in @code{PATH}:
|
||||
|
||||
@smallexample
|
||||
pathsearch = $(firstword $(wildcard $(addsufix /$(1),$(subst :, ,$(PATH)))))
|
||||
pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH)))))
|
||||
|
||||
LS := $(call pathsearch,ls)
|
||||
@end smallexample
|
||||
|
|
17
remake.c
17
remake.c
|
@ -396,14 +396,15 @@ update_file_1 (file, depth)
|
|||
noexist = this_mtime == NONEXISTENT_MTIME;
|
||||
if (noexist)
|
||||
DBF (DB_BASIC, _("File `%s' does not exist.\n"));
|
||||
else
|
||||
else if (ORDINARY_MTIME_MIN <= this_mtime && this_mtime <= ORDINARY_MTIME_MAX
|
||||
&& file->low_resolution_time)
|
||||
{
|
||||
#ifndef NO_ARCHIVES
|
||||
/* Avoid spurious rebuilds of archive members due to their
|
||||
timestamp resolution being only one second. */
|
||||
if (1 < FILE_TIMESTAMPS_PER_S && ar_name (file->name))
|
||||
this_mtime += FILE_TIMESTAMPS_PER_S - 1;
|
||||
#endif
|
||||
/* Avoid spurious rebuilds due to low resolution time stamps. */
|
||||
int ns = FILE_TIMESTAMP_NS (this_mtime);
|
||||
if (ns != 0)
|
||||
error (NILF, _("*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"),
|
||||
file->name);
|
||||
this_mtime += FILE_TIMESTAMPS_PER_S - 1 - ns;
|
||||
}
|
||||
|
||||
must_make = noexist;
|
||||
|
@ -1106,6 +1107,8 @@ f_mtime (file, search)
|
|||
free (arname);
|
||||
free (memname);
|
||||
|
||||
file->low_resolution_time = 1;
|
||||
|
||||
if (mtime == NONEXISTENT_MTIME)
|
||||
/* The archive doesn't exist, so its members don't exist either. */
|
||||
return NONEXISTENT_MTIME;
|
||||
|
|
Loading…
Reference in a new issue