Imported make-3.81rc1

Imported make-3.81rc1
into srivasta@debian.org--etch/make--upstream--3.81



git-archimport-id: srivasta@debian.org--etch/make--upstream--3.81--patch-5
This commit is contained in:
Manoj Srivastava 2006-02-24 21:38:55 +00:00
parent 5c7ae9fed0
commit 59db4a13ef
188 changed files with 16200 additions and 10960 deletions

17
AUTHORS
View file

@ -62,3 +62,20 @@ Other contributors:
With suggestions/comments/bug reports from a cast of ... well ...
hundreds, anyway :)
-------------------------------------------------------------------------------
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

284
ChangeLog
View file

@ -1,3 +1,270 @@
2006-02-19 Paul D. Smith <psmith@gnu.org>
* commands.c (set_file_variables): Realloc, not malloc, the static
string values to avoid memory leaks.
* expand.c (recursively_expand_for_file): Only set reading_file to
an initialized value.
* implicit.c (pattern_search): We need to make a copy of the stem
if we get it from an intermediate dep, since those get freed.
* file.c (lookup_file) [VMS]: Don't lowercase special targets that
begin with ".".
(enter_file) [VMS]: Ditto.
Patch provided by Hartmut Becker <Hartmut.Becker@hp.com>.
2006-02-18 Eli Zaretskii <eliz@gnu.org>
* job.c (construct_command_argv_internal): Don't create a temporary
script/batch file if we are under -n. Call _setmode to switch the
script file stream to text mode.
2006-02-17 Paul D. Smith <psmith@gnu.org>
* variable.c (merge_variable_set_lists): Don't try to merge the
global_setlist. Not only is this useless, but it can lead to
circularities in the linked list, if global_setlist->next in one
list gets set to point to another list which also ends in
global_setlist.
Fixes Savannah bug #15757.
2006-02-15 Paul D. Smith <psmith@gnu.org>
Fix for Savannah bug #106.
* expand.c (expanding_var): Keep track of which variable we're
expanding. If no variable is being expanded, it's the same as
reading_file.
* make.h (expanding_var): Declare it.
* expand.c (recursively_expand_for_file): Set expanding_var to the
current variable we're expanding, unless there's no file info in
it (could happen if it comes from the command line or a default
variable). Restore it before we exit.
* expand.c (variable_expand_string): Use the expanding_var file
info instead of the reading_file info.
* function.c (check_numeric): Ditto.
(func_word): Ditto.
(func_wordlist): Ditto.
(func_error): Ditto.
(expand_builtin_function): Ditto.
(handle_function): Ditto.
2006-02-14 Paul D. Smith <psmith@gnu.org>
* read.c (eval): Even if the included filenames expands to the
empty string we still need to free the allocated buffer.
* implicit.c (pattern_search): If we allocated a variable set for
an impossible file, free it.
* variable.c (free_variable_set): New function.
* variable.h: Declare it.
* read.c (read_all_makefiles): Makefile names are kept in the
strcache, so there's never any need to alloc/free them.
(eval): Ditto.
* main.c (main): Add "archives" to the .FEATURES variable if
archive support is enabled.
* doc/make.texi (Special Variables): Document it.
2006-02-13 Paul D. Smith <psmith@gnu.org>
* implicit.c (pattern_search): Add checking for DOS pathnames to
the pattern rule target LASTSLASH manipulation.
Fixes Savannah bug #11183.
2006-02-11 Paul D. Smith <psmith@gnu.org>
* (ALL FILES): Updated copyright and license notices.
2006-02-10 Paul D. Smith <psmith@gnu.org>
A new internal capability: the string cache is a read-only cache
of strings, with a hash table interface for fast lookup. Nothing
in the cache will ever be freed, so there's no need for reference
counting, etc. This is the beginning of a full solution for
Savannah bug #15182, but for now we only store makefile names here.
* strcache.c: New file. Implement a read-only string cache.
* make.h: Add prototypes for new functions.
* main.c (initialize_global_hash_tables): Initialize the string cache.
(print_data_base): Print string cache stats.
* read.c (eval_makefile): Use the string cache to store makefile
names. Rewrite the string allocation to be sure we free everything.
2006-02-10 Eli Zaretskii <eliz@gnu.org>
* dir.c (dir_contents_file_exists_p): Don't opendir if the
directory time stamp didn't change, except on FAT filesystems.
Suggested by J. David Bryan <jdbryan@acm.org>.
2006-02-09 Paul D. Smith <psmith@gnu.org>
* function.c (func_or): Implement a short-circuiting OR function.
(func_and): Implement a short-circuiting AND function.
(function_table_init): Update the table with the new functions.
* doc/make.texi (Conditional Functions): Changed the "if" section
to one on general conditional functions. Added documentation for
$(and ...) and $(or ...) functions.
* NEWS: Note new $(and ...) and $(or ...) functions.
2006-02-08 Boris Kolpackov <boris@kolpackov.net>
* job.h (struct child): Add dontcare bitfield.
* job.c (new_job): Cache dontcare flag.
* job.c (reap_children): Use cached dontcare flag instead of the
one in struct file. Fixes Savannah bug #15641.
2006-02-06 Paul D. Smith <psmith@gnu.org>
* vpath.c (selective_vpath_search): If the file we find has a
timestamp from -o or -W, use that instead of the real time.
* remake.c (f_mtime): If the mtime is a special token from -o or
-W, don't overwrite it with the real mtime.
Fixes Savannah bug #15341.
Updates from Markus Mauhart <qwe123@chello.at>:
* w32/subproc/sub_proc.c (process_begin): Remove no-op tests.
(process_signal, process_last_err, process_exit_code): Manage
invalid handle values.
(process_{outbuf,errbuf,outcnt,errcnt,pipes}): Unused and don't
manage invalid handles; remove them.
* job.c (start_job_command) [WINDOWS32]: Jump out on error.
* config.h.W32.template [WINDOWS32]: Set flags for Windows builds.
* README.cvs: Updates for building from CVS.
2006-02-05 Paul D. Smith <psmith@gnu.org>
* file.c (enter_file): Keep track of the last double_colon entry,
to avoid walking the list every time we want to add a new one.
Fixes Savannah bug #15533.
* filedef.h (struct file): Add a new LAST pointer.
* dir.c (directory_contents_hash_cmp): Don't use subtraction to do
the comparison. For 64-bits systems the result of the subtraction
might not fit into an int. Use comparison instead.
Fixes Savannah bug #15534.
* doc/make.texi: Update the chapter on writing commands to reflect
the changes made in 3.81 for backslash/newline and SHELL handling.
2006-02-01 Paul D. Smith <psmith@gnu.org>
* dir.c (dir_contents_file_exists_p) [WINDOWS32]: Make sure
variable st is not used when it's not initialized.
Patch from Eli Zaretskii <eliz@gnu.org>.
2006-01-31 Paul D. Smith <psmith@gnu.org>
* README.W32.template: Applied patch #4785 from
Markus Mauhart <qwe123@chello.at>.
* README.cvs: Applied patch #4786 from
Markus Mauhart <qwe123@chello.at>.
* make_msvc_net2003.vcproj [WINDOWS32]: New version from
J. Grant <jg@jguk.org>.
* main.c: Update the copyright year in the version output.
* prepare_w32.bat: Remove this file from the distribution.
2006-01-21 Eli Zaretskii <eliz@gnu.org>
* remake.c (update_goal_chain): Set g->changed instead of
incrementing it, as it is only 8-bit wide, and could overflow if
many commands got started in update_file.
* w32/include/sub_proc.h: Add a prototype for process_used_slots.
* w32/subproc/sub_proc.c: Change dimension of proc_array[] to
MAXIMUM_WAIT_OBJECTS.
(process_wait_for_any_private): Change dimension of handles[]
array to MAXIMUM_WAIT_OBJECTS.
(process_used_slots): New function.
(process_register): Don't register more processes than the
available number of slots.
(process_easy): Don't start new processes if all slots are used up.
* job.c (load_too_high, start_waiting_jobs) [WINDOWS32]: If there
are already more children than sub_proc.c can handle, behave as if
the load were too high.
(start_job_command): Fix a typo in error message when process_easy
fails.
2006-01-14 Eli Zaretskii <eliz@gnu.org>
* main.c (main) [WINDOWS32]: Don't refuse to run with -jN, even if
the shell is not sh.exe.
* job.c (create_batch_file): Renamed from create_batch_filename;
all callers changed. Don't close the temporary file; return its
file descriptor instead. New arg FD allows to return the file
descriptor.
(construct_command_argv_internal): Use _fdopen instead of fopen to
open the batch file.
2006-01-04 Paul D. Smith <psmith@gnu.org>
* readme.vms: Updates for case-insensitive VMS file systems from
Hartmut Becker <Hartmut.Becker@hp.com>.
* dir.c (vms_hash): Ditto.
* vmsify.c (copyto): Ditto.
* vmsfunctions.c (readdir): Ditto.
* make.1: Add a section on the exit codes for make.
* doc/make.texi: A number of minor updates to the documentation.
2006-01-03 Paul D. Smith <psmith@gnu.org>
* remake.c (update_file_1): Mark a prerequisite changed if it
doesn't exist.
* read.c (eval): Be sure to strip off trailing whitespace from the
prerequisites list properly. Also, initialize all fields in
struct dep when creating a new one.
2005-12-28 Paul D. Smith <psmith@gnu.org>
* config.h.W32.template [WINDOWS32]: Add in some pragmas to
disable warnings for MSC.
Patch by Rob Tulloh <rtulloh@yahoo.com>.
2005-12-17 Eli Zaretskii <eliz@gnu.org>
* doc/make.texi (Execution): Add a footnote about changes in
handling of backslash-newline sequences. Mention the differences
on MS-DOS and MS-Windows.
* NEWS: More details about building the MinGW port and a pointer
to README.W32. Fix the section name that describes the new
backward-incompatible processing of backslash-newline sequences.
The special processing of SHELL set to "cmd" is only relevant to
MS-Windows, not MS-DOS.
2005-12-17 Eli Zaretskii <eliz@gnu.org>
* main.c (handle_runtime_exceptions): Cast exrec->ExceptionAddress
to DWORD, to avoid compiler warnings.
* job.c (exec_command): Cast hWaitPID and hPID to DWORD, and
use %ld in format, to avoid compiler warnings.
* doc/make.texi (Special Targets): Fix a typo.
(Appending): Fix cross-reference to Setting.
(Special Variables, Secondary Expansion, File Name Functions)
(Flavor Function, Pattern Match, Quick Reference): Ensure two
periods after a sentence.
(Execution): Add @: after "e.g.".
(Environment): Fix punctuation.
(Target-specific, Call Function, Quick Reference): Add @: after "etc."
(Shell Function, Target-specific): Add @: after "vs."
2005-12-14 Boris Kolpackov <boris@kolpackov.net>
* read.c (record_target_var): Initialize variable's export field
with v_default instead of leaving it "initialized" by whatever
garbage happened to be on the heap.
2005-12-12 Paul D. Smith <psmith@gnu.org>
* make.1: Fix some display errors and document all existing options.
@ -2346,3 +2613,20 @@ See ChangeLog.2, available in the CVS repository at:
http://savannah.gnu.org/cvs/?group=make
for earlier changes.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,10 +1,21 @@
# -*-Makefile-*- template for DJGPP
# Makefile.in generated automatically by automake 1.2 from Makefile.am
# Copyright (C) 1994, 1995-1998, 1999, 2002 Free Software Foundation, Inc.
# This Makefile.DOS is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
#
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
# 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
SHELL = /bin/sh
@ -60,13 +71,13 @@ PACKAGE = make
PERL = perl
RANLIB = ranlib
REMOTE = stub
VERSION = 3.81beta4
VERSION = 3.81rc1
AUTOMAKE_OPTIONS = 1.2
bin_PROGRAMS = make$(EXEEXT)
make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c implicit.c job.c main.c misc.c read.c remake.c rule.c signame.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c
make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c implicit.c job.c main.c misc.c read.c remake.c rule.c signame.c strcache.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c
# This should include the glob/ prefix
libglob_a_SOURCES = glob/fnmatch.c glob/glob.c glob/fnmatch.h glob/glob.h
make_LDADD = glob/libglob.a
@ -93,7 +104,7 @@ DEFS = -I. -I$(srcdir) -I.
CPPFLAGS = -DHAVE_CONFIG_H
LDFLAGS =
LIBS =
make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o
make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o
make_DEPENDENCIES = glob/libglob.a
make_LDFLAGS =
libglob_a_LIBADD =
@ -666,6 +677,11 @@ signame.o signame.o: signame.c make.h config.h \
getopt.h \
gettext.h
# .deps/strcache.Po
strcache.o strcache.o: strcache.c make.h config.h \
getopt.h \
gettext.h hash.h
# .deps/variable.Po
variable.o variable.o: variable.c make.h config.h \
getopt.h \

View file

@ -1,4 +1,20 @@
# This is a -*-Makefile-*-, or close enough
#
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news ansi2knr
ACLOCAL_AMFLAGS = -I config
@ -24,7 +40,7 @@ endif
make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
function.c getopt.c getopt1.c implicit.c job.c main.c \
misc.c read.c remake.c $(remote) rule.c signame.c \
variable.c version.c vpath.c hash.c
strcache.c variable.c version.c vpath.c hash.c
EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c
@ -137,7 +153,7 @@ check-loadavg: loadavg$(EXEEXT)
-./loadavg$(EXEEXT)
# The loadavg function is invoked during "make check" to test getloadavg.
noinst_PROGRAMS = loadavg
check_PROGRAMS = loadavg
nodist_loadavg_SOURCES = getloadavg.c
loadavg_CPPFLAGS = -DTEST
loadavg_LDADD = @GETLOADAVG_LIBS@

View file

@ -1,23 +1,23 @@
# -*-Makefile-*- for GNU make on Amiga
#
# NOTE: If you have no `make' program at all to process this makefile, run
# `build.sh' instead.
#
# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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.
# GNU Make 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
# along with GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# You should have received a copy of the GNU General Public License along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Makefile for GNU Make
@ -119,7 +119,7 @@ CTAGS = ctags -w
objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
rule.o implicit.o default.o variable.o expand.o function.o \
vpath.o version.o ar.o arscan.o signame.o hash.o \
vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \
remote-$(REMOTE).o $(GETOPT) $(ALLOCA) $(extras)
srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
$(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \
@ -128,7 +128,7 @@ srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
$(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \
$(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \
$(srcdir)remote-$(REMOTE).c \
$(srcdir)ar.c $(srcdir)arscan.c \
$(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \
$(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \
$(srcdir)commands.h $(srcdir)dep.h $(srcdir)filedep.h \
$(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \
@ -294,6 +294,7 @@ expand.o: expand.c make.h filedef.h job.h commands.h variable.h
function.o: function.c make.h filedef.h variable.h dep.h job.h \
commands.h amiga.h
vpath.o: vpath.c make.h filedef.h variable.h
strcache.o: strcache.c make.h hash.h
version.o: version.c
ar.o: ar.c make.h filedef.h dep.h
arscan.o: arscan.c make.h

View file

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@ -15,10 +15,24 @@
@SET_MAKE@
# This is a -*-Makefile-*-, or close enough
#
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
SOURCES = $(nodist_loadavg_SOURCES) $(make_SOURCES) $(EXTRA_make_SOURCES)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -47,7 +61,7 @@ bin_PROGRAMS = make$(EXEEXT)
@WINDOWSENV_TRUE@am__append_1 = $(W32LIB)
# Only process if target is MS-Windows
@WINDOWSENV_TRUE@am__append_2 = $(W32INC)
noinst_PROGRAMS = loadavg$(EXEEXT)
check_PROGRAMS = loadavg$(EXEEXT)
subdir = .
DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
@ -71,14 +85,15 @@ CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
PROGRAMS = $(bin_PROGRAMS)
nodist_loadavg_OBJECTS = loadavg-getloadavg$U.$(OBJEXT)
loadavg_OBJECTS = $(nodist_loadavg_OBJECTS)
loadavg_DEPENDENCIES =
am__make_SOURCES_DIST = ar.c arscan.c commands.c default.c dir.c \
expand.c file.c function.c getopt.c getopt1.c implicit.c job.c \
main.c misc.c read.c remake.c remote-stub.c remote-cstms.c \
rule.c signame.c variable.c version.c vpath.c hash.c
rule.c signame.c strcache.c variable.c version.c vpath.c \
hash.c
@USE_CUSTOMS_FALSE@am__objects_1 = remote-stub$U.$(OBJEXT)
@USE_CUSTOMS_TRUE@am__objects_1 = remote-cstms$U.$(OBJEXT)
am_make_OBJECTS = ar$U.$(OBJEXT) arscan$U.$(OBJEXT) \
@ -87,8 +102,9 @@ am_make_OBJECTS = ar$U.$(OBJEXT) arscan$U.$(OBJEXT) \
getopt$U.$(OBJEXT) getopt1$U.$(OBJEXT) implicit$U.$(OBJEXT) \
job$U.$(OBJEXT) main$U.$(OBJEXT) misc$U.$(OBJEXT) \
read$U.$(OBJEXT) remake$U.$(OBJEXT) $(am__objects_1) \
rule$U.$(OBJEXT) signame$U.$(OBJEXT) variable$U.$(OBJEXT) \
version$U.$(OBJEXT) vpath$U.$(OBJEXT) hash$U.$(OBJEXT)
rule$U.$(OBJEXT) signame$U.$(OBJEXT) strcache$U.$(OBJEXT) \
variable$U.$(OBJEXT) version$U.$(OBJEXT) vpath$U.$(OBJEXT) \
hash$U.$(OBJEXT)
make_OBJECTS = $(am_make_OBJECTS)
am__DEPENDENCIES_1 =
@WINDOWSENV_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
@ -251,7 +267,7 @@ SUBDIRS = glob config po doc $(MAYBE_W32)
make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
function.c getopt.c getopt1.c implicit.c job.c main.c \
misc.c read.c remake.c $(remote) rule.c signame.c \
variable.c version.c vpath.c hash.c
strcache.c variable.c version.c vpath.c hash.c
EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c
noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \
@ -385,8 +401,8 @@ uninstall-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
clean-checkPROGRAMS:
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
loadavg$(EXEEXT): $(loadavg_OBJECTS) $(loadavg_DEPENDENCIES)
@rm -f loadavg$(EXEEXT)
$(LINK) $(loadavg_LDFLAGS) $(loadavg_OBJECTS) $(loadavg_LDADD) $(LIBS)
@ -433,6 +449,7 @@ mostlyclean-kr:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-stub$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rule$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signame$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcache$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/variable$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version$U.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vmsjobs$U.Po@am__quote@
@ -511,6 +528,8 @@ rule_.c: rule.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rule.c; then echo $(srcdir)/rule.c; else echo rule.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
signame_.c: signame.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/signame.c; then echo $(srcdir)/signame.c; else echo signame.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
strcache_.c: strcache.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strcache.c; then echo $(srcdir)/strcache.c; else echo strcache.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
variable_.c: variable.c $(ANSI2KNR)
$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/variable.c; then echo $(srcdir)/variable.c; else echo variable.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@
version_.c: version.c $(ANSI2KNR)
@ -525,8 +544,8 @@ function_.$(OBJEXT) getloadavg_.$(OBJEXT) getopt_.$(OBJEXT) \
getopt1_.$(OBJEXT) hash_.$(OBJEXT) implicit_.$(OBJEXT) job_.$(OBJEXT) \
main_.$(OBJEXT) misc_.$(OBJEXT) read_.$(OBJEXT) remake_.$(OBJEXT) \
remote-cstms_.$(OBJEXT) remote-stub_.$(OBJEXT) rule_.$(OBJEXT) \
signame_.$(OBJEXT) variable_.$(OBJEXT) version_.$(OBJEXT) \
vmsjobs_.$(OBJEXT) vpath_.$(OBJEXT) : $(ANSI2KNR)
signame_.$(OBJEXT) strcache_.$(OBJEXT) variable_.$(OBJEXT) \
version_.$(OBJEXT) vmsjobs_.$(OBJEXT) vpath_.$(OBJEXT) : $(ANSI2KNR)
uninstall-info-am:
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
@ -858,6 +877,7 @@ distcleancheck: distclean
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-recursive
all-am: Makefile $(ANSI2KNR) $(PROGRAMS) $(MANS) $(HEADERS) config.h
@ -892,8 +912,8 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-binPROGRAMS clean-generic clean-krextra \
clean-noinstPROGRAMS mostlyclean-am
clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
clean-krextra mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
@ -946,11 +966,11 @@ uninstall-info: uninstall-info-recursive
uninstall-man: uninstall-man1
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am check-local clean clean-binPROGRAMS clean-generic \
clean-krextra clean-noinstPROGRAMS clean-recursive ctags \
ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-compile distclean-generic distclean-hdr \
check-am check-local clean clean-binPROGRAMS \
clean-checkPROGRAMS clean-generic clean-krextra \
clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
distclean distclean-compile distclean-generic distclean-hdr \
distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binPROGRAMS install-data \

89
NEWS
View file

@ -1,22 +1,24 @@
GNU make NEWS -*-indented-text-*-
History of user-visible changes.
12 December 2005
19 February 2006
Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc.
See the end for copying conditions.
See the end of this file for copyrights and conditions.
All changes mentioned here are more fully described in the GNU make
manual, which is contained in this distribution as the file doc/make.texi.
See the README file and the GNU make manual for instructions for
reporting bugs.
Version 3.81beta4
Version 3.81rc1
* GNU make is ported to OS/2.
* GNU make is ported to MinGW.
* GNU make is ported to MinGW. The MinGW build is only supported by
the build_w32.bat batch file; see the file README.W32 for more
details.
* WARNING: Backward-incompatibility!
GNU make now implements a generic "second expansion" feature on the
prerequisites of both explicit and implicit (pattern) rules. In order
to enable this feature, the special target '.SECONDEXPANSION' must be
@ -27,17 +29,20 @@ Version 3.81beta4
SysV $$@ in prerequisites lists, you can also use complex functions
such as $$(notdir $$@) etc. This behavior applies to implicit rules,
as well, where the second expansion occurs when the rule is matched.
However, this means that you need to double-quote any "$" in your
filenames; instead of "foo: boo$$bar" you now must write "foo:
foo$$$$bar". Note that the SysV $$@ etc. feature, which used to be
available by default, is now ONLY available when the .SECONDEXPANSION
target is defined. If your makefiles take advantage of this SysV
feature you will need to update them.
However, this means that when '.SECONDEXPANSION' is enabled you must
double-quote any "$" in your filenames; instead of "foo: boo$$bar" you
now must write "foo: foo$$$$bar". Note that the SysV $$@ etc. feature,
which used to be available by default, is now ONLY available when the
.SECONDEXPANSION target is defined. If your makefiles take advantage
of this SysV feature you will need to update them.
* WARNING: Backward-incompatibility!
In order to comply with POSIX, the way in which GNU make processes
backslash-newline sequences in command strings has changed. See the
GNU make manual section "Shell Execution" for details.
backslash-newline sequences in command strings has changed. If your
makefiles use backslash-newline sequences inside of single-quoted
strings in command scripts you will be impacted by this change. See
the GNU make manual section "Command Execution" (node "Execution") for
details.
* New command-line option: -L (--check-symlink-times). On systems that
support symbolic links, if this option is given then GNU make will
@ -45,7 +50,7 @@ Version 3.81beta4
used to resolve target files. The default behavior remains as it
always has: use the modification time of the actual target file only.
* The "else" conditional line can now be followed by any other legal
* The "else" conditional line can now be followed by any other valid
conditional on the same line: this does not increase the depth of the
conditional nesting, so only one "endif" is required to close the
conditional.
@ -90,6 +95,14 @@ Version 3.81beta4
- $(info ...) prints its arguments to stdout. No makefile name or
line number info, etc. is printed.
- $(flavor ...) returns the flavor of a variable.
- $(or ...) provides a short-circuiting OR conditional: each argument
is expanded. The first true (non-empty) argument is returned; no
further arguments are expanded. Expands to empty if there are no
true arguments.
- $(and ...) provides a short-circuiting AND conditional: each
argument is expanded. The first false (empty) argument is
returned; no further arguments are expanded. Expands to the last
argument if all arguments are true.
* Changes made for POSIX compatibility:
- Only touch targets (under -t) if they have at least one command.
@ -98,10 +111,17 @@ Version 3.81beta4
an enhancement to POSIX, if you export the make variable SHELL then
it will be set in the environment, just as before.
* On DOS and MS Windows systems, explicitly setting SHELL to a pathname
ending in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to
use the DOS command interpreter in batch mode even if a UNIX-like
shell could be found on the system.
* On MS Windows systems, explicitly setting SHELL to a pathname ending
in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to use
the DOS command interpreter in batch mode even if a UNIX-like shell
could be found on the system.
* On VMS there is now support for case-sensitive filesystems such as ODS5.
See the readme.vms file for information.
* Parallel builds (-jN) no longer require a working Bourne shell on
Windows platforms. They work even with the stock Windows shells, such
as cmd.exe and command.com.
* Updated to autoconf 2.59, automake 1.9.5, and gettext 0.14.1. Users
should not be impacted.
@ -110,6 +130,10 @@ Version 3.81beta4
Belarusian, Finnish, Kinyarwandan, and Irish. Many updated
translations.
A complete list of bugs fixed in this version is available here:
http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=101
Version 3.80
@ -187,6 +211,11 @@ Version 3.80
See ABOUT-NLS for more information.
* Updated to autoconf 2.54 and automake 1.7. Users should not be impacted.
A complete list of bugs fixed in this version is available here:
http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=102
Version 3.79.1
@ -945,14 +974,20 @@ Version 3.05
(Changes from versions 1 through 3.05 were never recorded. Sorry.)
----------------------------------------------------------------------
Copyright information:
-------------------------------------------------------------------------------
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
copyright notice and this permission notice are preserved, thus
giving the recipient permission to redistribute in turn.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
Permission is granted to distribute modified versions of this
document, or of portions of it, under the above conditions, provided
also that they carry prominent notices stating who last changed them.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,27 +1,23 @@
# NOTE: If you have no `make' program at all to process this makefile, run
# `build_w32.bat' instead.
# -*-Makefile-*- to build GNU make with nmake
#
# Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc.
# NOTE: If you have no 'make' program at all to process this makefile,
# run 'build_w32.bat' instead.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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
# along with GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
# NMakefile for GNU Make
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
LINK = link
CC = cl
@ -99,6 +95,7 @@ OBJS = \
$(OUTDIR)/remote-stub.obj \
$(OUTDIR)/rule.obj \
$(OUTDIR)/signame.obj \
$(OUTDIR)/strcache.obj \
$(OUTDIR)/variable.obj \
$(OUTDIR)/version.obj \
$(OUTDIR)/vpath.obj \
@ -258,6 +255,11 @@ signame.o signame.o: signame.c make.h config.h \
getopt.h \
gettext.h
# .deps/strcache.Po
strcache.o strcache.o: strcache.c make.h config.h \
getopt.h \
gettext.h hash.h
# .deps/variable.Po
variable.o variable.o: variable.c make.h config.h \
getopt.h \

21
README
View file

@ -1,4 +1,4 @@
This directory contains the 3.81beta4 release of GNU Make.
This directory contains the 3.81rc1 release of GNU Make.
See the file NEWS for the user-visible changes from previous releases.
In addition, there have been bugs fixed.
@ -168,3 +168,22 @@ Please note there are two _separate_ ports of GNU make for Microsoft
systems: a native Windows tool built with (for example) MSVC or Cygwin,
and a DOS-based tool built with DJGPP. Please be sure you are looking
at the right README!
-------------------------------------------------------------------------------
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -59,3 +59,20 @@ If you plan to use recursive makes, install make resident:
Resident make Add
-------------------------------------------------------------------------------
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -62,7 +62,7 @@ To build from sources:
[Enter]. Otherwise, you need to supply the path to the source
directory as an argument to the batch file, like this:
c:\djgpp\gnu\make-3.81beta4\configure.bat c:/djgpp/gnu/make-3.81beta4
c:\djgpp\gnu\make-3.81rc1\configure.bat c:/djgpp/gnu/make-3.81rc1
Note the forward slashes in the source path argument: you MUST
use them here.
@ -84,7 +84,7 @@ To build from sources:
If you are building from outside of the source directory, you
need to tell Make where the sources are, like this:
make srcdir=c:/djgpp/gnu/make-3.81beta4
make srcdir=c:/djgpp/gnu/make-3.81rc1
(configure.bat will tell you this when it finishes). You MUST
use a full, not relative, name of the source directory here, or
@ -321,3 +321,21 @@ Bug reports:
Enjoy,
Eli Zaretskii <eliz@is.elta.co.il>
-------------------------------------------------------------------------------
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -157,3 +157,20 @@ To run the testsuite do the following:
All tests should work fine with the exception of "default_names" which
is because OS/2 file systems are not case sensitive ("makefile" and
"Makefile" specify the same file).
-------------------------------------------------------------------------------
Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,56 +1,69 @@
Port of GNU make to Microsoft Windows 95/98/NT/2000/XP
Builds natively with MSVC 2.x, 4.x, 5.x, 6.x and MSVC.NET 7.x.
Also builds with the MinGW port of GCC 3.x (tested with GCC 3.4.2).
This version of GNU make has been tested on Microsoft Windows 2000/XP/2003.
It has also been used on Windows 95/98/NT, and on OS/2.
It builds natively with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as
.NET 7.x and .NET 2003.
It builds with the MinGW port of GCC 3.x (tested with GCC 3.4.2).
The Windows 32-bit port of GNU make is maintained jointly by various
people. It was originally made by Rob Tulloh.
To build with MinGW:
1. Edit config.h.W32 to your liking (especially the few
shell-related defines near the end).
Do this first, regardless of the build method you choose:
---------------------------------------------------------
2. Invoke build_w32.bat with the "gcc" argument:
1. At the Windows command prompt run:
build_w32 gcc
if not exist NMakefile copy NMakefile.template NMakefile
if not exist config.h copy config.h.W32 config.h
This produces gnumake.exe in the current directory.
To build with nmake:
1. Make sure cl.exe is in your %Path%. Example:
set Path=%Path%;c:/msdev/bin
2. Make sure %include% is set to msvc include directory. Example:
set include=c:/msdev/include
3. Make sure %lib% is set to msvc lib directory. Example:
set lib=c:/msdev/lib
4. nmake /f NMakefile
Then edit config.h to your liking (especially the few shell-related
defines near the end, or HAVE_CASE_INSENSITIVE_FS which corresponds
to './configure --enable-case-insensitive-file-system').
A short cut to steps 1, 2, and 3 is to run VCVARS32.bat before
invoking nmake. For example:
Using make_msvc_net2003.vcproj
------------------------------
2. Open make_msvc_net2003.vcproj in MSVS71 or MSVC71 or any compatible IDE,
then build this project as usual.
Building with (MinGW-)GCC using build_w32.bat
---------------------------------------------
2. Open a W32 command prompt for your installed (MinGW-)GCC, setup a
correct PATH and other environment variables for it, then execute ...
build_w32.bat gcc
This produces gnumake.exe in the current directory.
Building with (MSVC++-)cl using build_w32.bat or NMakefile
----------------------------------------------------------
2. Open a W32 command prompt for your installed (MSVC++-)cl, setup a
correct PATH and other environment variables for it (usually via
executing vcvars32.bat or vsvars32.bat from the cl-installation,
e.g. "%VS71COMNTOOLS%vsvars32.bat"; or using a corresponding start
menue entry from the cl-installation), then execute EITHER ...
build_w32.bat
(this produces WinDebug/gnumake.exe and WinRel/gnumake.exe)
... OR ...
c:
cd \msdev\bin
VCVARS32.bat
cd \path\to\make-3.81beta4
nmake /f NMakefile
There is a bat file (build_w32.bat) for folks who have fear of nmake.
Outputs:
WinDebug/make.exe
WinRel/make.exe
(this produces WinDebug/make.exe and WinRel/make.exe).
-------------------
-- Notes/Caveats --
-------------------
GNU make on Windows 32-bit platforms:
@ -154,7 +167,7 @@ GNU make handling of drive letters in pathnames (PATH, vpath, VPATH):
GNU make test suite:
I verified all functionality with a slightly modified version
of make-test-3.81beta4 (modifications to get test suite to run
of make-test-3.81rc1 (modifications to get test suite to run
on Windows NT). All tests pass in an environment that includes
sh.exe. Tests were performed on both Windows NT and Windows 95.
@ -234,25 +247,42 @@ SAMBA/NTFS/VFAT:
package using SAMBA as my file server. The reason seems to be
related to the way VC++ 4.0 changes the case name of the pdb
filename it is passed on the command line. It seems to change
the name always to to lower case. I contend that
the VC++ compiler should not change the casename of files that
are passed as arguments on the command line. I don't think this
was a problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.
the name always to to lower case. I contend that the VC++
compiler should not change the casename of files that are passed
as arguments on the command line. I don't think this was a
problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.
The package builds fine on VFAT and NTFS filesystems.
Most all of the development I have done to date has been using
NTFS and long file names. I have not done any considerable work
under VFAT. VFAT users may wish to be aware that this port
of make does respect case sensitivity.
under VFAT. VFAT users may wish to be aware that this port of
make does respect case sensitivity.
FAT:
Version 3.76 added support for FAT filesystems. Make
works around some difficulties with stat'ing of
files and caching of filenames and directories internally.
Version 3.76 added support for FAT filesystems. Make works
around some difficulties with stat'ing of files and caching of
filenames and directories internally.
Bug reports:
Please submit bugs via the normal bug reporting mechanism which
is described in the GNU make manual and the base README.
-------------------------------------------------------------------------------
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -93,3 +93,21 @@ SunOS 4.1.x:
#else
YMMV.
-------------------------------------------------------------------------------
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,32 +1,32 @@
# NOTE: If you have no `make' program at all to process this makefile, run
# `build.sh' instead.
# -*-Makefile-*- for building GNU make with smake
#
# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
# NOTE: If you have no 'make' program at all to process this makefile,
# run 'build.sh' instead.
#
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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.
# GNU Make 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
# along with GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# You should have received a copy of the GNU General Public License along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Makefile for GNU Make
#
# Ultrix 2.2 make doesn't expand the value of VPATH.
VPATH = /make-3.81beta4/
VPATH = /make-3.81rc1/
# This must repeat the value, because configure will remove `VPATH = .'.
srcdir = /make-3.81beta4/
srcdir = /make-3.81rc1/
CC = sc
RM = delete
@ -125,7 +125,7 @@ CTAGS = ctags -w
objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
rule.o implicit.o default.o variable.o expand.o function.o \
vpath.o version.o ar.o arscan.o signame.o hash.o \
vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \
remote-$(REMOTE).o $(GLOB) $(GETOPT) $(ALLOCA) $(extras)
srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
$(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \
@ -134,7 +134,7 @@ srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
$(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \
$(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \
$(srcdir)remote-$(REMOTE).c \
$(srcdir)ar.c $(srcdir)arscan.c \
$(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \
$(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \
$(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h \
$(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \
@ -346,6 +346,11 @@ signame.o signame.o: signame.c make.h config.h \
getopt.h \
gettext.h
# .deps/strcache.Po
strcache.o strcache.o: strcache.c make.h config.h \
getopt.h \
gettext.h hash.h
# .deps/variable.Po
variable.o variable.o: variable.c make.h config.h \
getopt.h \

View file

@ -1,6 +1,25 @@
dnl acinclude.m4 -- Extra macros needed for GNU make.
dnl
dnl Automake will incorporate this into its generated aclocal.m4.
dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
dnl Free Software Foundation, Inc.
dnl This file is part of GNU Make.
dnl
dnl GNU Make is free software; you can redistribute it and/or modify it
dnl under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl
dnl GNU Make is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with GNU Make; see the file COPYING. If not, write to the
dnl Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
dnl MA 02110-1301 USA.
dnl ---------------------------------------------------------------------------
dnl Got this from the lynx 2.8 distribution.

4
aclocal.m4 vendored
View file

@ -1,4 +1,4 @@
# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005 Free Software Foundation, Inc.
@ -28,7 +28,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.9.5])])
[AM_AUTOMAKE_VERSION([1.9.6])])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-

24
amiga.c
View file

@ -1,21 +1,19 @@
/* Running commands on Amiga
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "variable.h"

24
amiga.h
View file

@ -1,21 +1,19 @@
/* Definitions for amiga specific things
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
extern int MyExecute PARAMS ((char ** argv));
extern char * wildcard_expansion PARAMS ((char * wc, char * o));

26
ar.c
View file

@ -1,22 +1,20 @@
/* Interface to `ar' archives for GNU Make.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1997,
2002 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"

View file

@ -1,20 +1,20 @@
/* Library function for scanning an archive file.
Copyright (C) 1987,89,91,92,93,94,95,97 Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
Inc.
This file is part of GNU Make.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (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.
GNU Make 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
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"

View file

@ -2,23 +2,21 @@
# Shell script to build GNU Make in the absence of any `make' program.
# @configure_input@
# Copyright (C) 1993, 1994, 1997, 2003, 2004 Free Software Foundation, Inc.
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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.
# GNU Make 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
# along with GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# You should have received a copy of the GNU General Public License along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
# See Makefile.in for comments describing these variables.
@ -54,7 +52,7 @@ defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${
set -e
# These are all the objects we need to link together.
objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}"
objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} strcache.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}"
if [ x"$GLOBLIB" != x ]; then
objs="$objs glob/fnmatch.${OBJEXT} glob/glob.${OBJEXT}"

View file

@ -1,9 +1,26 @@
@echo off
rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
rem 2006 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem GNU Make is free software; you can redistribute it and/or modify it under the
rem terms of the GNU General Public License as published by the Free Software
rem Foundation; either version 2, or (at your option) any later version.
rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
rem A PARTICULAR PURPOSE. See the GNU General Public License for more details.
rem You should have received a copy of the GNU General Public License along with
rem GNU Make; see the file COPYING. If not, write to the Free Software
rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
if not exist config.h copy config.h.W32 config.h
cd w32\subproc
@echo "Creating the subproc library"
echo "Creating the subproc library"
%ComSpec% /c build.bat %1
cd ..\..
@echo off
if exist link.dbg del link.dbg
if exist link.rel del link.rel
echo "Creating GNU Make for Windows 9X/NT/2K/XP"
@ -47,6 +64,8 @@ cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D
echo WinDebug\arscan.obj >>link.dbg
cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c hash.c
echo WinDebug\hash.obj >>link.dbg
cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c strcache.c
echo WinDebug\strcache.obj >>link.dbg
cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remake.c
echo WinDebug\remake.obj >>link.dbg
cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c misc.c
@ -69,7 +88,7 @@ cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D
echo WinDebug\pathstuff.obj >>link.dbg
echo off
echo "Linking WinDebug/%make%.exe"
rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe .\WinDebug/variable.obj .\WinDebug/rule.obj .\WinDebug/remote-stub.obj .\WinDebug/commands.obj .\WinDebug/file.obj .\WinDebug/getloadavg.obj .\WinDebug/default.obj .\WinDebug/signame.obj .\WinDebug/expand.obj .\WinDebug/dir.obj .\WinDebug/main.obj .\WinDebug/getopt1.obj .\WinDebug/job.obj .\WinDebug/read.obj .\WinDebug/version.obj .\WinDebug/getopt.obj .\WinDebug/arscan.obj .\WinDebug/remake.obj .\WinDebug/hash.obj .\WinDebug/misc.obj .\WinDebug/ar.obj .\WinDebug/function.obj .\WinDebug/vpath.obj .\WinDebug/implicit.obj .\WinDebug/dirent.obj .\WinDebug/glob.obj .\WinDebug/fnmatch.obj .\WinDebug/pathstuff.obj
rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe .\WinDebug/variable.obj .\WinDebug/rule.obj .\WinDebug/remote-stub.obj .\WinDebug/commands.obj .\WinDebug/file.obj .\WinDebug/getloadavg.obj .\WinDebug/default.obj .\WinDebug/signame.obj .\WinDebug/expand.obj .\WinDebug/dir.obj .\WinDebug/main.obj .\WinDebug/getopt1.obj .\WinDebug/job.obj .\WinDebug/read.obj .\WinDebug/version.obj .\WinDebug/getopt.obj .\WinDebug/arscan.obj .\WinDebug/remake.obj .\WinDebug/hash.obj .\WinDebug/strcache.obj .\WinDebug/misc.obj .\WinDebug/ar.obj .\WinDebug/function.obj .\WinDebug/vpath.obj .\WinDebug/implicit.obj .\WinDebug/dirent.obj .\WinDebug/glob.obj .\WinDebug/fnmatch.obj .\WinDebug/pathstuff.obj
echo kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib >>link.dbg
link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe @link.dbg
if not exist .\WinDebug/%make%.exe echo "WinDebug build failed"
@ -114,6 +133,8 @@ cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WIND
echo WinRel\remake.obj >>link.rel
cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c hash.c
echo WinRel\hash.obj >>link.rel
cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c strcache.c
echo WinRel\strcache.obj >>link.rel
cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c misc.c
echo WinRel\misc.obj >>link.rel
cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c ar.c
@ -134,7 +155,7 @@ cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WIND
echo WinRel\pathstuff.obj >>link.rel
echo off
echo "Linking WinRel/%make%.exe"
rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe .\WinRel/variable.obj .\WinRel/rule.obj .\WinRel/remote-stub.obj .\WinRel/commands.obj .\WinRel/file.obj .\WinRel/getloadavg.obj .\WinRel/default.obj .\WinRel/signame.obj .\WinRel/expand.obj .\WinRel/dir.obj .\WinRel/main.obj .\WinRel/getopt1.obj .\WinRel/job.obj .\WinRel/read.obj .\WinRel/version.obj .\WinRel/getopt.obj .\WinRel/arscan.obj .\WinRel/remake.obj .\WinRel/misc.obj .\WinRel/hash.obj .\WinRel/ar.obj .\WinRel/function.obj .\WinRel/vpath.obj .\WinRel/implicit.obj .\WinRel/dirent.obj .\WinRel/glob.obj .\WinRel/fnmatch.obj .\WinRel/pathstuff.obj
rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe .\WinRel/variable.obj .\WinRel/rule.obj .\WinRel/remote-stub.obj .\WinRel/commands.obj .\WinRel/file.obj .\WinRel/getloadavg.obj .\WinRel/default.obj .\WinRel/signame.obj .\WinRel/expand.obj .\WinRel/dir.obj .\WinRel/main.obj .\WinRel/getopt1.obj .\WinRel/job.obj .\WinRel/read.obj .\WinRel/version.obj .\WinRel/getopt.obj .\WinRel/arscan.obj .\WinRel/remake.obj .\WinRel/misc.obj .\WinRel/hash.obj .\WinRel/strcache.obj .\WinRel/ar.obj .\WinRel/function.obj .\WinRel/vpath.obj .\WinRel/implicit.obj .\WinRel/dirent.obj .\WinRel/glob.obj .\WinRel/fnmatch.obj .\WinRel/pathstuff.obj
echo kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib >>link.rel
link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe @link.rel
if not exist .\WinRel/%make%.exe echo "WinRel build failed"
@ -162,6 +183,7 @@ gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c arscan.c
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remake.c
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c hash.c
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c strcache.c
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c misc.c
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ar.c
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c function.c
@ -170,6 +192,6 @@ gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/glob.c -o glob.o
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o
gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o
gcc -mthreads -gstabs+ -ggdb3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o job.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o ar.o function.o vpath.o implicit.o glob.o fnmatch.o pathstuff.o w32_misc.o sub_proc.o w32err.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
gcc -mthreads -gstabs+ -ggdb3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o job.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o strcache.o ar.o function.o vpath.o implicit.o glob.o fnmatch.o pathstuff.o w32_misc.o sub_proc.o w32err.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
:BuildEnd
echo on

View file

@ -1,21 +1,20 @@
/* Command processing for GNU Make.
Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "dep.h"
@ -158,7 +157,7 @@ set_file_variables (struct file *file)
plus_len++;
if (plus_len > plus_max)
plus_value = (char *) xmalloc (plus_max = plus_len);
plus_value = xrealloc (plus_value, plus_max = plus_len);
cp = plus_value;
qmark_len = plus_len + 1; /* Will be this or less. */
@ -207,11 +206,11 @@ set_file_variables (struct file *file)
cp = caret_value = plus_value; /* Reuse the buffer; it's big enough. */
if (qmark_len > qmark_max)
qmark_value = (char *) xmalloc (qmark_max = qmark_len);
qmark_value = xrealloc (qmark_value, qmark_max = qmark_len);
qp = qmark_value;
if (bar_len > bar_max)
bar_value = (char *) xmalloc (bar_max = bar_len);
bar_value = xrealloc (bar_value, bar_max = bar_len);
bp = bar_value;
for (d = file->deps; d != 0; d = d->next)

View file

@ -1,21 +1,20 @@
/* Definition of data structures describing shell commands for GNU Make.
Copyright (C) 1988, 1989, 1991, 1993 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* Structure that gives the commands to make a file
and information about where these commands came from. */

View file

@ -1,4 +1,19 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* config.h -- hand-massaged for Amiga -*-C-*-
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* Define if on AIX 3.
System headers sometimes define this.
@ -175,7 +190,7 @@
#define PACKAGE "make"
/* Version of this package (needed by automake) */
#define VERSION "3.81beta4"
#define VERSION "3.81rc1"
/* Define to the name of the SCCS `get' command. */
#define SCCS_GET "get"

View file

@ -1,4 +1,21 @@
/* config.h-vms. Generated by hand by Klaus Kämpf <kkaempf@rmi.de> */
/* config.h-vms. Generated by hand by Klaus Kämpf <kkaempf@rmi.de> -*-C-*-
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* config.h. Generated automatically by configure. */
/* config.h.in. Generated automatically from configure.in by autoheader. */
@ -196,7 +213,7 @@
#define PACKAGE "make"
/* Version of this package (needed by automake) */
#define VERSION "3.81beta4"
#define VERSION "3.81rc1"
/* Define to the name of the SCCS `get' command. */
/* #undef SCCS_GET */
@ -350,7 +367,7 @@
/* Define for case insensitve filenames */
#define HAVE_CASE_INSENSITIVE_FS 1
/* VMS specific, define it if you want to use case sensitve targets */
/* VMS specific, define it if you want to use case sensitive targets */
/* #undef WANT_CASE_SENSITIVE_TARGETS */
/* VMS specific, V7.0 has opendir() and friends, so it's undefined */

View file

@ -1,4 +1,30 @@
/* config.h.W32 -*-C-*- */
/* config.h.W32 -- hand-massaged config.h file for Windows builds -*-C-*-
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* Suppress some Visual C++ warnings.
Maybe after the code cleanup for ISO C we can remove some/all of these. */
#if _MSC_VER > 1000
# pragma warning(disable:4100) /* unreferenced formal parameter */
# pragma warning(disable:4102) /* unreferenced label */
# pragma warning(disable:4127) /* conditional expression is constant */
# pragma warning(disable:4131) /* uses old-style declarator */
# pragma warning(disable:4702) /* unreachable code */
#endif
/* Define to 1 if the `closedir' function returns void instead of `int'. */
/* #undef CLOSEDIR_VOID */
@ -188,13 +214,13 @@
/*#define HAVE_STDINT_H 1*/
/* Define to 1 if you have the <stdlib.h> header file. */
/* #define HAVE_STDLIB_H 1*/
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strcasecmp' function. */
/* #undef HAVE_STRCASECMP */
/* Define to 1 if you have the `strchr' function. */
/* #define HAVE_STRCHR 1 */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strcoll' function and it is properly defined.
*/
@ -298,7 +324,7 @@
#define PACKAGE "make"
/* Define to 1 if the C compiler supports function prototypes. */
/*#define PROTOTYPES 1*/
#define PROTOTYPES 1
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
@ -345,7 +371,7 @@
/* #undef UMAX4_3 */
/* Version number of package */
#define VERSION "3.81beta4"
#define VERSION "3.81rc1"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */

View file

@ -21,4 +21,19 @@
* lib-prefix.m4: New file, from gettext-0.11.1.
* progtest.m4: New file, from gettext-0.11.1.
* Makefile.am: New file.
Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,4 +1,18 @@
# -*-Makefile-*-, or close enough
# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 nls.m4 \
intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \

View file

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@ -15,6 +15,20 @@
@SET_MAKE@
# -*-Makefile-*-, or close enough
# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@

View file

@ -1,7 +1,7 @@
#! /bin/sh
# Wrapper for compilers which do not understand `-c -o'.
scriptversion=2005-02-03.08
scriptversion=2005-05-14.22
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
@ -18,7 +18,7 @@ scriptversion=2005-02-03.08
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a

32
config/config.guess vendored
View file

@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp='2005-12-13'
timestamp='2006-01-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -106,7 +106,7 @@ set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@ -206,6 +206,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerppc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
@ -764,7 +767,12 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
case ${UNAME_MACHINE} in
pc98)
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
@ -851,7 +859,11 @@ EOF
#endif
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^CPU/{
s: ::g
p
}'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
@ -870,7 +882,11 @@ EOF
#endif
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^CPU/{
s: ::g
p
}'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
@ -977,7 +993,11 @@ EOF
LIBC=dietlibc
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^LIBC/{s: ::g;p;}'`"
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^LIBC/{
s: ::g
p
}'`"
test x"${LIBC}" != x && {
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit

13
config/config.sub vendored
View file

@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
timestamp='2005-12-11'
timestamp='2006-01-02'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@ -248,7 +248,7 @@ case $basic_machine in
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
| m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@ -818,6 +818,12 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
@ -1193,7 +1199,8 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \

View file

@ -1,7 +1,7 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2005-02-09.22
scriptversion=2005-07-09.11
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
@ -17,8 +17,8 @@ scriptversion=2005-02-09.22
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@ -467,7 +467,8 @@ cpp)
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"

View file

@ -1,6 +1,22 @@
# Test if the system uses DOS-style pathnames (drive specs and backslashes)
# By Paul Smith <psmith@gnu.org>. Based on dos.m4 by Jim Meyering.
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
AC_DEFUN([pds_AC_DOS_PATHS],
[
AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths],

View file

@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2005-02-02.21
scriptversion=2005-05-14.22
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the

View file

@ -1,7 +1,7 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
scriptversion=2005-02-08.22
scriptversion=2005-06-08.21
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
@ -19,8 +19,8 @@ scriptversion=2005-02-08.22
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@ -297,6 +297,9 @@ WARNING: \`$1' is $msg. You should only need it if
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file
;;

View file

@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2005-10-10.17}
\def\texinfoversion{2006-02-13.16}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
% Foundation, Inc.
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
% Software Foundation, Inc.
%
% This texinfo.tex file is free software; you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@ -293,6 +293,13 @@
% before the \shipout runs.
%
\indexdummies % don't expand commands in the output.
\normalturnoffactive % \ in index entries must not stay \, e.g., if
% the page break happens to be in the middle of an example.
% We don't want .vr (or whatever) entries like this:
% \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
% "\acronym" won't work when it's read back in;
% it needs to be
% {\code {{\tt \backslashcurfont }acronym}
\shipout\vbox{%
% Do this early so pdf references go to the beginning of the page.
\ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
@ -1385,9 +1392,17 @@ where each line of input produces a line of output.}
\else
\let \startlink \pdfstartlink
\fi
% make a live url in pdf output.
\def\pdfurl#1{%
\begingroup
\normalturnoffactive\def\@{@}%
% it seems we really need yet another set of dummies; have not
% tried to figure out what each command should do in the context
% of @url. for now, just make @/ a no-op, that's the only one
% people have actually reported a problem with.
%
\normalturnoffactive
\def\@{@}%
\let\/=\empty
\makevalueexpandable
\leavevmode\Red
\startlink attr{/Border [0 0 0]}%
@ -2942,6 +2957,7 @@ where each line of input produces a line of output.}
\def\doignore#1{\begingroup
% Scan in ``verbatim'' mode:
\obeylines
\catcode`\@ = \other
\catcode`\{ = \other
\catcode`\} = \other
@ -2962,16 +2978,16 @@ where each line of input produces a line of output.}
\gdef\dodoignore#1{%
% #1 contains the command name as a string, e.g., `ifinfo'.
%
% Define a command to find the next `@end #1', which must be on a line
% by itself.
\long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
% Define a command to find the next `@end #1'.
\long\def\doignoretext##1^^M@end #1{%
\doignoretextyyy##1^^M@#1\_STOP_}%
%
% And this command to find another #1 command, at the beginning of a
% line. (Otherwise, we would consider a line `@c @ifset', for
% example, to count as an @ifset for nesting.)
\long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
%
% And now expand that command.
\obeylines %
\doignoretext ^^M%
}%
}
@ -3001,7 +3017,12 @@ where each line of input produces a line of output.}
}
% Finish off ignored text.
\def\enddoignore{\endgroup\ignorespaces}
{ \obeylines%
% Ignore anything after the last `@end #1'; this matters in verbatim
% environments, where otherwise the newline after an ignored conditional
% would result in a blank line in the output.
\gdef\enddoignore#1^^M{\endgroup\ignorespaces}%
}
% @set VAR sets the variable VAR to an empty value.
@ -4486,13 +4507,21 @@ where each line of input produces a line of output.}
\gdef\thissection{#1}%
\fi\fi\fi
%
% Write the toc entry (before \donoderef). See comments in \chfplain.
% Write the toc entry (before \donoderef). See comments in \chapmacro.
\writetocentry{\toctype\sectionlevel}{#1}{#4}%
%
% Write the node reference (= pdf destination for pdftex).
% Again, see comments in \chfplain.
% Again, see comments in \chapmacro.
\donoderef{#3}%
%
% Interline glue will be inserted when the vbox is completed.
% That glue will be a valid breakpoint for the page, since it'll be
% preceded by a whatsit (usually from the \donoderef, or from the
% \writetocentry if there was no node). We don't want to allow that
% break, since then the whatsits could end up on page n while the
% section is on page n+1, thus toc/etc. are wrong. Debian bug 276000.
\nobreak
%
% Output the actual section heading.
\vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
\hangindent=\wd0 % zero if no section number
@ -4555,7 +4584,7 @@ where each line of input produces a line of output.}
\edef\temp{%
\write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
\temp
}
}%
\fi
\fi
%
@ -7102,22 +7131,6 @@ should work if nowhere else does.}
% \otherifyactive is called near the end of this file.
\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
% Same as @turnoffactive below, but backslash retains it's normal definition.
% (Before 2005-08-15, this macro explicitly assigned @let\=@normalbackslash,
% but it doesn't seem to be necessary. --kasal)
\def\normalturnoffactive{%
\let"=\normaldoublequote
\let~=\normaltilde
\let^=\normalcaret
\let_=\normalunderscore
\let|=\normalverticalbar
\let<=\normalless
\let>=\normalgreater
\let+=\normalplus
\let$=\normaldollar %$ font-lock fix
\unsepspaces
}
% Used sometimes to turn off (effectively) the active characters even after
% parsing them.
\def\turnoffactive{%
@ -7149,6 +7162,23 @@ should work if nowhere else does.}
@gdef@rawbackslash{@let\=@backslashcurfont}
@gdef@otherbackslash{@let\=@realbackslash}
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
% the literal character `\'.
%
@def@normalturnoffactive{%
@let\=@normalbackslash
@let"=@normaldoublequote
@let~=@normaltilde
@let^=@normalcaret
@let_=@normalunderscore
@let|=@normalverticalbar
@let<=@normalless
@let>=@normalgreater
@let+=@normalplus
@let$=@normaldollar %$ font-lock fix
@unsepspaces
}
% Make _ and + \other characters, temporarily.
% This is canceled by @fixbackslash.
@otherifyactive

View file

@ -1,3 +1,20 @@
/* configh.dos -- hand-massaged config.h file for MS-DOS builds -*-C-*-
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* Many things are defined already by a system header. */
#include <sys/config.h>
@ -76,13 +93,13 @@
#define PACKAGE_NAME "GNU make"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "GNU make 3.81beta4"
#define PACKAGE_STRING "GNU make 3.81rc1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "make"
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.81beta4"
#define PACKAGE_VERSION "3.81rc1"
/* Define to 1 if the C compiler supports function prototypes. */
#define PROTOTYPES 1
@ -91,7 +108,7 @@
#define SYS_SIGLIST_DECLARED 1
/* Version number of package */
#define VERSION "3.81beta4"
#define VERSION "3.81rc1"
/* Build host information. */
#define MAKE_HOST "i386-pc-msdosdjgpp"

341
configure vendored
View file

@ -1,7 +1,7 @@
#! /bin/sh
# From configure.in Id: configure.in,v 1.138 2005/12/13 14:44:17 psmith Exp .
# From configure.in Id: configure.in,v 1.140 2006/02/11 22:16:04 psmith Exp .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for GNU make 3.81beta4.
# Generated by GNU Autoconf 2.59 for GNU make 3.81rc1.
#
# Report bugs to <bug-make@gnu.org>.
#
@ -270,8 +270,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='GNU make'
PACKAGE_TARNAME='make'
PACKAGE_VERSION='3.81beta4'
PACKAGE_STRING='GNU make 3.81beta4'
PACKAGE_VERSION='3.81rc1'
PACKAGE_STRING='GNU make 3.81rc1'
PACKAGE_BUGREPORT='bug-make@gnu.org'
ac_unique_file="vpath.c"
@ -781,7 +781,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures GNU make 3.81beta4 to adapt to many kinds of systems.
\`configure' configures GNU make 3.81rc1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -847,7 +847,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of GNU make 3.81beta4:";;
short | recursive ) echo "Configuration of GNU make 3.81rc1:";;
esac
cat <<\_ACEOF
@ -976,14 +976,14 @@ esac
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi
cd $ac_popdir
cd "$ac_popdir"
done
fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
GNU make configure 3.81beta4
GNU make configure 3.81rc1
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@ -997,7 +997,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by GNU make $as_me 3.81beta4, which was
It was created by GNU make $as_me 3.81rc1, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@ -1650,7 +1650,7 @@ fi
# Define the identity of the package.
PACKAGE='make'
VERSION='3.81beta4'
VERSION='3.81rc1'
cat >>confdefs.h <<_ACEOF
@ -2350,8 +2350,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -2409,8 +2408,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -2526,8 +2524,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -2581,8 +2578,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -2627,8 +2623,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -2672,8 +2667,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -3492,8 +3486,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -3547,8 +3540,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -3613,8 +3605,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -3784,8 +3775,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -3848,8 +3838,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -4044,8 +4033,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -5092,8 +5080,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -5184,8 +5171,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -5235,8 +5221,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -5702,8 +5687,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -5757,8 +5741,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -5945,8 +5928,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -5975,8 +5957,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6046,8 +6027,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6099,8 +6079,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6171,8 +6150,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6224,8 +6202,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6299,8 +6276,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6354,8 +6330,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6422,8 +6397,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6595,8 +6569,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6668,8 +6641,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6723,8 +6695,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6795,8 +6766,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6850,8 +6820,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -6976,8 +6945,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7053,8 +7021,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7216,8 +7183,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7511,8 +7477,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7582,8 +7547,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7682,8 +7646,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7751,8 +7714,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7812,8 +7774,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7890,8 +7851,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -7961,8 +7921,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8038,8 +7997,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8093,8 +8051,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8159,8 +8116,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8353,8 +8309,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8420,8 +8375,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8460,8 +8414,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8641,8 +8594,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8723,8 +8675,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -8865,8 +8816,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -9004,8 +8954,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -9190,8 +9139,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -9233,18 +9181,24 @@ else
ac_cv_func_fork_works=cross
else
cat >conftest.$ac_ext <<_ACEOF
/* By Ruediger Kuhlmann. */
#include <sys/types.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
/* Some systems only have a dummy stub for fork() */
int main ()
{
if (fork() < 0)
exit (1);
exit (0);
}
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
/* By Ruediger Kuhlmann. */
if (fork() < 0)
exit (1);
exit (0);
;
return 0;
}
_ACEOF
rm -f conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
@ -9523,8 +9477,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -9618,8 +9571,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -9793,8 +9745,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -9895,8 +9846,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -9969,8 +9919,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10049,8 +9998,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10119,8 +10067,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10188,8 +10135,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10263,8 +10209,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10368,8 +10313,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10444,8 +10388,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10597,8 +10540,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10666,8 +10608,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10844,8 +10785,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -10921,8 +10861,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11076,8 +11015,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11228,8 +11166,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11380,8 +11317,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11523,8 +11459,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11568,8 +11503,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11714,8 +11648,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11783,8 +11716,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11860,8 +11792,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -11937,8 +11868,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12014,8 +11944,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12200,8 +12129,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12278,8 +12206,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12420,8 +12347,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12491,8 +12417,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12573,8 +12498,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12660,8 +12584,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12761,8 +12684,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12832,8 +12754,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -12914,8 +12835,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -13037,8 +12957,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -13108,8 +13027,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -13227,8 +13145,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -13298,8 +13215,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -13383,8 +13299,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -13575,8 +13490,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@ -14281,7 +14195,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by GNU make $as_me 3.81beta4, which was
This file was extended by GNU make $as_me 3.81rc1, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -14344,7 +14258,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
GNU make config.status 3.81beta4
GNU make config.status 3.81rc1
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@ -14805,11 +14719,6 @@ esac
*) ac_INSTALL=$ac_top_builddir$INSTALL ;;
esac
if test x"$ac_file" != x-; then
{ echo "$as_me:$LINENO: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
@ -14848,6 +14757,12 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
fi;;
esac
done` || { (exit 1); exit 1; }
if test x"$ac_file" != x-; then
{ echo "$as_me:$LINENO: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub

View file

@ -1,4 +1,22 @@
@echo off
rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
rem 2004, 2005, 2006 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem GNU Make is free software; you can redistribute it and/or modify it under
rem the terms of the GNU General Public License as published by the Free
rem Software Foundation; either version 2, or (at your option) any later
rem version.
rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
rem FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
rem more details.
rem You should have received a copy of the GNU General Public License along
rem with GNU Make; see the file COPYING. If not, write to the Free Software
rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
echo Configuring MAKE for DJGPP
rem The SmallEnv trick protects against too small environment block,

View file

@ -1,9 +1,25 @@
# Process this file with autoconf to produce a configure script.
#
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
AC_INIT([GNU make],[3.81beta4],[bug-make@gnu.org])
AC_INIT([GNU make],[3.81rc1],[bug-make@gnu.org])
AC_PREREQ(2.59)
AC_REVISION([[$Id: configure.in,v 1.138 2005/12/13 14:44:17 psmith Exp $]])
AC_REVISION([[$Id: configure.in,v 1.140 2006/02/11 22:16:04 psmith Exp $]])
# Autoconf setup
AC_CONFIG_AUX_DIR(config)
@ -11,7 +27,7 @@ AC_CONFIG_SRCDIR(vpath.c)
AC_CONFIG_HEADERS(config.h)
# Automake setup
AM_INIT_AUTOMAKE([1.8.2])
AM_INIT_AUTOMAKE([1.9])
# Checks for programs.
AC_PROG_CC

25
debug.h
View file

@ -1,22 +1,19 @@
/* Debugging macros and interface.
Copyright (C) 1999 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#define DB_NONE (0x000)
#define DB_BASIC (0x001)

View file

@ -1,22 +1,20 @@
/* Data base of default implicit rules for GNU Make.
Copyright (C) 1988,1989,1990,1991,1992,1993,1994,1995,
1996,2003,2004 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "filedef.h"

25
dep.h
View file

@ -1,21 +1,20 @@
/* Definitions of dependency data structures for GNU Make.
Copyright (C) 1988, 1989, 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* Flag bits for the second argument to `read_makefile'.
These flags are saved in the `changed' field of each

84
dir.c
View file

@ -1,22 +1,20 @@
/* Directory hashing for GNU Make.
Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
2002,2003 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "hash.h"
@ -155,7 +153,11 @@ vms_hash (char *name)
while (*name)
{
unsigned char uc = *name;
#ifdef HAVE_CASE_INSENSITIVE_FS
h = (h << 4) + (isupper (uc) ? tolower (uc) : uc);
#else
h = (h << 4) + uc;
#endif
name++;
g = h & 0xf0000000;
if (g)
@ -285,6 +287,17 @@ directory_contents_hash_2 (const void *key_0)
return hash;
}
/* Sometimes it's OK to use subtraction to get this value:
result = X - Y;
But, if we're not sure of the type of X and Y they may be too large for an
int (on a 64-bit system for example). So, use ?: instead.
See Savannah bug #15534.
NOTE! This macro has side-effects!
*/
#define MAKECMP(_x,_y) ((_x)<(_y)?-1:((_x)==(_y)?0:1))
static int
directory_contents_hash_cmp (const void *xv, const void *yv)
{
@ -296,28 +309,28 @@ directory_contents_hash_cmp (const void *xv, const void *yv)
ISTRING_COMPARE (x->path_key, y->path_key, result);
if (result)
return result;
result = x->ctime - y->ctime;
result = MAKECMP(x->ctime, y->ctime);
if (result)
return result;
#else
# ifdef VMS
result = x->ino[0] - y->ino[0];
result = MAKECMP(x->ino[0], y->ino[0]);
if (result)
return result;
result = x->ino[1] - y->ino[1];
result = MAKECMP(x->ino[1], y->ino[1]);
if (result)
return result;
result = x->ino[2] - y->ino[2];
result = MAKECMP(x->ino[2], y->ino[2]);
if (result)
return result;
# else
result = x->ino - y->ino;
result = MAKECMP(x->ino, y->ino);
if (result)
return result;
# endif
#endif /* WINDOWS32 */
return x->dev - y->dev;
return MAKECMP(x->dev, y->dev);
}
/* Table of directory contents hashed by device and inode number. */
@ -626,21 +639,28 @@ dir_contents_file_exists_p (struct directory_contents *dir, char *filename)
* filesystems force a rehash always as mtime does not change
* on directories (ugh!).
*/
if (dir->path_key
&& (dir->fs_flags & FS_FAT
|| (stat(dir->path_key, &st) == 0
&& st.st_mtime > dir->mtime)))
if (dir->path_key)
{
/* reset date stamp to show most recent re-process */
dir->mtime = st.st_mtime;
if ((dir->fs_flags & FS_FAT) != 0)
{
dir->mtime = time ((time_t *) 0);
rehash = 1;
}
else if (stat(dir->path_key, &st) == 0 && st.st_mtime > dir->mtime)
{
/* reset date stamp to show most recent re-process. */
dir->mtime = st.st_mtime;
rehash = 1;
}
/* make sure directory can still be opened */
dir->dirstream = opendir(dir->path_key);
/* If it has been already read in, all done. */
if (!rehash)
return 0;
if (dir->dirstream)
rehash = 1;
else
return 0; /* couldn't re-read - fail */
/* make sure directory can still be opened; if not return. */
dir->dirstream = opendir(dir->path_key);
if (!dir->dirstream)
return 0;
}
else
#endif

View file

@ -1,4 +1,19 @@
# -*-Makefile-*-, or close enough
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
TEXI2HTML = texi2html
TEXI2HTML_FLAGS = -split_chapter

View file

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@ -15,6 +15,21 @@
@SET_MAKE@
# -*-Makefile-*-, or close enough
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -223,9 +238,11 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
am__cwd=`pwd` && cd $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
done; \
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
done; \
else :; fi && \
cd "$$am__cwd"; \
if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $@ $<; \
@ -267,6 +284,7 @@ make.dvi: make.texi $(make_TEXINFOS)
make.pdf: make.texi $(make_TEXINFOS)
make.html: make.texi $(make_TEXINFOS)
.dvi.ps:
TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
$(DVIPS) -o $@ $<
uninstall-info-am:

View file

@ -9,11 +9,12 @@ END-INFO-DIR-ENTRY
automatically which pieces of a large program need to be recompiled,
and issues the commands to recompile them.
This is Edition 0.70, last updated 07 May 2005, of `The GNU Make
This is Edition 0.70, last updated 5 Feb 2006, of `The GNU Make
Manual', for `make', Version 3.81.
Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
@ -24,151 +25,155 @@ Free Documentation License".

Indirect:
make.info-1: 1003
make.info-2: 298402
make.info-1: 1008
make.info-2: 300185

Tag Table:
(Indirect)
Node: Top1003
Node: Overview13662
Node: Preparing14672
Node: Reading15644
Node: Bugs16571
Node: Introduction18401
Node: Rule Introduction19993
Node: Simple Makefile21737
Node: How Make Works25366
Node: Variables Simplify28021
Node: make Deduces30227
Node: Combine By Prerequisite31967
Node: Cleanup32996
Node: Makefiles34415
Node: Makefile Contents35381
Node: Makefile Names38336
Node: Include39947
Ref: Include-Footnote-143579
Node: MAKEFILES Variable43713
Node: MAKEFILE_LIST Variable45223
Node: Special Variables46491
Node: Remaking Makefiles49846
Node: Overriding Makefiles54095
Node: Reading Makefiles56148
Node: Secondary Expansion59052
Node: Rules66478
Node: Rule Example69150
Node: Rule Syntax70007
Node: Prerequisite Types72371
Node: Wildcards74147
Node: Wildcard Examples75838
Node: Wildcard Pitfall77094
Node: Wildcard Function78883
Node: Directory Search80667
Node: General Search81809
Node: Selective Search83524
Node: Search Algorithm86512
Node: Commands/Search89031
Node: Implicit/Search90377
Node: Libraries/Search91321
Node: Phony Targets93415
Node: Force Targets98475
Node: Empty Targets99520
Node: Special Targets100818
Node: Multiple Targets107992
Node: Multiple Rules109867
Node: Static Pattern112103
Node: Static Usage112755
Node: Static versus Implicit116476
Node: Double-Colon118220
Node: Automatic Prerequisites119877
Node: Commands124122
Node: Echoing125815
Node: Execution127101
Ref: Execution-Footnote-1132048
Node: Parallel132194
Node: Errors135787
Node: Interrupts139433
Node: Recursion141020
Node: MAKE Variable143114
Node: Variables/Recursion145381
Node: Options/Recursion150793
Node: -w Option155958
Node: Sequences156953
Node: Empty Commands159965
Node: Using Variables161139
Node: Reference164252
Node: Flavors165811
Node: Advanced171600
Node: Substitution Refs172105
Node: Computed Names173658
Node: Values178202
Node: Setting179115
Node: Appending181151
Node: Override Directive185073
Node: Defining186457
Node: Environment188921
Node: Target-specific191671
Node: Pattern-specific194638
Node: Conditionals196040
Node: Conditional Example196750
Node: Conditional Syntax199327
Node: Testing Flags205052
Node: Functions206154
Node: Syntax of Functions207567
Node: Text Functions209766
Node: File Name Functions218337
Node: Foreach Function223549
Node: If Function226757
Node: Call Function228033
Node: Value Function230913
Node: Eval Function232350
Node: Origin Function234624
Node: Flavor Function237842
Node: Shell Function238907
Node: Make Control Functions240541
Node: Running242210
Node: Makefile Arguments244199
Node: Goals244915
Node: Instead of Execution249656
Node: Avoiding Compilation252942
Node: Overriding254917
Node: Testing257215
Node: Options Summary259100
Node: Implicit Rules269226
Node: Using Implicit271372
Node: Catalogue of Rules274911
Node: Implicit Variables283904
Node: Chained Rules288176
Node: Pattern Rules292187
Node: Pattern Intro293723
Node: Pattern Examples296593
Node: Automatic Variables298402
Node: Pattern Match305773
Node: Match-Anything Rules307408
Node: Canceling Rules311283
Node: Last Resort311999
Node: Suffix Rules313846
Node: Implicit Rule Search317575
Node: Archives321094
Node: Archive Members321792
Node: Archive Update323405
Node: Archive Symbols325319
Node: Archive Pitfalls326553
Node: Archive Suffix Rules327276
Node: Features328823
Node: Missing337378
Node: Makefile Conventions341116
Node: Makefile Basics341902
Node: Utilities in Makefiles345069
Node: Command Variables347207
Node: Directory Variables350777
Node: Standard Targets364917
Ref: Standard Targets-Footnote-1378036
Node: Install Command Categories378136
Node: Quick Reference382662
Node: Error Messages393390
Node: Complex Makefile401080
Node: GNU Free Documentation License409798
Node: Concept Index432247
Node: Name Index496076
Node: Top1008
Node: Overview13622
Node: Preparing14632
Node: Reading15604
Node: Bugs16531
Node: Introduction18361
Node: Rule Introduction19953
Node: Simple Makefile21697
Node: How Make Works25326
Node: Variables Simplify27981
Node: make Deduces30187
Node: Combine By Prerequisite31927
Node: Cleanup32956
Node: Makefiles34375
Node: Makefile Contents35341
Node: Makefile Names38296
Node: Include39907
Ref: Include-Footnote-143539
Node: MAKEFILES Variable43673
Node: MAKEFILE_LIST Variable45183
Node: Special Variables46451
Node: Remaking Makefiles49958
Node: Overriding Makefiles54207
Node: Reading Makefiles56260
Node: Secondary Expansion59164
Node: Rules66598
Node: Rule Example69270
Node: Rule Syntax70127
Node: Prerequisite Types72630
Node: Wildcards74406
Node: Wildcard Examples76124
Node: Wildcard Pitfall77380
Node: Wildcard Function79169
Node: Directory Search80953
Node: General Search82095
Node: Selective Search83810
Node: Search Algorithm86798
Node: Commands/Search89317
Node: Implicit/Search90663
Node: Libraries/Search91607
Node: Phony Targets93699
Node: Force Targets98785
Node: Empty Targets99830
Node: Special Targets101128
Node: Multiple Targets108302
Node: Multiple Rules110177
Node: Static Pattern112413
Node: Static Usage113065
Node: Static versus Implicit116786
Node: Double-Colon118530
Node: Automatic Prerequisites120187
Node: Commands124465
Node: Command Syntax125673
Node: Splitting Lines127698
Node: Variables in Commands130679
Node: Echoing132006
Node: Execution133298
Ref: Execution-Footnote-1134549
Node: Choosing the Shell134695
Node: Parallel138664
Node: Errors142257
Node: Interrupts145903
Node: Recursion147490
Node: MAKE Variable149584
Node: Variables/Recursion151851
Node: Options/Recursion157292
Node: -w Option162457
Node: Sequences163452
Node: Empty Commands166464
Node: Using Variables167638
Node: Reference170751
Node: Flavors172310
Node: Advanced178048
Node: Substitution Refs178553
Node: Computed Names180106
Node: Values184650
Node: Setting185563
Node: Appending187599
Node: Override Directive191525
Node: Defining192909
Node: Environment195373
Node: Target-specific197622
Node: Pattern-specific200589
Node: Conditionals201991
Node: Conditional Example202701
Node: Conditional Syntax205278
Node: Testing Flags211003
Node: Functions212105
Node: Syntax of Functions213525
Node: Text Functions215724
Node: File Name Functions224295
Node: Conditional Functions229517
Node: Foreach Function231891
Node: Call Function235103
Node: Value Function237988
Node: Eval Function239425
Node: Origin Function241699
Node: Flavor Function244917
Node: Shell Function245983
Node: Make Control Functions247617
Node: Running249286
Node: Makefile Arguments251275
Node: Goals251991
Node: Instead of Execution256732
Node: Avoiding Compilation260018
Node: Overriding261993
Node: Testing264291
Node: Options Summary266176
Node: Implicit Rules276302
Node: Using Implicit278450
Node: Catalogue of Rules281989
Node: Implicit Variables291339
Node: Chained Rules296174
Node: Pattern Rules300185
Node: Pattern Intro301721
Node: Pattern Examples304618
Node: Automatic Variables306427
Node: Pattern Match313798
Node: Match-Anything Rules315434
Node: Canceling Rules319309
Node: Last Resort320025
Node: Suffix Rules321872
Node: Implicit Rule Search325601
Node: Archives329120
Node: Archive Members329818
Node: Archive Update331431
Node: Archive Symbols333345
Node: Archive Pitfalls334579
Node: Archive Suffix Rules335302
Node: Features336849
Node: Missing345404
Node: Makefile Conventions349142
Node: Makefile Basics349928
Node: Utilities in Makefiles353095
Node: Command Variables355233
Node: Directory Variables358803
Node: Standard Targets372943
Ref: Standard Targets-Footnote-1386062
Node: Install Command Categories386162
Node: Quick Reference390688
Node: Error Messages401384
Node: Complex Makefile409074
Node: GNU Free Documentation License417792
Node: Concept Index440241
Node: Name Index505430

End Tag Table

File diff suppressed because it is too large Load diff

View file

@ -9,11 +9,12 @@ END-INFO-DIR-ENTRY
automatically which pieces of a large program need to be recompiled,
and issues the commands to recompile them.
This is Edition 0.70, last updated 07 May 2005, of `The GNU Make
This is Edition 0.70, last updated 5 Feb 2006, of `The GNU Make
Manual', for `make', Version 3.81.
Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
@ -22,6 +23,143 @@ Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU
Free Documentation License".

File: make.info, Node: Pattern Rules, Next: Last Resort, Prev: Chained Rules, Up: Implicit Rules
10.5 Defining and Redefining Pattern Rules
==========================================
You define an implicit rule by writing a "pattern rule". A pattern
rule looks like an ordinary rule, except that its target contains the
character `%' (exactly one of them). The target is considered a
pattern for matching file names; the `%' can match any nonempty
substring, while other characters match only themselves. The
prerequisites likewise use `%' to show how their names relate to the
target name.
Thus, a pattern rule `%.o : %.c' says how to make any file `STEM.o'
from another file `STEM.c'.
Note that expansion using `%' in pattern rules occurs *after* any
variable or function expansions, which take place when the makefile is
read. *Note How to Use Variables: Using Variables, and *Note Functions
for Transforming Text: Functions.
* Menu:
* Pattern Intro:: An introduction to pattern rules.
* Pattern Examples:: Examples of pattern rules.
* Automatic Variables:: How to use automatic variables in the
commands of implicit rules.
* Pattern Match:: How patterns match.
* Match-Anything Rules:: Precautions you should take prior to
defining rules that can match any
target file whatever.
* Canceling Rules:: How to override or cancel built-in rules.

File: make.info, Node: Pattern Intro, Next: Pattern Examples, Prev: Pattern Rules, Up: Pattern Rules
10.5.1 Introduction to Pattern Rules
------------------------------------
A pattern rule contains the character `%' (exactly one of them) in the
target; otherwise, it looks exactly like an ordinary rule. The target
is a pattern for matching file names; the `%' matches any nonempty
substring, while other characters match only themselves.
For example, `%.c' as a pattern matches any file name that ends in
`.c'. `s.%.c' as a pattern matches any file name that starts with
`s.', ends in `.c' and is at least five characters long. (There must
be at least one character to match the `%'.) The substring that the
`%' matches is called the "stem".
`%' in a prerequisite of a pattern rule stands for the same stem
that was matched by the `%' in the target. In order for the pattern
rule to apply, its target pattern must match the file name under
consideration and all of its prerequisites (after pattern substitution)
must name files that exist or can be made. These files become
prerequisites of the target.
Thus, a rule of the form
%.o : %.c ; COMMAND...
specifies how to make a file `N.o', with another file `N.c' as its
prerequisite, provided that `N.c' exists or can be made.
There may also be prerequisites that do not use `%'; such a
prerequisite attaches to every file made by this pattern rule. These
unvarying prerequisites are useful occasionally.
A pattern rule need not have any prerequisites that contain `%', or
in fact any prerequisites at all. Such a rule is effectively a general
wildcard. It provides a way to make any file that matches the target
pattern. *Note Last Resort::.
Pattern rules may have more than one target. Unlike normal rules,
this does not act as many different rules with the same prerequisites
and commands. If a pattern rule has multiple targets, `make' knows that
the rule's commands are responsible for making all of the targets. The
commands are executed only once to make all the targets. When searching
for a pattern rule to match a target, the target patterns of a rule
other than the one that matches the target in need of a rule are
incidental: `make' worries only about giving commands and prerequisites
to the file presently in question. However, when this file's commands
are run, the other targets are marked as having been updated themselves.
The order in which pattern rules appear in the makefile is important
since this is the order in which they are considered. Of equally
applicable rules, only the first one found is used. The rules you
write take precedence over those that are built in. Note however, that
a rule whose prerequisites actually exist or are mentioned always takes
priority over a rule with prerequisites that must be made by chaining
other implicit rules.

File: make.info, Node: Pattern Examples, Next: Automatic Variables, Prev: Pattern Intro, Up: Pattern Rules
10.5.2 Pattern Rule Examples
----------------------------
Here are some examples of pattern rules actually predefined in `make'.
First, the rule that compiles `.c' files into `.o' files:
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
defines a rule that can make any file `X.o' from `X.c'. The command
uses the automatic variables `$@' and `$<' to substitute the names of
the target file and the source file in each case where the rule applies
(*note Automatic Variables::).
Here is a second built-in rule:
% :: RCS/%,v
$(CO) $(COFLAGS) $<
defines a rule that can make any file `X' whatsoever from a
corresponding file `X,v' in the subdirectory `RCS'. Since the target
is `%', this rule will apply to any file whatever, provided the
appropriate prerequisite file exists. The double colon makes the rule
"terminal", which means that its prerequisite may not be an intermediate
file (*note Match-Anything Pattern Rules: Match-Anything Rules.).
This pattern rule has two targets:
%.tab.c %.tab.h: %.y
bison -d $<
This tells `make' that the command `bison -d X.y' will make both
`X.tab.c' and `X.tab.h'. If the file `foo' depends on the files
`parse.tab.o' and `scan.o' and the file `scan.o' depends on the file
`parse.tab.h', when `parse.y' is changed, the command `bison -d parse.y'
will be executed only once, and the prerequisites of both `parse.tab.o'
and `scan.o' will be satisfied. (Presumably the file `parse.tab.o'
will be recompiled from `parse.tab.c' and the file `scan.o' from
`scan.c', while `foo' is linked from `parse.tab.o', `scan.o', and its
other prerequisites, and it will execute happily ever after.)

File: make.info, Node: Automatic Variables, Next: Pattern Match, Prev: Pattern Examples, Up: Pattern Rules
@ -211,7 +349,7 @@ before it is compared with the target prefix and suffix. After the
comparison of the file name to the target pattern, the directory names,
along with the slash that ends them, are added on to the prerequisite
file names generated from the pattern rule's prerequisite patterns and
the file name. The directories are ignored only for the purpose of
the file name. The directories are ignored only for the purpose of
finding an implicit rule to use, not in the application of that rule.
Thus, `e%t' matches the file name `src/eat', with `src/a' as the stem.
When prerequisites are turned into file names, the directories from the
@ -2254,12 +2392,11 @@ Variables::, for full information.
`/bin/sh'. You can set `SHELL' in the makefile to change the
shell used to run commands. *Note Command Execution: Execution.
The `SHELL' variable is handled specially when importing from and
exporting to the environment. *Note Using Variable from the
Environment: Environment.
exporting to the environment. *Note Choosing the Shell::.
`MAKESHELL'
On MS-DOS only, the name of the command interpreter that is to be
used by `make'. This value takes precedence over the value of
used by `make'. This value takes precedence over the value of
`SHELL'. *Note MAKESHELL variable: Execution.
`MAKE'
@ -3131,12 +3268,12 @@ Index of Concepts
[index]
* Menu:
* # (comments), in commands: Commands. (line 18)
* # (comments), in commands: Command Syntax. (line 27)
* # (comments), in makefile: Makefile Contents. (line 41)
* #include: Automatic Prerequisites.
(line 16)
* $, in function call: Syntax of Functions. (line 6)
* $, in rules: Rule Syntax. (line 31)
* $, in rules: Rule Syntax. (line 32)
* $, in variable name: Computed Names. (line 6)
* $, in variable reference: Reference. (line 6)
* %, in pattern rules: Pattern Intro. (line 9)
@ -3153,7 +3290,7 @@ Index of Concepts
* +, and define: Sequences. (line 50)
* +=: Appending. (line 6)
* +=, expansion: Reading Makefiles. (line 33)
* ,v (RCS file extension): Catalogue of Rules. (line 157)
* ,v (RCS file extension): Catalogue of Rules. (line 164)
* - (in commands): Errors. (line 19)
* -, and define: Sequences. (line 50)
* --always-make: Options Summary. (line 15)
@ -3308,36 +3445,37 @@ Index of Concepts
* -w, disabling: -w Option. (line 20)
* .a (archives): Archive Suffix Rules.
(line 6)
* .C: Catalogue of Rules. (line 33)
* .c: Catalogue of Rules. (line 29)
* .cc: Catalogue of Rules. (line 33)
* .ch: Catalogue of Rules. (line 144)
* .C: Catalogue of Rules. (line 39)
* .c: Catalogue of Rules. (line 35)
* .cc: Catalogue of Rules. (line 39)
* .ch: Catalogue of Rules. (line 151)
* .cpp: Catalogue of Rules. (line 39)
* .d: Automatic Prerequisites.
(line 81)
* .def: Catalogue of Rules. (line 67)
* .dvi: Catalogue of Rules. (line 144)
* .F: Catalogue of Rules. (line 42)
* .f: Catalogue of Rules. (line 42)
* .info: Catalogue of Rules. (line 151)
* .l: Catalogue of Rules. (line 117)
* .def: Catalogue of Rules. (line 74)
* .dvi: Catalogue of Rules. (line 151)
* .F: Catalogue of Rules. (line 49)
* .f: Catalogue of Rules. (line 49)
* .info: Catalogue of Rules. (line 158)
* .l: Catalogue of Rules. (line 124)
* .LIBPATTERNS, and link libraries: Libraries/Search. (line 6)
* .ln: Catalogue of Rules. (line 139)
* .mod: Catalogue of Rules. (line 67)
* .o: Catalogue of Rules. (line 29)
* .p: Catalogue of Rules. (line 38)
* .ln: Catalogue of Rules. (line 146)
* .mod: Catalogue of Rules. (line 74)
* .o: Catalogue of Rules. (line 35)
* .p: Catalogue of Rules. (line 45)
* .PRECIOUS intermediate files: Chained Rules. (line 56)
* .r: Catalogue of Rules. (line 42)
* .S: Catalogue of Rules. (line 75)
* .s: Catalogue of Rules. (line 72)
* .sh: Catalogue of Rules. (line 173)
* .sym: Catalogue of Rules. (line 67)
* .tex: Catalogue of Rules. (line 144)
* .texi: Catalogue of Rules. (line 151)
* .texinfo: Catalogue of Rules. (line 151)
* .txinfo: Catalogue of Rules. (line 151)
* .w: Catalogue of Rules. (line 144)
* .web: Catalogue of Rules. (line 144)
* .y: Catalogue of Rules. (line 113)
* .r: Catalogue of Rules. (line 49)
* .S: Catalogue of Rules. (line 82)
* .s: Catalogue of Rules. (line 79)
* .sh: Catalogue of Rules. (line 180)
* .sym: Catalogue of Rules. (line 74)
* .tex: Catalogue of Rules. (line 151)
* .texi: Catalogue of Rules. (line 158)
* .texinfo: Catalogue of Rules. (line 158)
* .txinfo: Catalogue of Rules. (line 158)
* .w: Catalogue of Rules. (line 151)
* .web: Catalogue of Rules. (line 151)
* .y: Catalogue of Rules. (line 120)
* :: rules (double-colon): Double-Colon. (line 6)
* := <1>: Setting. (line 6)
* :=: Flavors. (line 56)
@ -3346,13 +3484,13 @@ Index of Concepts
* =, expansion: Reading Makefiles. (line 33)
* ? (wildcard character): Wildcards. (line 6)
* ?= <1>: Setting. (line 6)
* ?=: Flavors. (line 130)
* ?=: Flavors. (line 129)
* ?=, expansion: Reading Makefiles. (line 33)
* @ (in commands): Echoing. (line 6)
* @, and define: Sequences. (line 50)
* [...] (wildcard characters): Wildcards. (line 6)
* \ (backslash), for continuation lines: Simple Makefile. (line 40)
* \ (backslash), in commands: Execution. (line 20)
* \ (backslash), in commands: Splitting Lines. (line 6)
* \ (backslash), to quote % <1>: Text Functions. (line 26)
* \ (backslash), to quote % <2>: Static Usage. (line 37)
* \ (backslash), to quote %: Selective Search. (line 38)
@ -3361,7 +3499,7 @@ Index of Concepts
* algorithm for directory search: Search Algorithm. (line 6)
* all (standard target): Goals. (line 72)
* appending to variables: Appending. (line 6)
* ar: Implicit Variables. (line 34)
* ar: Implicit Variables. (line 41)
* archive: Archives. (line 6)
* archive member targets: Archive Members. (line 6)
* archive symbol directory updating: Archive Symbols. (line 6)
@ -3371,9 +3509,9 @@ Index of Concepts
(line 6)
* Arg list too long: Options/Recursion. (line 57)
* arguments of functions: Syntax of Functions. (line 6)
* as <1>: Implicit Variables. (line 37)
* as: Catalogue of Rules. (line 72)
* assembly, rule to compile: Catalogue of Rules. (line 72)
* as <1>: Implicit Variables. (line 44)
* as: Catalogue of Rules. (line 79)
* assembly, rule to compile: Catalogue of Rules. (line 79)
* automatic generation of prerequisites <1>: Automatic Prerequisites.
(line 6)
* automatic generation of prerequisites: Include. (line 50)
@ -3381,7 +3519,7 @@ Index of Concepts
* automatic variables in prerequisites: Automatic Variables. (line 17)
* backquotes: Shell Function. (line 6)
* backslash (\), for continuation lines: Simple Makefile. (line 40)
* backslash (\), in commands: Execution. (line 20)
* backslash (\), in commands: Splitting Lines. (line 6)
* backslash (\), to quote % <1>: Text Functions. (line 26)
* backslash (\), to quote % <2>: Static Usage. (line 37)
* backslash (\), to quote %: Selective Search. (line 38)
@ -3393,10 +3531,10 @@ Index of Concepts
* broken pipe: Parallel. (line 30)
* bugs, reporting: Bugs. (line 6)
* built-in special targets: Special Targets. (line 6)
* C++, rule to compile: Catalogue of Rules. (line 33)
* C, rule to compile: Catalogue of Rules. (line 29)
* cc <1>: Implicit Variables. (line 40)
* cc: Catalogue of Rules. (line 29)
* C++, rule to compile: Catalogue of Rules. (line 39)
* C, rule to compile: Catalogue of Rules. (line 35)
* cc <1>: Implicit Variables. (line 47)
* cc: Catalogue of Rules. (line 35)
* cd (shell command) <1>: MAKE Variable. (line 16)
* cd (shell command): Execution. (line 10)
* chains of rules: Chained Rules. (line 6)
@ -3406,16 +3544,18 @@ Index of Concepts
* clean target: Simple Makefile. (line 83)
* cleaning up: Cleanup. (line 6)
* clobber (standard target): Goals. (line 86)
* co <1>: Implicit Variables. (line 46)
* co: Catalogue of Rules. (line 157)
* co <1>: Implicit Variables. (line 56)
* co: Catalogue of Rules. (line 164)
* combining rules by prerequisite: Combine By Prerequisite.
(line 6)
* command line variable definitions, and recursion: Options/Recursion.
(line 17)
* command line variables: Overriding. (line 6)
* command syntax: Command Syntax. (line 6)
* commands: Rule Syntax. (line 26)
* commands, backslash (\) in: Execution. (line 20)
* commands, comments in: Commands. (line 18)
* commands setting shell variables: Execution. (line 10)
* commands, backslash (\) in: Splitting Lines. (line 6)
* commands, comments in: Command Syntax. (line 27)
* commands, echoing: Echoing. (line 6)
* commands, empty: Empty Commands. (line 6)
* commands, errors in: Errors. (line 6)
@ -3426,26 +3566,30 @@ Index of Concepts
* commands, instead of executing: Instead of Execution.
(line 6)
* commands, introduction to: Rule Introduction. (line 8)
* commands, quoting newlines in: Execution. (line 20)
* commands, quoting newlines in: Splitting Lines. (line 6)
* commands, sequences of: Sequences. (line 6)
* comments, in commands: Commands. (line 18)
* commands, splitting: Splitting Lines. (line 6)
* commands, using variables in: Variables in Commands.
(line 6)
* comments, in commands: Command Syntax. (line 27)
* comments, in makefile: Makefile Contents. (line 41)
* compatibility: Features. (line 6)
* compatibility in exporting: Variables/Recursion. (line 104)
* compatibility in exporting: Variables/Recursion. (line 105)
* compilation, testing: Testing. (line 6)
* computed variable name: Computed Names. (line 6)
* conditional expansion: If Function. (line 6)
* conditional variable assignment: Flavors. (line 130)
* conditional expansion: Conditional Functions.
(line 6)
* conditional variable assignment: Flavors. (line 129)
* conditionals: Conditionals. (line 6)
* continuation lines: Simple Makefile. (line 40)
* controlling make: Make Control Functions.
(line 6)
* conventions for makefiles: Makefile Conventions.
(line 6)
* ctangle <1>: Implicit Variables. (line 95)
* ctangle: Catalogue of Rules. (line 144)
* cweave <1>: Implicit Variables. (line 89)
* cweave: Catalogue of Rules. (line 144)
* ctangle <1>: Implicit Variables. (line 107)
* ctangle: Catalogue of Rules. (line 151)
* cweave <1>: Implicit Variables. (line 101)
* cweave: Catalogue of Rules. (line 151)
* data base of make rules: Options Summary. (line 155)
* deducing commands (implicit rules): make Deduces. (line 6)
* default directories for included makefiles: Include. (line 52)
@ -3473,9 +3617,10 @@ Index of Concepts
* dist (standard target): Goals. (line 106)
* distclean (standard target): Goals. (line 84)
* dollar sign ($), in function call: Syntax of Functions. (line 6)
* dollar sign ($), in rules: Rule Syntax. (line 31)
* dollar sign ($), in rules: Rule Syntax. (line 32)
* dollar sign ($), in variable name: Computed Names. (line 6)
* dollar sign ($), in variable reference: Reference. (line 6)
* DOS, choosing a shell in: Choosing the Shell. (line 36)
* double-colon rules: Double-Colon. (line 6)
* duplicate words, removing: Text Functions. (line 155)
* E2BIG: Options/Recursion. (line 57)
@ -3486,7 +3631,7 @@ Index of Concepts
* empty targets: Empty Targets. (line 6)
* environment: Environment. (line 6)
* environment, and recursion: Variables/Recursion. (line 6)
* environment, SHELL in: Execution. (line 108)
* environment, SHELL in: Choosing the Shell. (line 10)
* error, stopping on: Make Control Functions.
(line 11)
* errors (in commands): Errors. (line 6)
@ -3497,14 +3642,15 @@ Index of Concepts
(line 6)
* execution, of commands: Execution. (line 6)
* exit status (errors): Errors. (line 6)
* exit status of make: Running. (line 18)
* expansion, secondary: Secondary Expansion. (line 6)
* explicit rule, definition of: Makefile Contents. (line 10)
* explicit rule, expansion: Reading Makefiles. (line 62)
* explicit rules, secondary expansion of: Secondary Expansion.
(line 106)
* exporting variables: Variables/Recursion. (line 6)
* f77 <1>: Implicit Variables. (line 54)
* f77: Catalogue of Rules. (line 42)
* f77 <1>: Implicit Variables. (line 64)
* f77: Catalogue of Rules. (line 49)
* FDL, GNU Free Documentation License: GNU Free Documentation License.
(line 6)
* features of GNU make: Features. (line 6)
@ -3537,7 +3683,7 @@ Index of Concepts
* flavors of variables: Flavors. (line 6)
* FORCE: Force Targets. (line 6)
* force targets: Force Targets. (line 6)
* Fortran, rule to compile: Catalogue of Rules. (line 42)
* Fortran, rule to compile: Catalogue of Rules. (line 49)
* functions: Functions. (line 6)
* functions, for controlling make: Make Control Functions.
(line 6)
@ -3545,14 +3691,14 @@ Index of Concepts
* functions, for text: Text Functions. (line 6)
* functions, syntax of: Syntax of Functions. (line 6)
* functions, user defined: Call Function. (line 6)
* g++ <1>: Implicit Variables. (line 43)
* g++: Catalogue of Rules. (line 33)
* gcc: Catalogue of Rules. (line 29)
* g++ <1>: Implicit Variables. (line 53)
* g++: Catalogue of Rules. (line 39)
* gcc: Catalogue of Rules. (line 35)
* generating prerequisites automatically <1>: Automatic Prerequisites.
(line 6)
* generating prerequisites automatically: Include. (line 50)
* get <1>: Implicit Variables. (line 57)
* get: Catalogue of Rules. (line 166)
* get <1>: Implicit Variables. (line 67)
* get: Catalogue of Rules. (line 173)
* globbing (wildcards): Wildcards. (line 6)
* goal: How Make Works. (line 11)
* goal, default <1>: Rules. (line 11)
@ -3582,7 +3728,7 @@ Index of Concepts
* including (MAKEFILES variable): MAKEFILES Variable. (line 6)
* including other makefiles: Include. (line 6)
* incompatibilities: Missing. (line 6)
* Info, rule to format: Catalogue of Rules. (line 151)
* Info, rule to format: Catalogue of Rules. (line 158)
* install (standard target): Goals. (line 92)
* intermediate files: Chained Rules. (line 16)
* intermediate files, preserving: Chained Rules. (line 46)
@ -3594,26 +3740,28 @@ Index of Concepts
* joining lists of words: File Name Functions. (line 90)
* killing (interruption): Interrupts. (line 6)
* last-resort default rules: Last Resort. (line 6)
* ld: Catalogue of Rules. (line 79)
* lex <1>: Implicit Variables. (line 61)
* lex: Catalogue of Rules. (line 117)
* Lex, rule to run: Catalogue of Rules. (line 117)
* ld: Catalogue of Rules. (line 86)
* lex <1>: Implicit Variables. (line 71)
* lex: Catalogue of Rules. (line 124)
* Lex, rule to run: Catalogue of Rules. (line 124)
* libraries for linking, directory search: Libraries/Search. (line 6)
* library archive, suffix rule for: Archive Suffix Rules.
(line 6)
* limiting jobs based on load: Parallel. (line 57)
* link libraries, and directory search: Libraries/Search. (line 6)
* link libraries, patterns matching: Libraries/Search. (line 6)
* linking, predefined rule for: Catalogue of Rules. (line 79)
* lint: Catalogue of Rules. (line 139)
* lint, rule to run: Catalogue of Rules. (line 139)
* linking, predefined rule for: Catalogue of Rules. (line 86)
* lint <1>: Implicit Variables. (line 78)
* lint: Catalogue of Rules. (line 146)
* lint, rule to run: Catalogue of Rules. (line 146)
* list of all prerequisites: Automatic Variables. (line 61)
* list of changed prerequisites: Automatic Variables. (line 51)
* load average: Parallel. (line 57)
* loops in variable expansion: Flavors. (line 44)
* lpr (shell command) <1>: Empty Targets. (line 25)
* lpr (shell command): Wildcard Examples. (line 21)
* m2c: Catalogue of Rules. (line 67)
* m2c <1>: Implicit Variables. (line 81)
* m2c: Catalogue of Rules. (line 74)
* macro: Using Variables. (line 10)
* make depend: Automatic Prerequisites.
(line 37)
@ -3636,8 +3784,8 @@ Index of Concepts
* makefiles, and MAKEFILE_LIST variable: MAKEFILE_LIST Variable.
(line 6)
* makefiles, and special variables: Special Variables. (line 6)
* makeinfo <1>: Implicit Variables. (line 76)
* makeinfo: Catalogue of Rules. (line 151)
* makeinfo <1>: Implicit Variables. (line 88)
* makeinfo: Catalogue of Rules. (line 158)
* match-anything rule: Match-Anything Rules.
(line 6)
* match-anything rule, used to override: Overriding Makefiles.
@ -3645,16 +3793,16 @@ Index of Concepts
* missing features: Missing. (line 6)
* mistakes with wildcards: Wildcard Pitfall. (line 6)
* modified variable reference: Substitution Refs. (line 6)
* Modula-2, rule to compile: Catalogue of Rules. (line 67)
* Modula-2, rule to compile: Catalogue of Rules. (line 74)
* mostlyclean (standard target): Goals. (line 78)
* multiple rules for one target: Multiple Rules. (line 6)
* multiple rules for one target (::): Double-Colon. (line 6)
* multiple targets: Multiple Targets. (line 6)
* multiple targets, in pattern rule: Pattern Intro. (line 48)
* multiple targets, in pattern rule: Pattern Intro. (line 49)
* name of makefile: Makefile Names. (line 6)
* name of makefile, how to specify: Makefile Names. (line 30)
* nested variable reference: Computed Names. (line 6)
* newline, quoting, in commands: Execution. (line 20)
* newline, quoting, in commands: Splitting Lines. (line 6)
* newline, quoting, in makefile: Simple Makefile. (line 40)
* nondirectory part: File Name Functions. (line 27)
* normal prerequisites: Prerequisite Types. (line 6)
@ -3669,7 +3817,7 @@ Index of Concepts
* options, and recursion: Options/Recursion. (line 6)
* options, setting from environment: Options/Recursion. (line 81)
* options, setting in makefiles: Options/Recursion. (line 81)
* order of pattern rules: Pattern Intro. (line 56)
* order of pattern rules: Pattern Intro. (line 57)
* order-only prerequisites: Prerequisite Types. (line 6)
* origin of variable: Origin Function. (line 6)
* overriding makefiles: Overriding Makefiles.
@ -3680,15 +3828,15 @@ Index of Concepts
* parallel execution, and archive update: Archive Pitfalls. (line 6)
* parallel execution, overriding: Special Targets. (line 135)
* parts of makefile rule: Rule Introduction. (line 6)
* Pascal, rule to compile: Catalogue of Rules. (line 38)
* Pascal, rule to compile: Catalogue of Rules. (line 45)
* pattern rule: Pattern Intro. (line 6)
* pattern rule, expansion: Reading Makefiles. (line 62)
* pattern rules, order of: Pattern Intro. (line 56)
* pattern rules, order of: Pattern Intro. (line 57)
* pattern rules, static (not implicit): Static Pattern. (line 6)
* pattern rules, static, syntax of: Static Usage. (line 6)
* pattern-specific variables: Pattern-specific. (line 6)
* pc <1>: Implicit Variables. (line 64)
* pc: Catalogue of Rules. (line 38)
* pc <1>: Implicit Variables. (line 84)
* pc: Catalogue of Rules. (line 45)
* phony targets: Phony Targets. (line 6)
* pitfalls of wildcards: Wildcard Pitfall. (line 6)
* portability: Features. (line 6)
@ -3702,11 +3850,11 @@ Index of Concepts
* predefined rules and variables, printing: Options Summary. (line 155)
* prefix, adding: File Name Functions. (line 79)
* prerequisite: Rules. (line 6)
* prerequisite pattern, implicit: Pattern Intro. (line 21)
* prerequisite pattern, implicit: Pattern Intro. (line 22)
* prerequisite pattern, static (not implicit): Static Usage. (line 30)
* prerequisite types: Prerequisite Types. (line 6)
* prerequisite, expansion: Reading Makefiles. (line 62)
* prerequisites: Rule Syntax. (line 42)
* prerequisites: Rule Syntax. (line 46)
* prerequisites, and automatic variables: Automatic Variables.
(line 17)
* prerequisites, automatic generation <1>: Automatic Prerequisites.
@ -3739,10 +3887,10 @@ Index of Concepts
* quoting %, in patsubst: Text Functions. (line 26)
* quoting %, in static pattern: Static Usage. (line 37)
* quoting %, in vpath: Selective Search. (line 38)
* quoting newline, in commands: Execution. (line 20)
* quoting newline, in commands: Splitting Lines. (line 6)
* quoting newline, in makefile: Simple Makefile. (line 40)
* Ratfor, rule to compile: Catalogue of Rules. (line 42)
* RCS, rule to extract from: Catalogue of Rules. (line 157)
* Ratfor, rule to compile: Catalogue of Rules. (line 49)
* RCS, rule to extract from: Catalogue of Rules. (line 164)
* reading makefiles: Reading Makefiles. (line 6)
* README: Makefile Names. (line 9)
* realclean (standard target): Goals. (line 85)
@ -3767,7 +3915,7 @@ Index of Concepts
* recursion, and options: Options/Recursion. (line 6)
* recursion, and printing directories: -w Option. (line 6)
* recursion, and variables: Variables/Recursion. (line 6)
* recursion, level of: Variables/Recursion. (line 114)
* recursion, level of: Variables/Recursion. (line 115)
* recursive variable expansion <1>: Flavors. (line 6)
* recursive variable expansion: Using Variables. (line 6)
* recursively expanded variables: Flavors. (line 6)
@ -3781,16 +3929,15 @@ Index of Concepts
* removing targets on failure: Special Targets. (line 68)
* removing, to clean up: Cleanup. (line 6)
* reporting bugs: Bugs. (line 6)
* rm: Implicit Variables. (line 98)
* rm: Implicit Variables. (line 110)
* rm (shell command) <1>: Errors. (line 27)
* rm (shell command) <2>: Phony Targets. (line 20)
* rm (shell command) <3>: Wildcard Examples. (line 12)
* rm (shell command): Simple Makefile. (line 83)
* rule commands: Commands. (line 6)
* rule prerequisites: Rule Syntax. (line 42)
* rule prerequisites: Rule Syntax. (line 46)
* rule syntax: Rule Syntax. (line 6)
* rule targets: Rule Syntax. (line 18)
* rule, and $: Rule Syntax. (line 31)
* rule, double-colon (::): Double-Colon. (line 6)
* rule, explicit, definition of: Makefile Contents. (line 10)
* rule, how to write: Rules. (line 6)
@ -3810,8 +3957,9 @@ Index of Concepts
* rule, static pattern versus implicit: Static versus Implicit.
(line 6)
* rule, with multiple targets: Multiple Targets. (line 6)
* s. (SCCS file prefix): Catalogue of Rules. (line 166)
* SCCS, rule to extract from: Catalogue of Rules. (line 166)
* rules, and $: Rule Syntax. (line 32)
* s. (SCCS file prefix): Catalogue of Rules. (line 173)
* SCCS, rule to extract from: Catalogue of Rules. (line 173)
* search algorithm, implicit rule: Implicit Rule Search.
(line 6)
* search path for prerequisites (VPATH): Directory Search. (line 6)
@ -3845,11 +3993,14 @@ Index of Concepts
* shell command, execution: Execution. (line 6)
* shell command, function for: Shell Function. (line 6)
* shell file name pattern (in include): Include. (line 13)
* shell variables, setting in commands: Execution. (line 10)
* shell wildcards (in include): Include. (line 13)
* SHELL, export to environment: Environment. (line 44)
* shell, choosing the: Choosing the Shell. (line 6)
* SHELL, exported value: Variables/Recursion. (line 23)
* SHELL, import from environment: Environment. (line 37)
* SHELL, MS-DOS specifics: Execution. (line 63)
* shell, in DOS and Windows: Choosing the Shell. (line 36)
* SHELL, MS-DOS specifics: Choosing the Shell. (line 42)
* SHELL, value of: Choosing the Shell. (line 6)
* signal: Interrupts. (line 6)
* silent operation: Echoing. (line 6)
* simple makefile: Simple Makefile. (line 6)
@ -3857,11 +4008,12 @@ Index of Concepts
* simplifying with variables: Variables Simplify. (line 6)
* simply expanded variables: Flavors. (line 56)
* sorting words: Text Functions. (line 146)
* spaces, in variable values: Flavors. (line 104)
* spaces, in variable values: Flavors. (line 103)
* spaces, stripping: Text Functions. (line 80)
* special targets: Special Targets. (line 6)
* special variables: Special Variables. (line 6)
* specifying makefile name: Makefile Names. (line 30)
* splitting commands: Splitting Lines. (line 6)
* standard input: Parallel. (line 30)
* standards conformance: Overview. (line 13)
* standards for makefiles: Makefile Conventions.
@ -3890,12 +4042,13 @@ Index of Concepts
* suffix, substituting in variables: Substitution Refs. (line 6)
* switches: Options Summary. (line 6)
* symbol directories, updating archive: Archive Symbols. (line 6)
* syntax of commands: Command Syntax. (line 6)
* syntax of rules: Rule Syntax. (line 6)
* tab character (in commands): Rule Syntax. (line 26)
* tabs in rules: Rule Introduction. (line 21)
* TAGS (standard target): Goals. (line 111)
* tangle <1>: Implicit Variables. (line 92)
* tangle: Catalogue of Rules. (line 144)
* tangle <1>: Implicit Variables. (line 104)
* tangle: Catalogue of Rules. (line 151)
* tar (standard target): Goals. (line 100)
* target: Rules. (line 6)
* target pattern, implicit: Pattern Intro. (line 9)
@ -3903,7 +4056,7 @@ Index of Concepts
* target, deleting on error: Errors. (line 64)
* target, deleting on interrupt: Interrupts. (line 6)
* target, expansion: Reading Makefiles. (line 62)
* target, multiple in pattern rule: Pattern Intro. (line 48)
* target, multiple in pattern rule: Pattern Intro. (line 49)
* target, multiple rules for one: Multiple Rules. (line 6)
* target, touching: Instead of Execution.
(line 19)
@ -3920,12 +4073,12 @@ Index of Concepts
(line 6)
* test (standard target): Goals. (line 115)
* testing compilation: Testing. (line 6)
* tex <1>: Implicit Variables. (line 79)
* tex: Catalogue of Rules. (line 144)
* TeX, rule to run: Catalogue of Rules. (line 144)
* texi2dvi <1>: Implicit Variables. (line 83)
* texi2dvi: Catalogue of Rules. (line 151)
* Texinfo, rule to format: Catalogue of Rules. (line 151)
* tex <1>: Implicit Variables. (line 91)
* tex: Catalogue of Rules. (line 151)
* TeX, rule to run: Catalogue of Rules. (line 151)
* texi2dvi <1>: Implicit Variables. (line 95)
* texi2dvi: Catalogue of Rules. (line 158)
* Texinfo, rule to format: Catalogue of Rules. (line 158)
* tilde (~): Wildcards. (line 11)
* touch (shell command) <1>: Empty Targets. (line 25)
* touch (shell command): Wildcard Examples. (line 21)
@ -3941,6 +4094,8 @@ Index of Concepts
* value, how a variable gets it: Values. (line 6)
* variable: Using Variables. (line 6)
* variable definition: Makefile Contents. (line 22)
* variable references in commands: Variables in Commands.
(line 6)
* variables: Variables Simplify. (line 6)
* variables, $ in name: Computed Names. (line 6)
* variables, and implicit rule: Automatic Variables. (line 6)
@ -3949,7 +4104,7 @@ Index of Concepts
* variables, command line: Overriding. (line 6)
* variables, command line, and recursion: Options/Recursion. (line 17)
* variables, computed names: Computed Names. (line 6)
* variables, conditional assignment: Flavors. (line 130)
* variables, conditional assignment: Flavors. (line 129)
* variables, defining verbatim: Defining. (line 6)
* variables, environment <1>: Environment. (line 6)
* variables, environment: Variables/Recursion. (line 6)
@ -3968,7 +4123,7 @@ Index of Concepts
* variables, recursively expanded: Flavors. (line 6)
* variables, setting: Setting. (line 6)
* variables, simply expanded: Flavors. (line 56)
* variables, spaces in values: Flavors. (line 104)
* variables, spaces in values: Flavors. (line 103)
* variables, substituting suffix in: Substitution Refs. (line 6)
* variables, substitution reference: Substitution Refs. (line 6)
* variables, target-specific: Target-specific. (line 6)
@ -3981,12 +4136,12 @@ Index of Concepts
* VPATH, and link libraries: Libraries/Search. (line 6)
* warnings, printing: Make Control Functions.
(line 35)
* weave <1>: Implicit Variables. (line 86)
* weave: Catalogue of Rules. (line 144)
* Web, rule to run: Catalogue of Rules. (line 144)
* weave <1>: Implicit Variables. (line 98)
* weave: Catalogue of Rules. (line 151)
* Web, rule to run: Catalogue of Rules. (line 151)
* what if: Instead of Execution.
(line 33)
* whitespace, in variable values: Flavors. (line 104)
* whitespace, in variable values: Flavors. (line 103)
* whitespace, stripping: Text Functions. (line 80)
* wildcard: Wildcards. (line 6)
* wildcard pitfalls: Wildcard Pitfall. (line 6)
@ -3995,6 +4150,7 @@ Index of Concepts
* wildcard, in include: Include. (line 13)
* wildcards and MS-DOS/MS-Windows backslashes: Wildcard Pitfall.
(line 31)
* Windows, choosing a shell in: Choosing the Shell. (line 36)
* word, selecting a: Text Functions. (line 159)
* words, extracting first: Text Functions. (line 184)
* words, extracting last: Text Functions. (line 197)
@ -4007,10 +4163,10 @@ Index of Concepts
* words, selecting lists of: Text Functions. (line 168)
* writing rule commands: Commands. (line 6)
* writing rules: Rules. (line 6)
* yacc <1>: Implicit Variables. (line 68)
* yacc <2>: Catalogue of Rules. (line 113)
* yacc <1>: Implicit Variables. (line 75)
* yacc <2>: Catalogue of Rules. (line 120)
* yacc: Sequences. (line 18)
* Yacc, rule to run: Catalogue of Rules. (line 113)
* Yacc, rule to run: Catalogue of Rules. (line 120)
* ~ (tilde): Wildcards. (line 11)

@ -4061,13 +4217,13 @@ Index of Functions, Variables, & Directives
* .DEFAULT_GOAL (define default goal): Special Variables. (line 10)
* .DELETE_ON_ERROR <1>: Errors. (line 64)
* .DELETE_ON_ERROR: Special Targets. (line 67)
* .EXPORT_ALL_VARIABLES <1>: Variables/Recursion. (line 98)
* .EXPORT_ALL_VARIABLES <1>: Variables/Recursion. (line 99)
* .EXPORT_ALL_VARIABLES: Special Targets. (line 129)
* .FEATURES (list of supported features): Special Variables. (line 65)
* .IGNORE <1>: Errors. (line 30)
* .IGNORE: Special Targets. (line 74)
* .INCLUDE_DIRS (list of include directories): Special Variables.
(line 94)
(line 98)
* .INTERMEDIATE: Special Targets. (line 43)
* .LIBPATTERNS: Libraries/Search. (line 6)
* .LOW_RESOLUTION_TIME: Special Targets. (line 86)
@ -4103,25 +4259,27 @@ Index of Functions, Variables, & Directives
* abspath: File Name Functions. (line 121)
* addprefix: File Name Functions. (line 79)
* addsuffix: File Name Functions. (line 68)
* AR: Implicit Variables. (line 34)
* ARFLAGS: Implicit Variables. (line 105)
* AS: Implicit Variables. (line 37)
* ASFLAGS: Implicit Variables. (line 108)
* and: Conditional Functions.
(line 45)
* AR: Implicit Variables. (line 41)
* ARFLAGS: Implicit Variables. (line 117)
* AS: Implicit Variables. (line 44)
* ASFLAGS: Implicit Variables. (line 120)
* basename: File Name Functions. (line 57)
* bindir: Directory Variables. (line 53)
* call: Call Function. (line 6)
* CC: Implicit Variables. (line 40)
* CFLAGS: Implicit Variables. (line 112)
* CO: Implicit Variables. (line 46)
* COFLAGS: Implicit Variables. (line 118)
* COMSPEC: Execution. (line 60)
* CPP: Implicit Variables. (line 49)
* CPPFLAGS: Implicit Variables. (line 121)
* CTANGLE: Implicit Variables. (line 95)
* CC: Implicit Variables. (line 47)
* CFLAGS: Implicit Variables. (line 124)
* CO: Implicit Variables. (line 50)
* COFLAGS: Implicit Variables. (line 130)
* COMSPEC: Choosing the Shell. (line 39)
* CPP: Implicit Variables. (line 59)
* CPPFLAGS: Implicit Variables. (line 133)
* CTANGLE: Implicit Variables. (line 107)
* CURDIR: Recursion. (line 28)
* CWEAVE: Implicit Variables. (line 89)
* CXX: Implicit Variables. (line 43)
* CXXFLAGS: Implicit Variables. (line 115)
* CWEAVE: Implicit Variables. (line 101)
* CXX: Implicit Variables. (line 53)
* CXXFLAGS: Implicit Variables. (line 127)
* define: Defining. (line 6)
* dir: File Name Functions. (line 17)
* else: Conditional Syntax. (line 6)
@ -4131,20 +4289,21 @@ Index of Functions, Variables, & Directives
(line 11)
* eval: Eval Function. (line 6)
* exec_prefix: Directory Variables. (line 35)
* export: Variables/Recursion. (line 39)
* FC: Implicit Variables. (line 53)
* FFLAGS: Implicit Variables. (line 125)
* export: Variables/Recursion. (line 40)
* FC: Implicit Variables. (line 63)
* FFLAGS: Implicit Variables. (line 137)
* filter: Text Functions. (line 114)
* filter-out: Text Functions. (line 132)
* findstring: Text Functions. (line 103)
* firstword: Text Functions. (line 184)
* flavor: Flavor Function. (line 6)
* foreach: Foreach Function. (line 6)
* GET: Implicit Variables. (line 57)
* GFLAGS: Implicit Variables. (line 128)
* GET: Implicit Variables. (line 67)
* GFLAGS: Implicit Variables. (line 140)
* GNUmakefile: Makefile Names. (line 7)
* GPATH: Search Algorithm. (line 48)
* if: If Function. (line 6)
* if: Conditional Functions.
(line 6)
* ifdef: Conditional Syntax. (line 6)
* ifeq: Conditional Syntax. (line 6)
* ifndef: Conditional Syntax. (line 6)
@ -4154,10 +4313,13 @@ Index of Functions, Variables, & Directives
(line 43)
* join: File Name Functions. (line 90)
* lastword: Text Functions. (line 197)
* LDFLAGS: Implicit Variables. (line 131)
* LEX: Implicit Variables. (line 60)
* LFLAGS: Implicit Variables. (line 135)
* LDFLAGS: Implicit Variables. (line 143)
* LEX: Implicit Variables. (line 70)
* LFLAGS: Implicit Variables. (line 147)
* libexecdir: Directory Variables. (line 66)
* LINT: Implicit Variables. (line 78)
* LINTFLAGS: Implicit Variables. (line 159)
* M2C: Implicit Variables. (line 81)
* MAKE <1>: Flavors. (line 84)
* MAKE: MAKE Variable. (line 6)
* MAKE_RESTARTS (number of times make has restarted): Special Variables.
@ -4168,30 +4330,33 @@ Index of Functions, Variables, & Directives
* Makefile: Makefile Names. (line 7)
* MAKEFILE_LIST: MAKEFILE_LIST Variable.
(line 6)
* MAKEFILES <1>: Variables/Recursion. (line 126)
* MAKEFILES <1>: Variables/Recursion. (line 127)
* MAKEFILES: MAKEFILES Variable. (line 6)
* MAKEFLAGS: Options/Recursion. (line 6)
* MAKEINFO: Implicit Variables. (line 75)
* MAKEINFO: Implicit Variables. (line 87)
* MAKELEVEL <1>: Flavors. (line 84)
* MAKELEVEL: Variables/Recursion. (line 114)
* MAKELEVEL: Variables/Recursion. (line 115)
* MAKEOVERRIDES: Options/Recursion. (line 49)
* MAKESHELL (MS-DOS alternative to SHELL): Execution. (line 108)
* MAKESHELL (MS-DOS alternative to SHELL): Choosing the Shell.
(line 25)
* MFLAGS: Options/Recursion. (line 65)
* notdir: File Name Functions. (line 27)
* or: Conditional Functions.
(line 37)
* origin: Origin Function. (line 6)
* OUTPUT_OPTION: Catalogue of Rules. (line 195)
* OUTPUT_OPTION: Catalogue of Rules. (line 202)
* override: Override Directive. (line 6)
* patsubst <1>: Text Functions. (line 18)
* patsubst: Substitution Refs. (line 28)
* PC: Implicit Variables. (line 64)
* PFLAGS: Implicit Variables. (line 138)
* PC: Implicit Variables. (line 84)
* PFLAGS: Implicit Variables. (line 153)
* prefix: Directory Variables. (line 25)
* realpath: File Name Functions. (line 114)
* RFLAGS: Implicit Variables. (line 141)
* RM: Implicit Variables. (line 98)
* RFLAGS: Implicit Variables. (line 156)
* RM: Implicit Variables. (line 110)
* sbindir: Directory Variables. (line 59)
* shell: Shell Function. (line 6)
* SHELL: Execution. (line 57)
* SHELL: Choosing the Shell. (line 6)
* SHELL (command execution): Execution. (line 6)
* sort: Text Functions. (line 146)
* strip: Text Functions. (line 80)
@ -4199,10 +4364,10 @@ Index of Functions, Variables, & Directives
* subst: Multiple Targets. (line 28)
* suffix: File Name Functions. (line 43)
* SUFFIXES: Suffix Rules. (line 81)
* TANGLE: Implicit Variables. (line 92)
* TEX: Implicit Variables. (line 79)
* TEXI2DVI: Implicit Variables. (line 82)
* unexport: Variables/Recursion. (line 44)
* TANGLE: Implicit Variables. (line 104)
* TEX: Implicit Variables. (line 91)
* TEXI2DVI: Implicit Variables. (line 94)
* unexport: Variables/Recursion. (line 45)
* value: Value Function. (line 6)
* vpath: Selective Search. (line 6)
* VPATH: General Search. (line 6)
@ -4210,15 +4375,14 @@ Index of Functions, Variables, & Directives
* VPATH: Directory Search. (line 6)
* warning: Make Control Functions.
(line 35)
* WEAVE: Implicit Variables. (line 86)
* WEAVE: Implicit Variables. (line 98)
* wildcard <1>: File Name Functions. (line 107)
* wildcard: Wildcard Function. (line 6)
* word: Text Functions. (line 159)
* wordlist: Text Functions. (line 168)
* words: Text Functions. (line 180)
* YACC: Implicit Variables. (line 67)
* YACCR: Implicit Variables. (line 71)
* YFLAGS: Implicit Variables. (line 144)
* YACC: Implicit Variables. (line 74)
* YFLAGS: Implicit Variables. (line 150)
* | (automatic variable): Automatic Variables. (line 69)

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,23 @@
@echo Building Make for MSDOS
@rem Echo ON so they will see what is going on.
@echo off
rem Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
rem Software Foundation, Inc.
rem This file is part of GNU Make.
rem GNU Make is free software; you can redistribute it and/or modify it under the
rem terms of the GNU General Public License as published by the Free Software
rem Foundation; either version 2, or (at your option) any later version.
rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
rem A PARTICULAR PURPOSE. See the GNU General Public License for more details.
rem You should have received a copy of the GNU General Public License along with
rem GNU Make; see the file COPYING. If not, write to the Free Software
rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
echo Building Make for MSDOS
rem Echo ON so they will see what is going on.
@echo on
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g commands.c -o commands.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g job.c -o job.o
@ -16,6 +34,8 @@ gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g variable.c -o variable.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g expand.c -o expand.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g function.c -o function.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g vpath.c -o vpath.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g hash.c -o hash.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g strcache.c -o strcache.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g version.c -o version.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g ar.c -o ar.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g arscan.c -o arscan.o
@ -32,7 +52,7 @@ ar rv libglob.a glob.o fnmatch.o
cd ..
echo commands.o > respf.$$$
for %%f in (job dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$
for %%f in (expand function vpath version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$
for %%f in (expand function vpath hash strcache version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$
echo glob/libglob.a >> respf.$$$
@echo Linking...
@echo on

View file

@ -1,21 +1,20 @@
/* Variable expansion functions for GNU Make.
Copyright (C) 1988, 89, 91, 92, 93, 95 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
@ -27,6 +26,10 @@ Boston, MA 02111-1307, USA. */
#include "variable.h"
#include "rule.h"
/* Initially, any errors reported when expanding strings will be reported
against the file where the error appears. */
const struct floc **expanding_var = &reading_file;
/* The next two describe the variable output buffer.
This buffer is used to hold the variable-expansion of a line of the
makefile. It is made bigger with realloc whenever it is too small.
@ -96,14 +99,32 @@ char *
recursively_expand_for_file (struct variable *v, struct file *file)
{
char *value;
struct variable_set_list *save = 0;
const struct floc *this_var;
const struct floc **saved_varp;
struct variable_set_list *save;
int set_reading = 0;
/* Don't install a new location if this location is empty.
This can happen for command-line variables, builtin variables, etc. */
saved_varp = expanding_var;
if (v->fileinfo.filenm)
{
this_var = &v->fileinfo;
expanding_var = &this_var;
}
/* If we have no other file-reading context, use the variable's context. */
if (!reading_file)
{
set_reading = 1;
reading_file = &v->fileinfo;
}
if (v->expanding)
{
if (!v->exp_count)
/* Expanding V causes infinite recursion. Lose. */
fatal (reading_file,
fatal (*expanding_var,
_("Recursive variable `%s' references itself (eventually)"),
v->name);
--v->exp_count;
@ -115,13 +136,6 @@ recursively_expand_for_file (struct variable *v, struct file *file)
current_variable_set_list = file->variables;
}
/* If we have no other file-reading context, use the variable's context. */
if (!reading_file)
{
set_reading = 1;
reading_file = &v->fileinfo;
}
v->expanding = 1;
if (v->append)
value = allocated_variable_append (v);
@ -131,9 +145,12 @@ recursively_expand_for_file (struct variable *v, struct file *file)
if (set_reading)
reading_file = 0;
if (file)
current_variable_set_list = save;
expanding_var = saved_varp;
return value;
}
@ -246,7 +263,7 @@ variable_expand_string (char *line, char *string, long length)
end = strchr (beg, closeparen);
if (end == 0)
/* Unterminated variable reference. */
fatal (reading_file, _("unterminated variable reference"));
fatal (*expanding_var, _("unterminated variable reference"));
p1 = lindex (beg, end, '$');
if (p1 != 0)
{
@ -372,19 +389,7 @@ variable_expand_string (char *line, char *string, long length)
/* A $ followed by a random char is a variable reference:
$a is equivalent to $(a). */
{
/* We could do the expanding here, but this way
avoids code repetition at a small performance cost. */
char name[5];
name[0] = '$';
name[1] = '(';
name[2] = *p;
name[3] = ')';
name[4] = '\0';
p1 = allocated_variable_expand (name);
o = variable_buffer_output (o, p1, strlen (p1));
free (p1);
}
o = reference_variable (o, p, 1);
break;
}

102
file.c
View file

@ -1,22 +1,20 @@
/* Target file hash table management for GNU Make.
/* Target file management for GNU Make.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
2002 Free Software Foundation, Inc.
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
@ -90,14 +88,15 @@ lookup_file (char *name)
on the command line. */
#ifdef VMS
# ifndef WANT_CASE_SENSITIVE_TARGETS
{
register char *n;
lname = (char *) malloc (strlen (name) + 1);
for (n = name, ln = lname; *n != '\0'; ++n, ++ln)
*ln = isupper ((unsigned char)*n) ? tolower ((unsigned char)*n) : *n;
*ln = '\0';
name = lname;
}
if (*name != '.')
{
register char *n;
lname = (char *) malloc (strlen (name) + 1);
for (n = name, ln = lname; *n != '\0'; ++n, ++ln)
*ln = isupper ((unsigned char)*n) ? tolower ((unsigned char)*n) : *n;
*ln = '\0';
name = lname;
}
# endif
while (name[0] == '[' && name[1] == ']' && name[2] != '\0')
@ -126,7 +125,8 @@ lookup_file (char *name)
file_key.hname = name;
f = (struct file *) hash_find_item (&files, &file_key);
#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
free (lname);
if (*name != '.')
free (lname);
#endif
return f;
}
@ -145,22 +145,23 @@ enter_file (char *name)
assert (*name != '\0');
#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
{
register char *n;
lname = (char *) malloc (strlen (name) + 1);
for (n = name, ln = lname; *n != '\0'; ++n, ++ln)
{
if (isupper ((unsigned char)*n))
*ln = tolower ((unsigned char)*n);
else
*ln = *n;
}
if (*name != '.')
{
register char *n;
lname = (char *) malloc (strlen (name) + 1);
for (n = name, ln = lname; *n != '\0'; ++n, ++ln)
{
if (isupper ((unsigned char)*n))
*ln = tolower ((unsigned char)*n);
else
*ln = *n;
}
*ln = 0;
/* Creates a possible leak, old value of name is unreachable, but I
currently don't know how to fix it. */
name = lname;
}
*ln = 0;
/* Creates a possible leak, old value of name is unreachable, but I
currently don't know how to fix it. */
name = lname;
}
#endif
file_key.hname = name;
@ -169,7 +170,8 @@ enter_file (char *name)
if (! HASH_VACANT (f) && !f->double_colon)
{
#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
free(lname);
if (*name != '.')
free (lname);
#endif
return f;
}
@ -180,14 +182,16 @@ enter_file (char *name)
new->update_status = -1;
if (HASH_VACANT (f))
hash_insert_at (&files, new, file_slot);
{
new->last = new;
hash_insert_at (&files, new, file_slot);
}
else
{
/* There is already a double-colon entry for this file. */
new->double_colon = f;
while (f->prev != 0)
f = f->prev;
f->prev = new;
f->last->prev = new;
f->last = new;
}
return new;
@ -718,14 +722,18 @@ snap_deps (void)
f2->command_flags |= COMMANDS_SILENT;
}
f = lookup_file (".POSIX");
if (f != 0 && f->is_target)
posix_pedantic = 1;
f = lookup_file (".NOTPARALLEL");
if (f != 0 && f->is_target)
not_parallel = 1;
#ifndef NO_MINUS_C_MINUS_O
/* If .POSIX was defined, remove OUTPUT_OPTION to comply. */
/* This needs more work: what if the user sets this in the makefile?
if (posix_pedantic)
define_variable (STRING_SIZE_TUPLE("OUTPUT_OPTION"), "", o_default, 1);
*/
#endif
/* Remember that we've done this. */
snapped_deps = 1;
}

View file

@ -1,22 +1,20 @@
/* Definition of target file data structures for GNU Make.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997,
2002 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* Structure that represents the info on one file
@ -42,6 +40,7 @@ struct file
struct file *prev; /* Previous entry for same file name;
used when there are multiple double-colon
entries for the same file. */
struct file *last; /* Last entry for the same file name. */
/* File that this file was renamed to. After any time that a
file could be renamed, call `check_renamed' (below). */

View file

@ -1,21 +1,20 @@
/* Builtin function expansion for GNU Make.
Copyright (C) 1988, 1989, 1991-1997, 1999, 2002 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "filedef.h"
@ -744,7 +743,7 @@ check_numeric (const char *s, const char *message)
break;
if (s <= end || end - beg < 0)
fatal (reading_file, "%s: '%s'", message, beg);
fatal (*expanding_var, "%s: '%s'", message, beg);
}
@ -761,7 +760,8 @@ func_word (char *o, char **argv, const char *funcname UNUSED)
i = atoi (argv[0]);
if (i == 0)
fatal (reading_file, _("first argument to `word' function must be greater than 0"));
fatal (*expanding_var,
_("first argument to `word' function must be greater than 0"));
end_p = argv[1];
@ -788,7 +788,7 @@ func_wordlist (char *o, char **argv, const char *funcname UNUSED)
start = atoi (argv[0]);
if (start < 1)
fatal (reading_file,
fatal (*expanding_var,
"invalid first argument to `wordlist' function: `%d'", start);
count = atoi (argv[1]) - start + 1;
@ -1116,7 +1116,7 @@ func_error (char *o, char **argv, const char *funcname)
break;
default:
fatal (reading_file, "Internal error: func_error: '%s'", funcname);
fatal (*expanding_var, "Internal error: func_error: '%s'", funcname);
}
/* The warning function expands to the empty string. */
@ -1230,6 +1230,110 @@ func_if (char *o, char **argv, const char *funcname UNUSED)
return o;
}
/*
$(or condition1[,condition2[,condition3[...]]])
A CONDITION is false iff it evaluates to an empty string. White
space before and after CONDITION are stripped before evaluation.
CONDITION1 is evaluated. If it's true, then this is the result of
expansion. If it's false, CONDITION2 is evaluated, and so on. If none of
the conditions are true, the expansion is the empty string.
Once a CONDITION is true no further conditions are evaluated
(short-circuiting).
*/
static char *
func_or (char *o, char **argv, const char *funcname UNUSED)
{
for ( ; *argv ; ++argv)
{
const char *begp = *argv;
const char *endp = begp + strlen (*argv) - 1;
char *expansion;
int result = 0;
/* Find the result of the condition: if it's false keep going. */
strip_whitespace (&begp, &endp);
if (begp > endp)
continue;
expansion = expand_argument (begp, endp+1);
result = strlen (expansion);
/* If the result is false keep going. */
if (!result)
{
free (expansion);
continue;
}
/* It's true! Keep this result and return. */
o = variable_buffer_output (o, expansion, result);
free (expansion);
break;
}
return o;
}
/*
$(and condition1[,condition2[,condition3[...]]])
A CONDITION is false iff it evaluates to an empty string. White
space before and after CONDITION are stripped before evaluation.
CONDITION1 is evaluated. If it's false, then this is the result of
expansion. If it's true, CONDITION2 is evaluated, and so on. If all of
the conditions are true, the expansion is the result of the last condition.
Once a CONDITION is false no further conditions are evaluated
(short-circuiting).
*/
static char *
func_and (char *o, char **argv, const char *funcname UNUSED)
{
char *expansion;
int result;
while (1)
{
const char *begp = *argv;
const char *endp = begp + strlen (*argv) - 1;
/* An empty condition is always false. */
strip_whitespace (&begp, &endp);
if (begp > endp)
return o;
expansion = expand_argument (begp, endp+1);
result = strlen (expansion);
/* If the result is false, stop here: we're done. */
if (!result)
break;
/* Otherwise the result is true. If this is the last one, keep this
result and quit. Otherwise go on to the next one! */
if (*(++argv))
free (expansion);
else
{
o = variable_buffer_output (o, expansion, result);
break;
}
}
free (expansion);
return o;
}
static char *
func_wildcard (char *o, char **argv, const char *funcname UNUSED)
{
@ -1977,6 +2081,8 @@ static struct function_table_entry function_table_init[] =
{ STRING_SIZE_TUPLE("error"), 0, 1, 1, func_error},
{ STRING_SIZE_TUPLE("warning"), 0, 1, 1, func_error},
{ STRING_SIZE_TUPLE("if"), 2, 3, 0, func_if},
{ STRING_SIZE_TUPLE("or"), 1, 0, 0, func_or},
{ STRING_SIZE_TUPLE("and"), 1, 0, 0, func_and},
{ STRING_SIZE_TUPLE("value"), 0, 1, 1, func_value},
{ STRING_SIZE_TUPLE("eval"), 0, 1, 1, func_eval},
#ifdef EXPERIMENTAL
@ -1995,8 +2101,8 @@ expand_builtin_function (char *o, int argc, char **argv,
const struct function_table_entry *entry_p)
{
if (argc < (int)entry_p->minimum_args)
fatal (reading_file,
_("Insufficient number of arguments (%d) to function `%s'"),
fatal (*expanding_var,
_("insufficient number of arguments (%d) to function `%s'"),
argc, entry_p->name);
/* I suppose technically some function could do something with no
@ -2007,8 +2113,8 @@ expand_builtin_function (char *o, int argc, char **argv,
return o;
if (!entry_p->func_ptr)
fatal (reading_file, _("Unimplemented on this platform: function `%s'"),
entry_p->name);
fatal (*expanding_var,
_("unimplemented on this platform: function `%s'"), entry_p->name);
return entry_p->func_ptr (o, argv, entry_p->name);
}
@ -2057,7 +2163,7 @@ handle_function (char **op, char **stringp)
break;
if (count >= 0)
fatal (reading_file,
fatal (*expanding_var,
_("unterminated call to function `%s': missing `%c'"),
entry_p->name, closeparen);

View file

@ -1,21 +1,21 @@
/* Get the system load averages.
Copyright (C) 1985, 86, 87, 88, 89, 91, 92, 93, 1994, 1995, 1997
Free Software Foundation, Inc.
Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (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.
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
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along with
this program; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* Compile-time symbols that this file uses:

View file

@ -1,29 +1,29 @@
/* Getopt for GNU.
NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98
Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (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.
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 along with
this program; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */
#ifndef _NO_PROTO

View file

@ -1,23 +1,23 @@
/* Declarations for getopt.
Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (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.
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
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along with
this program; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#ifndef _GETOPT_H
#define _GETOPT_H 1

View file

@ -1,24 +1,24 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (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.
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
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along with
this program; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#ifdef HAVE_CONFIG_H
#include <config.h>

View file

@ -1,20 +1,19 @@
/* Convenience header for conditional use of GNU <libintl.h>.
Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is part of GNU Make.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (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
Library General Public License for more details.
GNU Make 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 Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#ifndef _LIBGETTEXT_H
#define _LIBGETTEXT_H 1

View file

@ -149,4 +149,21 @@ Fri Jun 21 00:27:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* posix/fnmatch.c (fnmatch): Fix \*[*?]+ case to increment name ptr
only for ?s, not for *s. Fix from Chet Ramey.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,4 +1,19 @@
# -*-Makefile-*-, or close enough
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
AUTOMAKE_OPTIONS = foreign

View file

@ -1,22 +1,19 @@
# Makefile for standalone distribution of libglob.a (fnmatch, glob).
# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public License
# as published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
# This library 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
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB. If
# not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Makefile for standalone libglob.a (fnmatch, glob). -*-Makefile-*-
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
# Ultrix 2.2 make doesn't expand the value of VPATH.
VPATH = /glob/

View file

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.9.5 from Makefile.am.
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@ -15,8 +15,21 @@
@SET_MAKE@
# -*-Makefile-*-, or close enough
SOURCES = $(libglob_a_SOURCES)
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -1,22 +1,19 @@
# Makefile for standalone distribution of libglob.a (fnmatch, glob).
# Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public License
# as published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
# This library 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
# Library General Public License for more details.
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB. If
# not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
# Ultrix 2.2 make doesn't expand the value of VPATH.
VPATH = /glob/

View file

@ -1,4 +1,22 @@
@echo off
rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
rem 2004, 2005, 2006 Free Software Foundation, Inc.
rem This file is part of GNU Make.
rem GNU Make is free software; you can redistribute it and/or modify it under
rem the terms of the GNU General Public License as published by the Free
rem Software Foundation; either version 2, or (at your option) any later
rem version.
rem GNU Make is distributed in the hope that it will be useful, but WITHOUT
rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
rem FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
rem more details.
rem You should have received a copy of the GNU General Public License along
rem with GNU Make; see the file COPYING. If not, write to the Free Software
rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
echo Configuring glob for DJGPP
rem This batch file assumes a unix-type "sed" program

View file

@ -1,20 +1,20 @@
/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This file is part of the GNU C Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library 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
Library General Public License for more details.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the Free
Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA. */
#if HAVE_CONFIG_H
# include <config.h>

View file

@ -1,20 +1,20 @@
/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the Free
Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA. */
#ifndef _FNMATCH_H
#define _FNMATCH_H 1

View file

@ -1,19 +1,19 @@
/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
This library 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
Library General Public License for more details.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the Free
Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA. */
/* AIX requires this to be the first thing in the file. */
#if defined _AIX && !defined __GNUC__

View file

@ -1,19 +1,19 @@
/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library 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
Library General Public License for more details.
The GNU C Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the Free
Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA. */
#ifndef _GLOB_H
#define _GLOB_H 1

33
hash.c
View file

@ -2,20 +2,19 @@
Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.
Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (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.
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
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
You should have received a copy of the GNU General Public License along with
this program; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "hash.h"
@ -126,18 +125,18 @@ hash_find_item (struct hash_table *ht, const void *key)
}
void *
hash_insert (struct hash_table *ht, void *item)
hash_insert (struct hash_table *ht, const void *item)
{
void **slot = hash_find_slot (ht, item);
void *old_item = slot ? *slot : 0;
const void *old_item = slot ? *slot : 0;
hash_insert_at (ht, item, slot);
return ((HASH_VACANT (old_item)) ? 0 : old_item);
return (void *)((HASH_VACANT (old_item)) ? 0 : old_item);
}
void *
hash_insert_at (struct hash_table *ht, void *item, const void *slot)
hash_insert_at (struct hash_table *ht, const void *item, const void *slot)
{
void *old_item = *(void **) slot;
const void *old_item = *(void **) slot;
if (HASH_VACANT (old_item))
{
ht->ht_fill++;

30
hash.h
View file

@ -1,20 +1,20 @@
/* hash.h -- decls for hash table
Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.
Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.
Written by Greg McGary <gkm@gnu.org> <greg@mcgary.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (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.
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
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
this program; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#ifndef _hash_h_
#define _hash_h_
@ -63,8 +63,8 @@ void hash_load __P((struct hash_table *ht, void *item_table,
unsigned long cardinality, unsigned long size));
void **hash_find_slot __P((struct hash_table *ht, void const *key));
void *hash_find_item __P((struct hash_table *ht, void const *key));
void *hash_insert __P((struct hash_table *ht, void *item));
void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot));
void *hash_insert __P((struct hash_table *ht, const void *item));
void *hash_insert_at __P((struct hash_table *ht, const void *item, void const *slot));
void *hash_delete __P((struct hash_table *ht, void const *item));
void *hash_delete_at __P((struct hash_table *ht, void const *slot));
void hash_delete_items __P((struct hash_table *ht));

View file

@ -1,21 +1,20 @@
/* Implicit rule searching for GNU Make.
Copyright (C) 1988,1989,1990,1991,1992,1993,1994,1997,2000,2004,2005 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "filedef.h"
@ -78,26 +77,22 @@ struct idep
};
static void
free_idep_chain (struct idep* p)
free_idep_chain (struct idep *p)
{
register struct idep* n;
register struct file *f;
struct idep *n;
struct file *f;
for (; p != 0; p = n)
{
n = p->next;
if (p->name)
{
free (p->name);
free (p->name);
f = p->intermediate_file;
if (f != 0
&& (f->stem < f->name
|| f->stem > f->name + strlen (f->name)))
free (f->stem);
}
f = p->intermediate_file;
if (f != 0
&& (f->stem < f->name || f->stem > f->name + strlen (f->name)))
free (f->stem);
free (p);
}
@ -261,9 +256,9 @@ pattern_search (struct file *file, int archive,
that is not just `%'. */
int specific_rule_matched = 0;
register unsigned int i = 0; /* uninit checks OK */
register struct rule *rule;
register struct dep *dep, *expl_d;
unsigned int i = 0; /* uninit checks OK */
struct rule *rule;
struct dep *dep, *expl_d;
char *p, *vname;
@ -347,17 +342,28 @@ pattern_search (struct file *file, int archive,
/* Set CHECK_LASTSLASH if FILENAME contains a directory
prefix and the target pattern does not contain a slash. */
check_lastslash = 0;
if (lastslash)
{
#ifdef VMS
check_lastslash = lastslash != 0
&& ((strchr (target, ']') == 0)
&& (strchr (target, ':') == 0));
check_lastslash = (strchr (target, ']') == 0
&& strchr (target, ':') == 0);
#else
check_lastslash = lastslash != 0 && strchr (target, '/') == 0;
check_lastslash = strchr (target, '/') == 0;
#ifdef HAVE_DOS_PATHS
/* Didn't find it yet: check for DOS-type directories. */
if (!check_lastslash)
{
char *b = strrchr (target, '\\');
check_lastslash = !(b ? b > lastslash
: (target[0] && target[1] == ':'));
}
#endif
#endif
}
if (check_lastslash)
{
/* In that case, don't include the
directory prefix in STEM here. */
/* If so, don't include the directory prefix in STEM here. */
unsigned int difference = lastslash - filename + 1;
if (difference > stemlen)
continue;
@ -666,13 +672,11 @@ pattern_search (struct file *file, int archive,
anyway, no matter which implicit rule we choose. */
for (expl_d = file->deps; expl_d != 0; expl_d = expl_d->next)
if (strcmp (dep_name (expl_d), name) == 0) break;
if (streq (dep_name (expl_d), name))
break;
if (expl_d != 0)
continue;
/* The DEP->changed flag says that this dependency resides in a
nonexistent directory. So we normally can skip looking for
the file. However, if CHECK_LASTSLASH is set, then the
@ -684,9 +688,7 @@ pattern_search (struct file *file, int archive,
if (((f = lookup_file (name)) != 0 && f->is_target)
/*|| ((!dep->changed || check_lastslash) && */
|| file_exists_p (name))
{
continue;
}
continue;
/* This code, given FILENAME = "lib/foo.o", dependency name
"lib/foo.c", and VPATH=src, searches for "src/lib/foo.c". */
@ -736,6 +738,8 @@ pattern_search (struct file *file, int archive,
/* If we have tried to find P as an intermediate
file and failed, mark that name as impossible
so we won't go through the search again later. */
if (intermediate_file->variables)
free_variable_set (intermediate_file->variables);
file_impossible (name);
}
@ -832,7 +836,7 @@ pattern_search (struct file *file, int archive,
f->deps = imf->deps;
f->cmds = imf->cmds;
f->stem = imf->stem;
f->stem = xstrdup (imf->stem);
f->also_make = imf->also_make;
f->is_target = 1;

83
job.c
View file

@ -1,22 +1,20 @@
/* Job execution and handling for GNU Make.
Copyright (C) 1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1999,
2000,2001,2002,2003,2004,2005 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
@ -242,11 +240,12 @@ w32_kill(int pid, int sig)
return ((process_kill((HANDLE)pid, sig) == TRUE) ? 0 : -1);
}
/* This function creates a temporary file name with the given extension
* the unixy param controls both the extension and the path separator
* return an xmalloc'ed string of a newly created temp file or die. */
/* This function creates a temporary file name with an extension specified
* by the unixy arg.
* Return an xmalloc'ed string of a newly created temp file and its
* file descriptor, or die. */
static char *
create_batch_filename(char const *base, int unixy)
create_batch_file (char const *base, int unixy, int *fd)
{
const char *const ext = unixy ? "sh" : "bat";
const char *error = NULL;
@ -304,7 +303,7 @@ create_batch_filename(char const *base, int unixy)
const unsigned final_size = path_size + size + 1;
char *const path = (char *) xmalloc (final_size);
memcpy (path, temp_path, final_size);
CloseHandle (h);
*fd = _open_osfhandle ((long)h, 0);
if (unixy)
{
char *p;
@ -317,6 +316,7 @@ create_batch_filename(char const *base, int unixy)
}
}
*fd = -1;
if (error == NULL)
error = _("Cannot create a temporary file\n");
fatal (NILF, error);
@ -716,7 +716,7 @@ reap_children (int block, int err)
if (c->good_stdin)
good_stdin_used = 0;
dontcare = c->file->dontcare;
dontcare = c->dontcare;
if (child_failed && !c->noerror && !ignore_errors_flag)
{
@ -1380,11 +1380,12 @@ start_job_command (struct child *child)
int i;
unblock_sigs();
fprintf(stderr,
_("process_easy() failed failed to launch process (e=%ld)\n"),
process_last_err(hPID));
for (i = 0; argv[i]; i++)
fprintf(stderr, "%s ", argv[i]);
fprintf(stderr, _("\nCounted %d args in failed launch\n"), i);
_("process_easy() failed to launch process (e=%ld)\n"),
process_last_err(hPID));
for (i = 0; argv[i]; i++)
fprintf(stderr, "%s ", argv[i]);
fprintf(stderr, _("\nCounted %d args in failed launch\n"), i);
goto error;
}
}
#endif /* WINDOWS32 */
@ -1429,7 +1430,12 @@ start_waiting_job (struct child *c)
/* If we are running at least one job already and the load average
is too high, make this one wait. */
if (!c->remote && job_slots_used > 0 && load_too_high ())
if (!c->remote
&& ((job_slots_used > 0 && load_too_high ())
#ifdef WINDOWS32
|| (process_used_slots () >= MAXIMUM_WAIT_OBJECTS)
#endif
))
{
/* Put this child on the chain of children waiting for the load average
to go down. */
@ -1604,6 +1610,10 @@ new_job (struct file *file)
c->command_lines = lines;
c->sh_batch_file = NULL;
/* Cache dontcare flag because file->dontcare can be changed once we
return. Check dontcare inheritance mechanism for details. */
c->dontcare = file->dontcare;
/* Fetch the first command line to be run. */
job_next_command (c);
@ -1799,6 +1809,12 @@ load_too_high (void)
double load, guess;
time_t now;
#ifdef WINDOWS32
/* sub_proc.c cannot wait for more than MAXIMUM_WAIT_OBJECTS children */
if (process_used_slots () >= MAXIMUM_WAIT_OBJECTS)
return 1;
#endif
if (max_load_average < 0)
return 0;
@ -2027,8 +2043,8 @@ exec_command (char **argv, char **envp)
break;
else
fprintf(stderr,
_("make reaped child pid %d, still waiting for pid %d\n"),
hWaitPID, hPID);
_("make reaped child pid %ld, still waiting for pid %ld\n"),
(DWORD)hWaitPID, (DWORD)hPID);
}
/* return child's exit code as our exit code */
@ -2754,20 +2770,25 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
/* Some shells do not work well when invoked as 'sh -c xxx' to run a
command line (e.g. Cygnus GNUWIN32 sh.exe on WIN32 systems). In these
cases, run commands via a script file. */
if (just_print_flag)
; /* Do nothing here. */
if ((no_default_sh_exe || batch_mode_shell) && batch_filename_ptr) {
int temp_fd;
FILE* batch = NULL;
int id = GetCurrentProcessId();
PATH_VAR(fbuf);
/* create a file name */
sprintf(fbuf, "make%d", id);
*batch_filename_ptr = create_batch_filename (fbuf, unixy_shell);
*batch_filename_ptr = create_batch_file (fbuf, unixy_shell, &temp_fd);
DB (DB_JOBS, (_("Creating temporary batch file %s\n"),
*batch_filename_ptr));
/* create batch file to execute command */
batch = fopen (*batch_filename_ptr, "w");
/* Create a FILE object for the batch file, and write to it the
commands to be executed. Put the batch file in TEXT mode. */
_setmode (temp_fd, _O_TEXT);
batch = _fdopen (temp_fd, "wt");
if (!unixy_shell)
fputs ("@echo off\n", batch);
fputs (command_ptr, batch);

25
job.h
View file

@ -1,21 +1,19 @@
/* Definitions for managing subprocesses in GNU Make.
Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#ifndef SEEN_JOB_H
#define SEEN_JOB_H
@ -63,6 +61,7 @@ struct child
unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */
unsigned int deleted:1; /* Nonzero if targets have been deleted. */
unsigned int dontcare:1; /* Saved dontcare flag. */
};
extern struct child *children;

44
main.c
View file

@ -1,22 +1,20 @@
/* Argument parsing and main program of GNU Make.
Copyright (C) 1988, 1989, 1990, 1991, 1994, 1995, 1996, 1997, 1998, 1999,
2002, 2003, 2005 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "dep.h"
@ -537,6 +535,7 @@ static void
initialize_global_hash_tables (void)
{
init_hash_global_variable_set ();
strcache_init ();
init_hash_files ();
hash_init_directories ();
hash_init_function_table ();
@ -668,7 +667,7 @@ handle_runtime_exceptions( struct _EXCEPTION_POINTERS *exinfo )
{
sprintf(errmsg,
_("%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%lx)\n"),
prg, exrec->ExceptionCode, exrec->ExceptionAddress);
prg, exrec->ExceptionCode, (DWORD)exrec->ExceptionAddress);
fprintf(stderr, errmsg);
exit(255);
}
@ -676,7 +675,7 @@ handle_runtime_exceptions( struct _EXCEPTION_POINTERS *exinfo )
sprintf(errmsg,
_("\nUnhandled exception filter called from program %s\nExceptionCode = %lx\nExceptionFlags = %lx\nExceptionAddress = %lx\n"),
prg, exrec->ExceptionCode, exrec->ExceptionFlags,
exrec->ExceptionAddress);
(DWORD)exrec->ExceptionAddress);
if (exrec->ExceptionCode == EXCEPTION_ACCESS_VIOLATION
&& exrec->NumberParameters >= 2)
@ -1111,6 +1110,10 @@ main (int argc, char **argv, char **envp)
define_variable (".FEATURES", 9,
"target-specific order-only second-expansion else-if",
o_default, 0);
#ifndef NO_ARCHIVES
do_variable_definition (NILF, ".FEATURES", "archives",
o_default, f_append, 0);
#endif
#ifdef MAKE_JOBSERVER
do_variable_definition (NILF, ".FEATURES", "jobserver",
o_default, f_append, 0);
@ -1595,12 +1598,6 @@ main (int argc, char **argv, char **envp)
/* look one last time after reading all Makefiles */
if (no_default_sh_exe)
no_default_sh_exe = !find_and_set_default_shell(NULL);
if (no_default_sh_exe && job_slots != 1) {
error (NILF, _("Do not specify -j or --jobs if sh.exe is not available."));
error (NILF, _("Resetting make for single job mode."));
job_slots = 1;
}
#endif /* WINDOWS32 */
#if defined (__MSDOS__) || defined (__EMX__)
@ -2944,7 +2941,7 @@ print_version (void)
word "Copyright", so it hardly seems worth it. */
printf ("%sGNU Make %s\n\
%sCopyright (C) 2003 Free Software Foundation, Inc.\n",
%sCopyright (C) 2006 Free Software Foundation, Inc.\n",
precede, version_string, precede);
printf (_("%sThis is free software; see the source for copying conditions.\n\
@ -2980,6 +2977,7 @@ print_data_base (void)
print_rule_data_base ();
print_file_data_base ();
print_vpath_data_base ();
strcache_print_stats ("#");
when = time ((time_t *) 0);
printf (_("\n# Finished Make data base on %s\n"), ctime (&when));

35
make.1
View file

@ -319,6 +319,17 @@ except that the modification time is changed only in the imagination of
.TP 0.5i
.B \-\-warn\-undefined\-variables
Warn when an undefined variable is referenced.
.SH "EXIT STATUS"
GNU
.I make
exits with a status of zero if all makefiles were successfully parsed
and no targets that were built failed. A status of one will be returned
if the
.B \-q
flag was used and
.I make
determines that a target needs to be rebuilt. A status of two will be
returned if any errors were encountered.
.SH "SEE ALSO"
.I "The GNU Make Manual"
.SH BUGS
@ -328,3 +339,27 @@ See the chapter `Problems and Bugs' in
This manual page contributed by Dennis Morse of Stanford University.
It has been reworked by Roland McGrath. Further updates contributed by
Mike Frysinger.
.SH "COPYRIGHT"
Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc.
This file is part of GNU
.IR make .
.LP
GNU
.I make
is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.
.LP
GNU
.I make
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.
.LP
You should have received a copy of the GNU General Public License
along with GNU
.IR make ;
see the file COPYING. If not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

36
make.h
View file

@ -1,22 +1,20 @@
/* Miscellaneous global declarations and portability cruft for GNU Make.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
2002 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
/* We use <config.h> instead of "config.h" so that a compilation
using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
@ -382,7 +380,7 @@ extern int unixy_shell;
struct floc
{
char *filenm;
const char *filenm;
unsigned long lineno;
};
#define NILF ((struct floc *)0)
@ -465,6 +463,13 @@ extern void close_stdout PARAMS ((void));
extern char *strip_whitespace PARAMS ((const char **begpp, const char **endpp));
/* String caching */
extern void strcache_init PARAMS ((void));
extern void strcache_print_stats PARAMS ((const char *prefix));
extern int strcache_iscached PARAMS ((const char *str));
extern const char *strcache_add PARAMS ((const char *str));
extern const char *strcache_add_len PARAMS ((const char *str, int len));
extern int strcache_setbufsize PARAMS ((int size));
#ifdef HAVE_VFORK_H
# include <vfork.h>
@ -492,6 +497,7 @@ extern char *getwd ();
#endif
extern const struct floc *reading_file;
extern const struct floc **expanding_var;
extern char **environ;

View file

@ -1,4 +1,4 @@
FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o"
FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o"+"hash.o"+"strcache.o"
TO "make.new"
LIB glob/glob.lib LIB:sc.lib LIB:amiga.lib
QUIET

View file

@ -27,7 +27,8 @@
ForceConformanceInForLoopScope="TRUE"
UsePrecompiledHeader="0"
WarningLevel="4"
Detect64BitPortabilityProblems="TRUE"
SuppressStartupBanner="TRUE"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
@ -44,7 +45,9 @@
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
Name="VCPreBuildEventTool"
Description="Copying config.h.W32 to config.h"
CommandLine="if not exist config.h copy config.h.W32 config.h"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
@ -74,7 +77,7 @@
ForceConformanceInForLoopScope="TRUE"
UsePrecompiledHeader="0"
WarningLevel="4"
Detect64BitPortabilityProblems="TRUE"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
@ -92,7 +95,9 @@
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
Name="VCPreBuildEventTool"
Description="Copying config.h.W32 to config.h"
CommandLine="if not exist config.h copy config.h.W32 config.h"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
@ -152,6 +157,9 @@
<File
RelativePath=".\hash.c">
</File>
<File
RelativePath=".\strcache.c">
</File>
<File
RelativePath=".\implicit.c">
</File>

View file

@ -12,7 +12,7 @@ $! zinser@decus.de (preferred) or zinser@sysdev.deutsche-boerse.com
$
$! hb
$! But don't ask Martin Zinser about the lines, I added/changed.
$! In case of an error do some cleanup
$! In case of an error do some cleanup
$ on error then $ goto cleanup
$! in case somebody set up her/his own symbol for cc
$ set symbol/scope=(nolocal,noglobal)
@ -33,7 +33,7 @@ $ then
$ if f$trnlnm("SYS").eqs."" then def/nolog sys sys$library:
$ ccopt = ""
$ else
$ ccopt = "/decc/prefix=all"
$ ccopt = "/decc/prefix=(all,except=(globfree,glob))"
$ if f$trnlnm("SYS").eqs.""
$ then
$ if f$trnlnm("DECC$LIBRARY_INCLUDE").nes.""
@ -68,8 +68,8 @@ $ gosub check_cc_qual
$ endif
$ filelist = "alloca ar arscan commands default dir expand file function " + -
"hash implicit job main misc read remake remote-stub rule " + -
"signame variable version vmsfunctions vmsify vpath " + -
"[.glob]glob [.glob]fnmatch getopt1 getopt"
"signame variable version vmsfunctions vmsify vpath " + -
"[.glob]glob [.glob]fnmatch getopt1 getopt strcache"
$ copy config.h-vms config.h
$ n=0
$ open/write optf make.opt
@ -95,23 +95,23 @@ $ if f$trnlnm("OPTF").nes."" then $ close optf
$ if f$search("make.opt").nes."" then $ del make.opt;*
$ exit
$!
$!------------------------------------------------------------------------------
$!-----------------------------------------------------------------------------
$!
$! Check if this is a define relating to the properties of the C/C++
$! compiler
$!
$CHECK_CC_QUAL:
$ open/write tmpc 'tc
$ open/write tmpc 'tc
$ ccqual = "/warn=(disable=questcompare)"
$ write tmpc "#include <stdio.h>"
$ write tmpc "unsigned int i = 1;"
$ write tmpc "int main(){"
$ write tmpc "if (i < 0){printf(""Mission impossible\n"");}}"
$ write tmpc "if (i < 0){printf(""Mission impossible\n"");}}"
$ close tmpc
$ gosub cc_qual_check
$ return
$!
$!------------------------------------------------------------------------------
$!-----------------------------------------------------------------------------
$!
$! Check for properties of C/C++ compiler
$!
@ -122,17 +122,34 @@ $ cc 'ccqual' 'tmpnam'
$ if $status then cc_qual = true
$ set message/fac/ident/sever/text
$ delete/nolog 'tmpnam'.*;*
$ if cc_qual then ccopt = ccopt + ccqual
$ if cc_qual then ccopt = ccopt + ccqual
$ return
$!------------------------------------------------------------------------------
$!-----------------------------------------------------------------------------
$!
$ compileit : subroutine
$ ploc = f$locate("]",p1)
$ filnam = p1
$ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1)
$ write optf "''filnam'"
$ cc'ccopt'/include=([],[.glob]) -
/define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") -
$ cc'ccopt'/include=([],[.glob]) -
/define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") -
'p1'
$ exit
$ endsubroutine : compileit
$!
$!-----------------------------------------------------------------------------
$!Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
$!2006 Free Software Foundation, Inc.
$!This file is part of GNU Make.
$!
$!GNU Make is free software; you can redistribute it and/or modify it under the
$!terms of the GNU General Public License as published by the Free Software
$!Foundation; either version 2, or (at your option) any later version.
$!
$!GNU Make 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 along with
$!GNU Make; see the file COPYING. If not, write to the Free Software
$!Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,26 +1,26 @@
# Copyright (C) 1988, 1989, 1996, 1997 Free Software Foundation, Inc.
# -*-Makefile-*- to build GNU make on VMS
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
# VMS extensions from GNU Make 3.60 imported by
# Klaus Kämpf (kkaempf@rmi.de)
# Modified for version 3.78.1 by Hartmut.Becker@compaq.com.
# Modified for version 3.80 by zinser@decus.de
# Modified for version 3.81 by Hartmut Becker
#
# GNU Make is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Make 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
# along with GNU Make; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
CC = cc
CP = copy
@ -90,11 +90,11 @@ manext = 1
objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\
main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\
default.obj,variable.obj,expand.obj,function.obj,\
default.obj,variable.obj,expand.obj,function.obj,strcache.obj,\
vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)
srcs = commands.c job.c dir.c file.c misc.c hash.c\
srcs = commands.c job.c dir.c file.c misc.c hash.c \
main.c read.c remake.c rule.c implicit.c \
default.c variable.c expand.c function.c \
default.c variable.c expand.c function.c strcache.c \
vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \
commands.h dep.h filedef.h job.h make.h rule.h variable.h
@ -121,6 +121,7 @@ dir.obj: dir.c make.h
file.obj: file.c make.h commands.h dep.h filedef.h variable.h
misc.obj: misc.c make.h dep.h
hash.obj: hash.c make.h hash.h
strcache.obj: strcache.c make.h hash.h
main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h
read.obj: read.c make.h commands.h dep.h filedef.h variable.h
remake.obj: remake.c make.h commands.h job.h dep.h filedef.h

26
misc.c
View file

@ -1,22 +1,20 @@
/* Miscellaneous generic support functions for GNU Make.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997,
2002 Free Software Foundation, Inc.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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.
GNU Make 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
along with GNU Make; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "make.h"
#include "dep.h"

View file

@ -1,3 +1,7 @@
2006-01-28 Paul D. Smith <psmith@gnu.org>
* LINGUAS: Added new translation for Vietnamese (vi).
2005-07-14 Paul D. Smith <psmith@gnu.org>
* LINGUAS: Added new translation for Indonesian (id).
@ -47,3 +51,18 @@
* .cvsignore: Moved from i18n to here.
* POTFILES.in, LINGUAS, Makevars: Created.
Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version.
GNU Make 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 along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,5 +1,5 @@
# Set of available languages: 22 languages
# Set of available languages: 23 languages
be da de es fi fr ga gl he hr id ja ko nl pl pt_BR ru rw sv tr uk zh_CN
be da de es fi fr ga gl he hr id ja ko nl pl pt_BR ru rw sv tr uk vi zh_CN
# Can't seem to get en@quot and en@boldquot to build properly?

View file

@ -1,3 +1,20 @@
# This is a -*-Makefile-*-
# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
# Makefile variables for PO directory in any package using GNU gettext.
# Usually the message domain is the same as the package name.

View file

@ -1,5 +1,19 @@
# List of source files containing translatable strings.
# Copyright (C) 2002 Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2, or (at your option) any later version.
#
# GNU Make 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 along with
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ar.c
arscan.c
@ -19,6 +33,7 @@ remake.c
remote-cstms.c
rule.c
signame.c
strcache.c
variable.c
variable.h
vmsfunctions.c

BIN
po/be.gmo

Binary file not shown.

756
po/be.po

File diff suppressed because it is too large Load diff

BIN
po/da.gmo

Binary file not shown.

763
po/da.po

File diff suppressed because it is too large Load diff

BIN
po/de.gmo

Binary file not shown.

767
po/de.po

File diff suppressed because it is too large Load diff

BIN
po/es.gmo

Binary file not shown.

763
po/es.po

File diff suppressed because it is too large Load diff

BIN
po/fi.gmo

Binary file not shown.

761
po/fi.po

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more