cook-2.33/README 644 0 0 122431 11313350040 12520 0 ustar Peter Miller 0 0 Read Me(Cook) Read Me(Cook)
NAME
cook - a file construction tool
DESCRIPTION
The cook program is a tool for constructing files, and maintaining
referential integrity between files. It is given a set of files to
create, and recipes of how to create and maintain them. In any non-
trivial program there will be prerequisites to performing the actions
necessary to creating any file, such as include files. The cook
program provides a mechanism to define these.
When a program is being developed or maintained, the programmer will
typically change one file of several which comprise the program. The
cook program examines the last-modified times of the files to see when
the prerequisites of a file have changed, implying that the file needs
to be recreated as it is logically out of date.
The cook program also provides a facility for implicit recipes,
allowing users to specify how to form a file with a given suffix from a
file with a different suffix. For example, to create filename.o from
filename.c
* Cook is a replacement for * There is a make2cook
the traditional make(1) utility included in the
tool. distribution to help
* Cook is more powerful convert makefiles into
than the traditional make cookbooks.
tool.
* Cook has true variables, * Cook has a simple but
not simple macros. powerful string-based
* Cook has user defined description language with
functions. many built-in functions.
This allows sophisticated
filename specification and
manipulation without loss
of readability or
performance.
* Cook can build in * Cook is able to build
parallel. your project with multiple
* Cook can distribute parallel threads, with
builds across your LAN. support for rules which
must be single threaded.
It is possible to
distribute parallel builds
over your LAN, allowing you
to turn your network into a
virtual parallel build
engine.
* Cook is able to use * Cook can be configured
fingerprints to supplement with an explicit list of
file modification times. primary source files. This
This allows build allow the dependency graph
optimization without to be constructed faster by
contorted rules. not going down dead ends,
* In addition to walking and also allows better
the dependency graph, Cook error messages when the
can turn the input rules graph can't be constructed.
into a shell script, or a This requires an accurate
web page. source file manifest.
* Cook runs on almost any * Cook has special cascade
flavor of UNIX. The source dependencies, allowing
distribution is self powerful include dependency
configuring using a GNU specification, amongst
Autoconf generated other things.
configure script.
If you are putting together a source-code distribution and planning to
write a makefile, consider writing a cookbook instead. Although Cook
takes a day or two to learn, it is much more powerful and a bit more
intuitive than the traditional make(1) tool. And Cook doesn't
interpret tab differently to 8 space characters!
ARCHIVE SITE
The latest version of cook is available on the Web from:
URL: http://miller.emu.id.au/pmiller/cook/
File: cook-2.33.README # the README from the tar file
File: cook-2.33.lsm # LSM format description
File: cook-2.33.spec # RedHat package specification
File: cook-2.33.rm.ps.gz # PostScript of the Reference Manual
File: cook-2.33.ug.ps.gz # PostScript of the User Guide
File: cook-2.33.tar.gz # the complete source
This Web page also contains a few other pieces of software written by
me. Please have a look if you are interested.
Cook is also carried by sunsite.unc.edu in its Linux archives. You
will be able to find Cook on any of its mirrors.
URL: ftp://sunsite.unc.edu/pub/Linux/devel/make/
File: cook-2.33.README # the README from the tar file
File: cook-2.33.lsm # LSM format description
File: cook-2.33.spec # RedHat package specification
File: cook-2.33.rm.ps.gz # PostScript of the Reference Manual
File: cook-2.33.ug.ps.gz # PostScript of the User Guide
File: cook-2.33.tar.gz # the complete source
This site is extensively mirrored around the world, so look for a copy
near you (you will get much better response).
MAILING LIST
A mailing list has been created so that users of cook may exchange
ideas about how to use the cook program. Discussion may include, but
is not limited to: bugs, enhancements, and applications. The list is
not moderated.
The address of the mailing list is
cook-users@lists.auug.org.au
Please DO NOT send subscribe requests to this address.
To subscribe to this mailing list, visit the cook-users mailing list
page, and go through the subscribe dialogue.
http://lists.auug.org.au/listinfo/cook-users,
The software which handles this mailing list CANNOT send you a copy of
the cook program.
BUILDING COOK
Full instructions for building the cook program may be found in the
BUILDING file included in this distribution.
COPYRIGHT
cook version 2.33
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009 Peter Miller
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 3 of the License, 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.
You should have received a copy of the GNU General Public License along
with this program. If not, see .
It should be in the LICENSE file included with this distribution.
AUTHOR
Peter Miller E-Mail: pmiller@opensource.org.au
/\/\* WWW: http://miller.emu.id.au/pmiller/
NEW IN THIS RELEASE
A number of features have been added to cook with this release. The
following list is only a summary; for excruciating detail, and also
acknowledgements of those who generously sent me feedback, please see
the etc/CHANGES.* files included in this distribution.
Version 2.33 (2009-Dec-20)
* The email address for the mailing list has changed. See README or
the web site for more information.
* There is a new file-size-statistics option, for hinky NFS server
update latency.
* A bug has been fixed in the ^C interrupt handler, it no longer
deadlocks causing the processes to hang.
* A bug in the architecture handling has been fixed.
* This a number of 64-bit build issues have been fixed.
* The exit status is no longer printed for silent (not echoed)
commands.
* The metering details are no longer printed for silent (not echoed)
commands.
* The progress stars can now be enabled using the "set star" statements
within a cookbook.
* A bug has been fixed in the [collect] and [collect_lines] built-in
functions. If a word (or line) was longer than 1024 bytes, a buffer
overrun occurred. A variable size buffer is now used.
* There is a new [strlen] built-in function, which may be used to
obtain the length of a string.
* A bug has been fixed in the [substitute] function, it no longer
infinite loops when the string to be replaced is the empty string.
Version 2.32 (2008-Jul-29)
* The [options] function now includes the -nic option.
* There is now documentation in the cook(1) man page for the cook
--page-width option.
Version 2.31 (2008-Feb-13)
* A build problem with the ./configure file has been fixed.
* There is a new "set no-ctime" flag, for coping with Aegis penchant
for making and breaking hard links.
* The LICENSE file has been updated to match the licensing of the
source code.
Version 2.30 (2007-Aug-21)
* Several build and portability problems have been fixed.
* Several typographical and spelling errors have been fixed in the User
Guide.
* The license has been changed to GNU GPL version 3.
Version 2.29 (2007-Jun-22)
* There is a new variable for specifying the granularity of the file
timestamps. Most POSIX systems will support a value of 1. Rather than
default to the worst case, the user can now specify the value in
seconds with a built-in cook variable.
* There is a new recipe option avaibale called symlink-ingredients that
has the effect of creating symbolic links for ingredients which are
present on the search path, but not in the first directory in the
search path. This option creates the necessary symbolic links. This
is for use with brain dead tools, like GNU Automake, which don't grok
search paths.
Version 2.28 (2007-Jun-5)
* The [print] function has been enhanced so that it is now able to
print more than one line, if you include a newline \n escape.
* A problem with the Makefile has been fixed.
* This change fixes a problem building the temp file name code which
uses sprintf(). Basically, the code now uses snprintf() which is better
and makes the problem go away.
Version 2.27 (2007-Mar-13)
* An ANSI C compiler is now required to build Cook.
* A bug has been fixed in the cook_bom command's -prefix and -suffix
options.
* The fingerprint code is now more robust when faced with file
modification time trickery by users.
* A few things have been improved for using Cook on Cygwin.
* The c_incl -r option now understands .PSPIC directives, as well as
.so directives.
Version 2.26 (2006-Jan-17)
* A number of build problems have been fixed.
* A bug has been fixed in the tell-position flag. It wasn't actually
giving the file name and line number when executing commands if you
used the "set tell-position" variants, only the -tell-position command
line option.
* The email address in the LSM file has been fixed,
* A bug has been fixed in the cook -fp-update command, it would
segfault in some cases.
* A bug has been fixed in the cookbook include file processing.
* A bug has been fixed in the negative flag setting (comamnd line
options and "set" clauses).
* The find_command command now copes better with directories it is not
allowed to access.
* A Java cookbook has been added to to the distribution.
* A bug has been fixed in the execution of some commands. If any words
of the command had spaces in them, it did not pass it to a shell to be
executed, but instead constructed a command of a different shape than
the user expected.
Version 2.25 (2004-Jun-10)
* The ./configure script now understands the --with-nlsdir option, used
to specify the install location of the .mo files.
* A bug has been fixed on Linux (and it only ever ocurred on Linux)
where cook would suddenly stop for no reason with exit status 1. Turns
out that sometimes fflush(stderr) returns an EAGAIN error.
* A bug has been fixed which caused the cook -script option to produce
invalid shell scripts when a recipe body contained no statements.
* A bug has been fixed in the graph file pair generation, used to
generate warnings about dangerous #include-cooked contents.
* The metering output now includes elapsed times and percentages.
* There is a new tell-position setting, so that when Cook prints a
command it is about to run, it includes the file name and line nunmber
of the command. This can be useful when debugging cookbooks.
* A bug has been fixed in the output line wrapping. Once again it
adapts to the window width.
Version 2.24 (2003-Jul-17)
* A major problem with parallel execution and hangs has been fixed.
The table indexed by process ID was now growing correctly.
* Some words have been added to the User Guide about the SHELL
environment variable, and the effects of errors in the .profile file.
* Building RPMs has been improved, and the spec file now uses more
modern RPM features.
* Building on Cygwin has been improved.
* Building on AIX has been improved.
Version 2.23 (2003-May-01)
* Build problem encountered using newer bersions of GNU Bison mave been
fixed.
* For Cook developers, there is now a .ae file on the web site.
* An error in the documentation of the errok flag has been fixed.
Version 2.22 (2003-Feb-28)
* A small problem with fingerprints has been fixed.
* A tutorial has been contributed.
* You can now have international characters in comments.
* A C++ cookbook has been added.
* A test failure on Cygwin has been fixed.
* The [read] and [read_lines] builtin functions have been added. See
the Reference Manual for more information.
Version 2.21 (2002-Aug-26)
* The c_incl(1) command now accepts the -stripdot and -nostripdot
options. These may be used to control the removal of redundant leading
dot directories.
* A bug has been fixed where cascade recipes failed to heed the
stripdot setting.
* There is a new [stripdot] function, so that you can strip leading dot
directories from file names within functions.
* A bug has been fixed in how the builtin functions which manipulate
build graphs were called. This fixed a problem with freeing a string
which had already been freed.
Version 2.20 (2002-Jun-06)
* There is a fix for the build problems caused by recent GNU Gettext
releases.
* The fingerprint handling is now more robust, particularly when faced
with files that move backwards in time.
* There is a fix for the build problems caused by recent Bison
releases.
Version 2.19 (2002-Feb-19)
* Some introduced with recent versions of GNU Bison have been fixed.
Bison's include file insulation didn't use YY in the insulating symbol
(just to be completely inconsistent) and in another case a namespace
clash occurred for a function name.
* The generated Makefile has been improved, along with other small
build and install improvements.
* A top-level fail statement how halts the parse as soon as it is
executed. This will make it more useful for checking build
environments.
* Documentation about cook_rsh(1) has been added to the Parallel
chapter of the User Guide.
Version 2.18 (2001-Oct-15)
* A bug has been fixed in the ingredients-fingerprint recipe attribute.
It was failing to save the fingerprint cache file in some cases, and
thus came to incorrect conclusions on following runs.
* The (exists) ingredients attribute has been fixed so that it no
longer implies behavious rimilar to set shallow.
* There is a new cook_rsh(1) program, for use with the host-binding
recipe attribute, which allows you to load balance builds across
classes of hosts. See cook_rsh(1) and the Parallel chapter of the User
Guide for more information.
* Some build problems have been fixed on various platforms.
* More keywords are now understood for M4 include directives.
Version 2.17 (2001-Apr-25)
* When using file fingerprints, the way the .cook.fp file is written
has been changed, so that the timestamp of the containing directory is
modified much less often. This is useul in combination with the
cook_bom(1) utility.
* A bug has been fixed under Cygwin, where archive members were not
being fingerprinted correctly.
* A bug has been fixed in the [quote] function. It now quotes all
sh(1), csh(1) and bash(1) special characters correctly.
* A bug has been fixed in the [uptodate] function. It now works as
advertised.
* There is a new ingredients-fingerprint recipe flag. This means that
you can now cause a recipe to re-trigger when the ingredients list
changes. This is especially useful when a library has a file removed.
* The dependency graph can now have the edge types specified. The
``weak'' edge type if useful for managing links, and the ``exists''
edge type is useful for managing version stamps. See the User Guide
for more information.
Version 2.16 (2000-Oct-25)
* The stringset function now accepts a `+' operator. While union is
implicit, the apparrently redundant `+' operator is useful for
cancelling the other operators.
* The ``reason and fingerprint bug'' has been fixed. This caused a
mysterious error message to appear sometimes when using the -reson
option incombination with fingerprints.
* The % and %n patterns are now allowed to match the empty string,
provided they aren't the first thing in the pattern (otherwise
undesirable absolute path problems can occur).
* The c_incl(1) command now accepts `-' as a file name on the command
line, meaning standard input.
* Some improvements have been made to the Cygwin support, extending the
``.exe'' automatic executable suffix coverage to a couple more places.
* A bug in the ``c'' cookbook has been fixed, which was getting .h
dependency files wrong.
Version 2.15 (2000-Apr-11)
* The C_incl(1) problem with absolute paths has been fixed.
* A bug has been fixed which caused problems on Solaris and SGI, where
Cook would report a No child processes error.
Version 2.12 (2000-Mar-28)
* The c_incl program now has a -quote-filenames option, which means
that you can have filenames with spaces and special characters in them.
* A bug in the c_incl program's path flattening has been fixed.
* A small Y2K bug has been fixed in the date parsing used by the
cooktime(1) command.
* A bug which caused the -parallel option to lose track of processes
when you used [execute] in a recipe body has been fixed.
* The restrictions on the placement of the placement of %0 in a pattern
have been dropped; too many people didn't like it. This does not break
any cookbooks.
* Cook now copes with the absence of the HOME environment variable.
This was a problem for CGI scripts.
Version 2.11 (1999-Nov-04)
* Numerous portability problems have been fixed in the configure and
build.
* A bug has been fixed which prevented Cook from working correctly when
run by some versions of cron(8) and at(1).
* There is a new cook_bom --ignore option, allowing you to nominate
file patterns that you don't want in the file lists.
* There is a new [__FUNCTION__] variable, which contains the name of
the executing function, which suppliments the existing [__FILE__] and
[__LINE__] variables.
* Functions now have local variables, just put the word local on the
left-hand-side of the first assignment. Local variables are reentrant
and thread-safe.
Version 2.10 (1999-Sep-06)
* The [print] and [write] functions now work more sensably with the
-SCript option.
* The fingerprint code has been improved. It now does considerably
fewer redundant fingeprint calculations, resulting is some very welcome
speed improvements.
* The behaviour of the remote shell invocation to cope with rshd at the
remote end failing to spawn a shell, and it copes with the default
shell at the remote end not being the Bourne shell.
* The -PARallel behaviour has been improved, so that it now looks for
child process who have finished more than it looks for recipes to run.
This doesn't change the semantics any, but it matches user expectations
far better (and results in shorter-lived zombie processes).
* The set meter recipe flag works once more. (It stopped working when
the parallel modifications were made, and mysteriously forgotten until
now.)
* There are some changes made to the fingerprinting code to detect when
files under ClearCase move backwards in time (because the underlying
file version is ``uncovered'') meaning that the derived (object) files
need to be rebuilt.
* There is a new [mtime-seconds] function, similar to the [mtime]
function, except that it returns seconds since the epoch, rather than a
human readable date. More useful to handing to [expr].
* A bug has been fixed on SGI IRIX which failed to cope with not being
able to create directories because they already exist.
* Ingredient recipes (ones with no body) may now have a double colon
rather than a single colon, even when there is more than on target
specified. Some users may find this a more natural syntax for
ingredients recipes.
* The [expr] function now reports an error when given a number too big
to represent, rather than quietly returning wrong answers. The range
of representable values depends on your system.
* Cook now works with GNU Regex correctly on Windows-NT.
Version 2.9 (1999-May-27)
* There is a new ``for each'' style looping construct. See the User
Guide for more information.
* It is now possible to use regular expression patterns, instead of
Cook's native patterns. You can set this for a whole cookbook or
individual recipes. The default is to use Cook's native patterns. See
the File Name Patterns chapter of the User Guide for more information.
* A bug which caused host-binding and single-thread to core dump has
been fixed.
* All text file input now copes with CRLF sequences, so mixing NT and
Unix builds on the one file server no longer creates problems.
* Fingerprints are now cached per-directory, rather than one huge file
for an entire directory tree. This is more useful in recursive build
and [search_list] situations.
* The [cando], [cook] and [uptodate] functions now return lists of
successful files, rather than a simple true/false result.
* The [in] and [matches] functions now return the list index (1 based)
of the matching word. See the User Guide for more information.
* There is a new cook -web option, to print a HTML web page on the
standard output, representing the dependency graph. This is useful in
documenting the build process, or debugging cookbooks.
* There is a new cook --fingerprint-update option which scans the
directory tree below the current directory and updates the file
fingerprints. This helps when you use another tool (such as RCS or
ClearCase) which alters the file but preserves the file's modification
time.
* There is a new [write] function for writing text files. This is
useful for coping with Windows-NT's absurdly short command lines.
Version 2.8 (1999-Feb-01)
* The remote host-binding code has been improved to cope with
staggeringly long commands (which tended to make rsh(1) barf), and also
wierd and wonderfull $SHELL settings.
* The #include directive now accepts more than one file, to be more
symmetric with the #include-cooked directive.
* A bug has been fixed where cooktime gave an incorrect error message
if setting the file's utimes failed.
* The configure script has been improved for use on non-UNIX systems.
* There is a new builtin [cook] function, a natural companion for the
[cando] and [uptodate] functions. See the Cook User Guide for more
information.
Version 2.7 (1998-Dec-30)
* There is a new cook_bom(1) command (Bill Of Materials). This may be
used to efficiently scan a directory tree for files, so that
ingredients lists may be produced automatically. See cook_bom(1) for
more information.
* There is a new assign-append statement, so you can now use += to
append to the value of a variable. See the User Guide for more
information.
* There is a new gate-first recipe flag, which causes the recipe gate
to be evaluated before the ingredients are derived, rather than after.
* The c_incl(1) command has a new --interior-files option, so you can
tell it about include files that don't exist yet. This is helpful when
they are generated, i.e. they are interior files of the dependency
graph, hence the option name.
* There is a new [interior-files] function, which returns the files
interior to the dependency graph (constructed by a recipe), and a
complementatry [leaf-files] function, which returns the leaf files of
the dependency graph (not constructed by any recipe).
* There is a new ``no-include-cooked-warning'' flag, if you want to
suppress the warnings about derived file dependencies in include-cooked
files.
* There is a new relative_dirname built-in function, similar to the
existing dirname function, but it returns ``.'' for files with no
directory part, rather than the absolute path of the current directory.
Version 2.6 (1998-Nov-09)
* Cook has been ported to Windows-NT using CygWin32. See the BUILDING
file for details.
* There are two new functions (dos-path and un-dos-path) for use when
invoking non-CygWin32 WindowsNT programs. See the Cook User Guide for
more information.
* Fingerprints now work meaningfully with directories.
* A bug has been fixed in the pattern matching code. It would
sometimes cause core dumps.
* A bug involving fingerprints in combination with the search_list has
been fixed. Cook would occasionally conclude that a shallow target was
up-to-date when a shallow ingredient was edited to be the same as a
deeper ingredient.
* A bug has been fixed in cooktime. It would use an inappropriate
timezone offset on some systems.
Release 2.5 (1998-Sep-02)
* A problem which caused some tests to fail on Solaris' tmpfs now has a
work-around.
* The ``setenv'' statement has finally been documented. It's been in
the code tfor years, but I could never figure out why folks weren't
using it!
* A number of build problems on various systems have been fixed.
Release 2.4 (1998-Jul-21)
* There is a new form of dependencies. Known as cascaded dependencies,
they allow the user to associate additional dependencies with an
ingredient. For example, a C source file can be associated with
cascaded include dependencies. This means that all files which depend
on the C source file, also depend on the included files. The Cook
Reference Manual has been updated to include this new functionality.
* There is a new section of the Cook Reference Manual giving
suggestions and a template for building large projects.
* There is a new [expr] function, to calculate simple arithmetic
expressions. See the User Guide for more information.
* There is a new c_incl -no-recursion option, to prevent scanning
nested includes. This is of most use when combined with the new
cascade dependencies.
* There is a new [exists-symlink] function, which may be used to test
for the existence of symlinks. The [exists] function follows symbolic
links, and is not useful when manipulating the links themselves.
Release 2.3 (1998-May-20)
* There are 6 new special variables: graph_leaf_file,
graph_leaf_pattern, graph_interior_file, graph_interior_pattern,
graph_exterior_file and graph_exterior_pattern. These variables may be
used to define the leaves of the derivation graph (the accept forms),
and non-leave of the graph (the reject forms). This can make the graph
derivation faster, and greatly improves some error messages. This
functionality is of most use when you have an exact source file
manifest, e.g. from a software configuration management system. See
the User Guide for more information.
* The %0 pattern element has been extended to permit the matching of
absolute paths.
Release 2.2.2 (1997-Dec-10)
* There is a new statement type, allowing functions to be invoked as
subroutines in any place where a command may be invoked. See the User
Guide for more information.
* A number of problems with installing Cook have been fixed. This
includes changing -mgm to -mm for the documnetation formatting, and
missing include dependencies and missing rules for installing the man
pages.
* There is a new ``print'' builtin function. When combined with the
new function call statement, this provides a way of printing
information without invoking ``echo''. See the User Guide for more
information.
* Cook now defaults the language to ``en'' internally if neoither the
LANG nor LANGUAGE environment variable was set. This gives better
error messages.
Release 2.2.1 (1997-Nov-04)
* A bug was fixed where a recipe would fail to trigger if some, but not
all, of its targets were not present, but the existing targets were up-
to-date. This bug was introduced in the inference engine re-write.
Release 2.2 (1997-Oct-31)
* The c_incl utility has had two new languages added. It now
understands M4, and also has an ``optimistic'' language which can scan
many assemblers and even some high-level languages. See c_incl(1) for
more information.
* The c_incl utility also has a new --no-absolute-path option, to
supress scanning and reporting of such files. See c_incl(1) for more
information.
* There is a new warning added for dependencies on derived ingredients
when this information resides solely in derived cookbooks included
using the #include-cooked facility. This assists in detecting problems
which may preclude a successful ``clean'' build.
* This release adds a number of cookbook functions to the distrubuted
cookbooks. These may be used by adding a
#include "functions"
line to your cookbook. See the Cook User Guide for more information.
* This release fixes a bug where the graph walking phase ignored
interrupts until something went wrong.
* This release fixes a bug where make2cook did not correctly translate
``%'' into sematicly equivalent Cook constructs.
Release 2.1 (1997-Oct-12)
* It is possible to specify that a command is to be executed on a
specific machine or machines. This can be useful for restrictively
licensed third party software tools.
* The parallel functionality has been extended to implement a virtual
parallel machine on a LAN.
* Fingerprinting has been enhanced to be more informative, and to
adjust file modification times so that subsequest fingerprint-less runs
will not find too much to do.
* The #line directive is now available, for better diagnostics of
generated cookbooks. The __FILE__ and __LINE__ variable are also
available.
* There is now a thread-id variable, to obtain a thread-unique value
for use in generating temporary file names or variable names, etc,
which are unique to a thread.
* Added the wordlist function and the command-line-goals variable for
compatibility with GNU Make. Updated make2cook to understand them.
Release 2.0.1
* An install problem in the generated Makefile, to do with the the
manuals, has been fixed.
Release 2.0 (1997-Sep-11)
Version 2.26 (17-Jan-2005)
Development of this release was generously supported by Endocardial
Solutions, Inc.
* Parallel execution is now supported. If you have a multi-processor
machine, you can specify the number of parallel processing threads with
the -PARallel command line option, or via the [parallel_jobs] variable.
By using the [os node] function, the [parallel_jobs] variable can be
set appropriately for the host machine automatically by the cookbook.
There is a new single-thread keyword to support single threading
recipes which cannot be paralleized.
* The dependency graph is now constructed differently. This gives
exactly the same results, but the order of evaluation of recipes is a
little more random. This different graph construction is able to give
better error messages, better -Reason information, and allows the
introduction of parallel recipe evaluation if you have a multi-
processor computer.
* Recipes which use c_incl(1) to calculate their dependencies in the
ingredients section will need a small modification - they will need to
use the --Absent-Program-Ignore option. See the User Guide for more
information.
* You can now print pair-wise file dependencies by using the -PAirs
option.
* You can now print a shell script which approximates the actions cook
would take when building the targets by using the -SCript option.
* There is a new ``shallow'' recipe flag, allowing you to specify that
the targets of a recipe are required to be in the top-level directory,
not further down the search_list path.
* You may now define user-written functions in the cookbook to
supplement the built-in functions. Your functions will be called in
the same manner as built-in functions. There are new function and
return keywords to support definition of functions.
* The progress indicators produced by the -STar option now have more
detail: + means that the cook book is being read, * means that the
graph is being constructed, and # means that the graph is being walked.
Release 1.11 (1997-Jun-14)
* Fixed a bug in the pattern matching which caused %0 (when not at the
start of the pattern) to fail to match the empty string.
* The install locations have been changed slightly to conform better to
the GNU filesystem standards, and to take advantage of the additional
install location options of the configure scripts generated by GNU
Autoconf.
Release 1.10
* Error messages have been internationalized. It is now possible to
get error messages in your native language, if it is supported.
* The cook command now accepts a -no-include-cooked option, to disable
any cooking of the #include-cooked files.
* The cook -TRace option has been renamed -Reason. This is thought to
more accurately reflect what it does.
* The cook -Reason output has been changed to cite cookbook file names
and line numbers, in order to be more useful. In addition, more reason
messages carry location information.
Release 1.9
* There are new ``f77'' and ``g77'' cookbooks, to allow Fortran
sources, in addition to C sources.
* There is a new [options] function, which expands to the current
settings of the command line options. This is useful for recursive
cook directory structures. See the Reference Manual for more
information.
* There is a new ``recursive'' cookbook, to assist in constructing
recursive cook structures.
* The find_libs program now understands about shared libraries.
* A bug which made the builtin [glob] function far to generous has been
corrected.
* A bug which caused some expression evaluation errors to be ignored
has been corrected.
* The ``set update'' flag has been re-named the ``set time-adjust''
flag, to more closely describe what it does. The old name will
continue to work indefinitely.
* There is a new ``set time-adjust-back'' flag, which sets recipe
target times to be exactly one (1) second younger than the youngest
ingredient. This is usually an adjustment into the recent past.
Release 1.8
* The fingerprint code has been improved to work better with the
search_list functionality.
* The diagnostics have been improved when cook ``don't know how''. A
list of attempted ingredients is included in the error message.
* There is a new mkdir recipe flag. This creates recipe target
directories before the recipe body is run. See the Reference Manual
for more information.
* There is a new unlink recipe flag. This unlinks recipe targets
before the recipe body is run. See the Reference Manual for more
information.
* There is a new recurse recipe flag. This overrides the infinite loop
recipe heuristic, allowing recipes to recuse upon themselves if one of
their ingredients matches one of their targets. See the Reference
Manual for more information.
Release 1.7
* The AIX code to handle archive files has been fixed.
* The fingerprint code now works on 64-bit systems.
Release 1.6
* Fixed a bug in the leading-dot removal code, and added an option to
make it user-settable. Fixed a bug in the search_path depth code.
Release 1.5
* The c_incl program now correctly prints the names of absent include
files, causing them to be cooked correctly in a greater number of
cases.
* Recipes with no ingredients are now only applied if the target is
absent. To still use the previous behaviour, use the "set force"
clause on the recipe.
* It is now possible to supplement the last-modified time with a
fingerprint, so cook does even fewer unnecesary recompilations than
before. Put the statement
set fingerprint;
somewhere near the top of your Howto.cook file for this to be the
default for your project.
* There is a new form of include directive:
#include-cooked filename...
When files are included in this way, cook will check to make sure they
are up-to-date. If not, they will be cooked, and then cook will start
again and re-read the cookbook. This is most often used for
maintaining include-dependency files.
* Cook now configured using a program called configure, distributed
with the package. The configure program is generated by GNU Autoconf.
See the BUILDING file for more details.
* The semantics of search_list have been improved. It is now
guaranteed that when ingredients change they result in targets earlier
in the search_list being updated.
* There is now a make2cook translator, to translate Makefile files into
Howto.cook files. Most of the GNU Make extensions are understood.
There is no exact semantic mapping between make and cook, so manual
editing is sometimes required. See make2cook(1) for more information.
* Cook now understands archive member references, in the same format as
used by make, et al. Archive member references benefit from stat
caching and fingerprinting, just as normal files do.
Release 1.4
* The cook program is now known to work on more systems. Most changes
were aimed at improving portability, or avoiding problems specific to
some systems.
* The GNU long option name convention is now understood. Option names
for cook were always long, so this mostly consists of ignoring the
extra leading '-'. The "--foo=bar" convention is also understood for
options with arguments.
* Tests which fail now tell you what it was they were testing for.
This will give the user some idea of what is happening.
Reference Manual Cook Read Me(Cook)
cook-2.33/BUILDING 644 0 0 53455 11313350040 12751 0 ustar Peter Miller 0 0 Build(Cook) Build(Cook)
NAME
cook - a file construction tool
SPACE REQUIREMENTS
You will need about 5MB to unpack and build the Cook package. Your
mileage may vary.
BEFORE YOU START
There are a few pieces of software you may want to fetch and install
before you proceed with your installation of Cook.
Please note: if you install these packages into /usr/local (for
example) you must ensure that the ./configure script is told to also
look in /usr/local/include for include files (CFLAGS), and
/usr/local/lib for library files (LDFLAGS). Otherwise the ./configure
script will incorrectly conclude that they have not been installed.
ANSI C compiler
You will need an ANSI C compiler to be able to compile cook.
If you don't have one, you may wish to consider installing the
GNU C compiler, it's free.
GNU Gettext
The Cook package has been internationalized. It can now print
error messages in any of the supported languages. In order to
do this, the GNU Gettext package must be installed before you
run the configure script as detailed in the next section.
This is because the configure script looks for it. On systems
which use the GNU C library, version 2.0 or later, there is no
need to explicitly do this as GNU Gettext is included.
Remember to use the GNU Gettext configure --with-gnu-gettext
option if your system has native gettext tools.
GNU rx
Cook needs regular expressions to operate correctly. Get a
copy from your nearest GNU mirror. On systems which use the
GNU C library, version 2.0 or later, there is no need to
explicitly do this as GNU rx is included.
GNU Groff
The documentation for the Cook package was prepared using the
GNU Groff package. This distribution includes full
documentation, which may be processed into PostScript or DVI
files at install time - if GNU Groff has been installed. You
must use GNU Groff version 1.15 or later.
On Solaris, you may need to edit the Makefile to change the
groff -man and -mm options to -mgan and -mgm instead.
Bison If your operating system does not have a native yacc(1) you
will need to fetch and install GNU Bison in order to build the
Cook package.
GCC You may also want to consider fetching and installing the GNU
C Compiler if you have not done so already. This is not
essential.
The GNU FTP archives may be found at ftp.gnu.org, and are mirrored
around the world.
SITE CONFIGURATION
The Cook package is configured using the configure program included in
this distribution.
The configure shell script attempts to guess correct values for
various system-dependent variables used during compilation, and
creates the Makefile and common/config.h files. It also creates a
shell script config.status that you can run in the future to recreate
the current configuration.
Normally, you just cd to the directory containing Cook's source code
and type
% ./configure
...lots of output...
%
If you're using csh on an old version of System V, you might need to
type
% sh configure
...lots of output...
%
instead to prevent csh from trying to execute configure itself.
Running configure takes a minute or two. While it is running, it
prints some messages that tell what it is doing. If you don't want to
see the messages, run configure using the quiet option; for example,
% ./configure --quiet
%
There is a known problem with GCC 2.8.3 and HP/UX. You will need to
set CFLAGS = -O in the generated Makefile. (The configure script sets
it to CFLAGS = -O2.) This is because the code optimization breaks the
fingerprints. If test 46 fails (see below) this is probably the
reason.
To compile the Cook package in a different directory from the one
containing the source code, you must use a version of make that
supports the VPATH variable, such as GNU make. cd to the directory
where you want the object files and executables to go and run the
configure script. configure automatically checks for the source code
in the directory that configure is in and in .. (the parent
directory). If for some reason configure is not in the source code
directory that you are configuring, then it will report that it can't
find the source code. In that case, run configure with the option
--srcdir=DIR, where DIR is the directory that contains the source
code.
By default, configure will arrange for the make install command to
install the Cook package's files in /usr/local/bin, /usr/local/lib,
/usr/local/share and /usr/local/man. There are a number of options
which allow you to control the placement of these files.
--prefix=PATH
This specifies the path prefix to be used in the installation.
Defaults to /usr/local unless otherwise specified.
--exec-prefix=PATH
You can specify separate installation prefixes for
architecture-specific files files. Defaults to ${prefix}
unless otherwise specified.
--bindir=PATH
This directory contains executable programs. On a network,
this directory may be shared between machines with identical
hardware and operating systems; it may be mounted read-only.
Defaults to ${exec_prefix}/bin unless otherwise specified.
--datadir=PATH
This directory contains installed data, such as the
documentation and cookbooks distributed with Cook. On a
network, this directory may be shared between all machines; it
may be mounted read-only. Defaults to ${prefix}/share/cook
unless otherwise specified. A ``cook'' directory will be
appended if there is none in the specified path.
--libdir=PATH
This directory contains installed data. On a network, this
directory may be shared between machines with identical
hardware and operating systems; it may be mounted read-only.
Defaults to ${exec_prefix}/lib/cook unless otherwise
specified. A ``cook'' directory will be appended if there is
none in the specified path.
--mandir=PATH
This directory contains the on-line manual entries. On a
network, this directory may be shared between all machines; it
may be mounted read-only. Defaults to ${prefix}/man unless
otherwise specified.
--with-nlsdir=PATH
This directory contains the install error message catalogues.
On a network, this directory may be shared between machines
with identical hardware and operating systems; it may be
mounted read-only. Defaults to --libdir unless otherwise
specified.
configure ignores most other arguments that you give it; use the
--help option for a complete list.
On systems that require unusual options for compilation or linking
that the Cook package's configure script does not know about, you can
give configure initial values for variables by setting them in the
environment. In Bourne-compatible shells, you can do that on the
command line like this:
$ CC='gcc -traditional' LIBS=-lposix ./configure
...lots of output...
$
Here are the make variables that you might want to override with
environment variables when running configure.
Variable: CC
C compiler program. The default is cc.
Variable: CPPFLAGS
Preprocessor flags, commonly defines and include search paths.
Defaults to empty. It is common to use
CFLAGS=-I/usr/local/include to access other installed
packages.
Variable: INSTALL
Program to use to install files. The default is install if
you have it, cp otherwise.
Variable: LIBS
Libraries to link with, in the form -lfoo -lbar. The
configure script will append to this, rather than replace it.
It is common to use LIBS=-L/usr/local/lib to access other
installed packages.
Variable: NLSDIR
Similar to the --with-nlsdir option.
If you need to do unusual things to compile the package, the author
encourages you to figure out how configure could check whether to do
them, and mail diffs or instructions to the author so that they can be
included in the next release.
BUILDING COOK
All you should need to do is use the
% make
...lots of output...
%
command and wait. When this finishes you should see a directory
called bin containing nine files: c_incl, cook, cookfp, cooktime,
find_libs, make2cook and roffpp.
cook cook program is a file construction tool, and may invoke the
following tools in some of its recipes.
cookfp The cookfp program is a utility distributed with Cook which
calculates the fingerprints of files. It uses the same
algorithm as the fingerprints used by cook itself. For more
information, see cook(1) and cookfp(1).
cooktime
The cooktime program is a utility distributed with Cook which
allows the time-last-modified and time-last-accessed stamps of
files to be set to specific times. For more information, see
cooktime(1).
c_incl The c_incl program is a utility distributed with Cook which
examines C files and determines all the files it includes
directly and indirectly. For more information, see c_incl(1).
find_libs
The find_libs program is a utility distributed with Cook which
tracks down the names of library files, given cc-style library
options (-L and -l). For more information, see find_libs(1).
make2cook
The make2cook program is a utility to help convert Makefiles
into cookbooks. An exact 1:1 semantic mapping is not
possible, so some addition editing is often required.
roffpp The roffpp program is a utility distributed with Cook which
acts as a preprocessor for *roff files, removing source (.so)
directives. It accepts include search path command line
options just as /lib/cpp does. For more information, see
roffpp(1).
You can remove the program binaries and object files from the source
directory by using the
% make clean
...lots of output...
%
command. To remove all of the above files, and also remove the
Makefile and common/config.h and config.status files, use the
% make distclean
...lots of output...
%
command.
The file etc/configure.in is used to create configure by a GNU program
called autoconf. You only need to know this if you want to regenerate
configure using a newer version of autoconf.
TESTING COOK
The Cook program comes with a test suite. To run this test suite, use
the command
% make sure
...lots of output...
Passed All Tests
%
The tests take a few seconds each, with a few very fast, and a couple
very slow, but it varies greatly depending on your CPU.
If all went well, the message
Passed All Tests
should appear at the end of the make.
Known Problems
If test 46 fails, this is often caused by optimization bugs in gcc.
Edit the Makefile to change -O2 to -O, and delete common/fp/*.o to
cause them to be re-built. Make and test again.
If you are using Sun's tmpfs file system as your /tmp directory, some
tests will fail. This is because the tmpfs file system does not
support file locking. Set the COOK_TMP environment variable to
somewhere else before running the tests. Something like
% setenv COOK_TMP /usr/tmp
%
is usually sufficient if you are using C shell, or
$ COOK_TMP=/usr/tmp
$ export COOK_TMP
$
if you are using Bourne shell. Remember, this must be done before
running the tests.
Tests 121 and 122 can sometimes have problems on Solaris, where they
give false negatives. If you work out why, please let the author
know.
INSTALLING COOK
As explained in the SITE CONFIGURATION section, above, the Cook
package is installed under the /usr/local tree by default. Use the
--prefix=PATH option to configure if you want some other path. More
specific installation locations are assignable, use the --help option
to configure for details.
All that is required to install the Cook package is to use the
% make install
...lots of output...
%
command. Control of the directories used may be found in the first
few lines of the Makefile file and the other files written by the
configure script; it is best to reconfigure using the configure
script, rather than attempting to do this by hand.
PRINTED MANUALS
The easiest way to get copies of the manuals is to get the
cook.2.33.rm.ps.gz and cook.2.33.ug.ps.gz files from the archive site.
These are compressed PostScript files of the Reference Manual and User
Guide, respectively. The Reference Manual (about 36 pages) contains
the README file, the BUILDING file and internationalization notes, as
well as all of the manual pages for all of the commands. The User
Guide (about 56 pages) tells you how to use the Cook package.
This distribution contains the sources to all of the documentation for
Cook. The author used the GNU groff package and a postscript printer
to prepare the documentation. If you do not have this software, you
will need to substitute commands appropriate to your site.
If you have the GNU Groff package installed before you run the
configure script, the Makefile will contain instructions for
constructing the documentation. If you already used the make command,
above, this has already been done. The following command
% make groff_all
...lots of output...
%
can be used to do this explicitly, if you managed to get to this point
without doing it. Please note that there may be some warnings from
groff, particularly for the .txt files; this is normal.
Once the documents have been formatted, you only need to print them.
The following command
% lpr lib/en/refman.ps lib/en/user-guide.ps
%
will print the English PostScript version of the Reference Manual and
the User Guide. Watch the make output to see what other versions are
available.
GETTING HELP
If you need assistance with the Cook program, please do not hesitate
to contact the author at
Peter Miller
Any and all feedback is welcome.
When reporting problems, please include the version number given by
the
% cook -version
cook version 2.33.D001
...warranty disclaimer...
%
command. Please do not send this example; run the program for the
exact version number.
In the common/main.h file, there is a define of DEBUG in comments. If
the comments are removed, extensive debugging is turned on. This
causes some performance loss, but performs much run-time checking and
adds the -TRACIng command line option.
When the -TRACing option is followed by one or more file names, it
turns on execution traces in those source files. It is best to put
this option on the end of the command, so that the names of the files
to be traced are not confused with any other filenames or strings on
the command line.
WINDOWS-NT
It is possible to build Cook for Windows-NT. I have done this using
the Cygnus freeware CygWin32 system, and I believe it has also once
been done using the commercial NutCracker system. This document only
describes the CygWin32 port.
The Source
You need to FTP the CygWin32 system from Cygnus. It can be found at
http://sourceware.cygnus.com/cygwin/
and then follow the links. The version I used was B20.1.
Mounting Things
You need to mount a directory onto /tmp, or lots of things, and
especially bash(1), don't work. If you are in a heavily networked
environment, like me, you need to know that using a networked drive
for /tmp just doesn't work. I have no idea why. Use
mount C:/temp /tmp
instead. (Or some other local drive.)
Just a tip for all of you who, like me, know UNIX much better than you
know Windows-NT: the left-hand mount argument needs to be specified
with a drive letter (e.g. C:) rather than with a double slash (e.g.
not //C) unless its Windows-NT name starts with \\.
You need to mount the Cygnus bin directory at /bin, otherwise shell
scripts that start with #!/bin/sh don't work, among other things.
This includes the ./configure script, and the scripts it writes (e.g.
config.status).
mount Cygnus-Dir/H-i386-cygwin/bin /bin
You will want to mount your various network drives onto the same
places they appear on your UNIX hosts. This means that your cookbooks
will work without change, even if they contain absolute paths. And
your users don't need to learn two names for all the source files.
Don't forget your home directory. The trick is to set HOME in the
cygnus.bat file, before bash starts. (How you do this with one batch
file and multiple users I haven't yet figured out.)
You also need to set the LOGNAME and USER environment variables
appropriately, or test 14 will fail.
Mounts persist across Cygwin sessions. They are stored in a registry
file somewhere. You will not need to do all this every time!
Configure
The configure and build step should be the same as for UNIX, as
described above. All the problems I encountered were to do with
getting the mounts just right. (But expect it to be dog slow compared
to Linux or FreeBSD on the same box.)
The configure step is almost the same as for UNIX. I know you are
itching to get typing, but read through to the install section before
you configure anything.
bash$ ./configure
...lots of output...
bash$
Build
The build step is exactly the same as for UNIX, and you shouldn't
notice any difference...
bash$ make
...lots of output...
bash$
Test
All of the tests should pass, you only need to run them to convince
yourself the build worked... (a constant surprise to me, I must say!)
bash$ make sure
...lots of output...
Passed All Tests
bash$
If test 12 fails, it probably means you don't have /bin right.
Install
Installing the software works as usual, though you need to make some
choices right at the start (I told you to read this all the way
through first). If you want to use the ``/usr/local'' prefix (or any
other install prefix) you mount it right at the start. For anything
other than the ``/usr/local'' default prefix, you also needed to give
a ``--prefix=blahblah'' argument to the configure script, right at the
start.
bash$ make install
...lots of output...
bash$
COPYRIGHT
cook version 2.33
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009 Peter Miller
The Cook package 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.
It should be in the LICENSE file included with this distribution.
AUTHOR
Peter Miller E-Mail: pmiller@opensource.org.au
/\/\* WWW: http://miller.emu.id.au/pmiller/
Reference Manual Cook Build(Cook)
cook-2.33/LICENSE 644 0 0 116246 11313350040 12654 0 ustar Peter Miller 0 0 GPL(GNU) Free Software Foundation GPL(GNU)
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software
and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program -- to make sure it remains
free software for all its users. We, the Free Software Foundation, use
the GNU General Public License for most of our software; it applies
also to any other work released this way by its authors. You can apply
it to your programs, too.
When we speak of free software, we are referring to freedom, not price.
Our General Public Licenses are designed to make sure that you have the
freedom to distribute copies of free software (and charge for them if
you wish), that you receive source code or can get it if you want it,
that you can change the software or use pieces of it in new free pro-
grams, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you
have certain responsibilities if you distribute copies of the software,
or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis
or for a fee, you must pass on to the recipients the same freedoms that
you received. You must make sure that they, too, receive or can get
the source code. And you must show them these terms so they know their
rights.
Developers that use the GNU GPL protect your rights with two steps: (1)
assert copyright on the software, and (2) offer you this License giving
you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run modi-
fied versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of protect-
ing users' freedom to change the software. The systematic pattern of
such abuse occurs in the area of products for individuals to use, which
is precisely where it is most unacceptable. Therefore, we have
designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future ver-
sions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modifi-
cation follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and "recip-
ients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of
an exact copy. The resulting work is called a "modified version" of
the earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based on
the Program.
To "propagate" a work means to do anything with it that, without per-
mission, would make you directly or secondarily liable for infringement
under applicable copyright law, except executing it on a computer or
modifying a private copy. Propagation includes copying, distribution
(with or without modification), making available to the public, and in
some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user
through a computer network, with no transfer of a copy, is not convey-
ing.
An interactive user interface displays "Appropriate Legal Notices" to
the extent that it includes a convenient and prominently visible fea-
ture that (1) displays an appropriate copyright notice, and (2) tells
the user that there is no warranty for the work (except to the extent
that warranties are provided), that licensees may convey the work under
this License, and how to view a copy of this License. If the interface
presents a list of user commands or options, such as a menu, a promi-
nent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work for
making modifications to it. "Object code" means any non-source form of
a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that is
widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major Compo-
nent, and (b) serves only to enable use of the work with that Major
Component, or to implement a Standard Interface for which an implemen-
tation is available to the public in source code form. A "Major Compo-
nent", in this context, means a major essential component (kernel, win-
dow system, and so on) of the specific operating system (if any) on
which the executable work runs, or a compiler used to produce the work,
or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the
source code needed to generate, install, and (for an executable work)
run the object code and to modify the work, including scripts to con-
trol those activities. However, it does not include the work's System
Libraries, or general-purpose tools or generally available free pro-
grams which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users can
regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same
work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copy-
right on the Program, and are irrevocable provided the stated condi-
tions are met. This License explicitly affirms your unlimited permis-
sion to run the unmodified Program. The output from running a covered
work is covered by this License only if the output, given its content,
constitutes a covered work. This License acknowledges your rights of
fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey,
without conditions so long as your license otherwise remains in force.
You may convey covered works to others for the sole purpose of having
them make modifications exclusively for you, or provide you with facil-
ities for running those works, provided that you comply with the terms
of this License in conveying all material for which you do not control
copyright. Those thus making or running the covered works for you must
do so exclusively on your behalf, under your direction and control, on
terms that prohibit them from making any copies of your copyrighted
material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the
conditions stated below. Sublicensing is not allowed; section 10 makes
it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological mea-
sure under any applicable law fulfilling obligations under article 11
of the WIPO copyright treaty adopted on 20 December 1996, or similar
laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumven-
tion is effected by exercising rights under this License with respect
to the covered work, and you disclaim any intention to limit operation
or modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and appro-
priately publish on each copy an appropriate copyright notice; keep
intact all notices stating that this License and any non-permissive
terms added in accord with section 7 apply to the code; keep intact all
notices of the absence of any warranty; and give all recipients a copy
of this License along with the Program.
You may charge any price or no price for each copy that you convey, and
you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the terms
of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it,
and giving a relevant date.
b) The work must carry prominent notices stating that it is released
under this License and any conditions added under section 7. This
requirement modifies the requirement in section 4 to "keep intact
all notices".
c) You must license the entire work, as a whole, under this License to
anyone who comes into possession of a copy. This License will
therefore apply, along with any applicable section 7 additional
terms, to the whole of the work, and all its parts, regardless of
how they are packaged. This License gives no permission to license
the work in any other way, but it does not invalidate such permis-
sion if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your work
need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program, in
or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not used
to limit the access or legal rights of the compilation's users beyond
what the individual works permit. Inclusion of a covered work in an
aggregate does not cause this License to apply to the other parts of
the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of
sections 4 and 5, provided that you also convey the machine-readable
Corresponding Source under the terms of this License, in one of these
ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the Cor-
responding Source fixed on a durable physical medium customarily
used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a writ-
ten offer, valid for at least three years and valid for as long as
you offer spare parts or customer support for that product model,
to give anyone who possesses the object code either (1) a copy of
the Corresponding Source for all the software in the product that
is covered by this License, on a durable physical medium customar-
ily used for software interchange, for a price no more than your
reasonable cost of physically performing this conveying of source,
or (2) access to copy the Corresponding Source from a network
server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This alterna-
tive is allowed only occasionally and noncommercially, and only if
you received the object code with such an offer, in accord with
subsection 6b.
d) Convey the object code by offering access from a designated place
(gratis or for a charge), and offer equivalent access to the Corre-
sponding Source in the same way through the same place at no fur-
ther charge. You need not require recipients to copy the Corre-
sponding Source along with the object code. If the place to copy
the object code is a network server, the Corresponding Source may
be on a different server (operated by you or a third party) that
supports equivalent copying facilities, provided you maintain clear
directions next to the object code saying where to find the Corre-
sponding Source. Regardless of what server hosts the Corresponding
Source, you remain obligated to ensure that it is available for as
long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be included
in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorpora-
tion into a dwelling. In determining whether a product is a consumer
product, doubtful cases shall be resolved in favor of coverage. For a
particular product received by a particular user, "normally used"
refers to a typical or common use of that class of product, regardless
of the status of the particular user or of the way in which the partic-
ular user actually uses, or expects or is expected to use, the product.
A product is a consumer product regardless of whether the product has
substantial commercial, industrial or non-consumer uses, unless such
uses represent the only significant mode of use of the product.
"Installation Information" for a User Product means any methods, proce-
dures, authorization keys, or other information required to install and
execute modified versions of a covered work in that User Product from a
modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because modifi-
cation has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied by
the Installation Information. But this requirement does not apply if
neither you nor any third party retains the ability to install modified
object code on the User Product (for example, the work has been
installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or
updates for a work that has been modified or installed by the recipi-
ent, or for the User Product in which it has been modified or
installed. Access to a network may be denied when the modification
itself materially and adversely affects the operation of the network or
violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly docu-
mented (and with an implementation available to the public in source
code form), and must require no special password or key for unpacking,
reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions. Addi-
tional permissions that are applicable to the entire Program shall be
treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove
any additional permissions from that copy, or from any part of it.
(Additional permissions may be written to require their own removal in
certain cases when you modify the work.) You may place additional per-
missions on material, added by you to a covered work, for which you
have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders
of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in rea-
sonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some trade
names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material
by anyone who conveys the material (or modified versions of it)
with contractual assumptions of liability to the recipient, for any
liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further restric-
tion, you may remove that term. If a license document contains a fur-
ther restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the additional
terms that apply to those files, or a notice indicating where to find
the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions; the
above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly pro-
vided under this License. Any attempt otherwise to propagate or modify
it is void, and will automatically terminate your rights under this
License (including any patent licenses granted under the third para-
graph of section 11).
However, if you cease all violation of this License, then your license
from a particular copyright holder is reinstated (a) provisionally,
unless and until the copyright holder explicitly and finally terminates
your license, and (b) permanently, if the copyright holder fails to
notify you of the violation by some reasonable means prior to 60 days
after the cessation.
Moreover, your license from a particular copyright holder is reinstated
permanently if the copyright holder notifies you of the violation by
some reasonable means, this is the first time you have received notice
of violation of this License (for any work) from that copyright holder,
and you cure the violation prior to 30 days after your receipt of the
notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run
a copy of the Program. Ancillary propagation of a covered work occur-
ring solely as a consequence of using peer-to-peer transmission to
receive a copy likewise does not require acceptance. However, nothing
other than this License grants you permission to propagate or modify
any covered work. These actions infringe copyright if you do not
accept this License. Therefore, by modifying or propagating a covered
work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that transaction
who receives a copy of the work also receives whatever licenses to the
work the party's predecessor in interest had or could give under the
previous paragraph, plus a right to possession of the Corresponding
Source of the work from the predecessor in interest, if the predecessor
has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims owned
or controlled by the contributor, whether already acquired or hereafter
acquired, that would be infringed by some manner, permitted by this
License, of making, using, or selling its contributor version, but do
not include claims that would be infringed only as a consequence of
further modification of the contributor version. For purposes of this
definition, "control" includes the right to grant patent sublicenses in
a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone to
copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so avail-
able, or (2) arrange to deprive yourself of the benefit of the patent
license for this particular work, or (3) arrange, in a manner consis-
tent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrange-
ment, you convey, or propagate by procuring conveyance of, a covered
work, and grant a patent license to some of the parties receiving the
covered work authorizing them to use, propagate, modify or convey a
specific copy of the covered work, then the patent license you grant is
automatically extended to all recipients of the covered work and works
based on it.
A patent license is "discriminatory" if it does not include within the
scope of its coverage, prohibits the exercise of, or is conditioned on
the non-exercise of one or more of the rights that are specifically
granted under this License. You may not convey a covered work if you
are a party to an arrangement with a third party that is in the busi-
ness of distributing software, under which you make payment to the
third party based on the extent of your activity of conveying the work,
and under which the third party grants, to any of the parties who would
receive the covered work from you, a discriminatory patent license (a)
in connection with copies of the covered work conveyed by you (or
copies made from those copies), or (b) primarily for and in connection
with specific products or compilations that contain the covered work,
unless you entered into that arrangement, or that patent license was
granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any
implied license or other defenses to infringement that may otherwise be
available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under
this License and any other pertinent obligations, then as a consequence
you may not convey it at all. For example, if you agree to terms that
obligate you to collect a royalty for further conveying from those to
whom you convey the Program, the only way you could satisfy both those
terms and this License would be to refrain entirely from conveying the
Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permis-
sion to link or combine any covered work with a work licensed under
version 3 of the GNU Affero General Public License into a single com-
bined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies that a certain numbered version of the GNU General Public
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that numbered version or
of any later version published by the Free Software Foundation. If the
Program does not specify a version number of the GNU General Public
License, you may choose any version ever published by the Free Software
Foundation.
If the Program specifies that a proxy can decide which future versions
of the GNU General Public License can be used, that proxy's public
statement of acceptance of a version permanently authorizes you to
choose that version for the Program.
Later license versions may give you additional or different permis-
sions. However, no additional obligations are imposed on any author or
copyright holder as a result of your choosing to follow a later ver-
sion.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLI-
CABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLD-
ERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTIC-
ULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CON-
VEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPER-
ATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the Pro-
gram, unless a warranty or assumption of liability accompanies a copy
of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively state
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
< one line to give the program's name and a brief idea of what it
does. >
Copyright (C) < year > < name of author >
This program is free software: you can redistribute it and/or mod-
ify it under the terms of the GNU General Public License as pub-
lished by the Free Software Foundation, either version 3 of the
License, 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 MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Gen-
eral Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
.
Also add information on how to contact you by electronic and paper
mail.
If the program does terminal interaction, make it output a short notice
like this when it starts in an interactive mode:
Copyright (C)
This program comes with ABSOLUTELY NO WARRANTY; for details type
"show w". This is free software, and you are welcome to redis-
tribute it under certain conditions; type "show c" for details.
The hypothetical commands "show w" and "show c" should show the appro-
priate parts of the General Public License. Of course, your program's
commands might be different; for a GUI interface, you would use an
"about box".
You should also get your employer (if you work as a programmer) or
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. For more information on this, and how to apply and follow
the GNU GPL, see .
The GNU General Public License does not permit incorporating your pro-
gram into proprietary programs. If your program is a subroutine
library, you may consider it more useful to permit linking proprietary
applications with the library. If this is what you want to do, use the
GNU Lesser General Public License instead of this License. But first,
please read .
GNU GPL GPL(GNU)
cook-2.33/Makefile.in 644 0 0 652712 11313350040 13717 0 ustar Peter Miller 0 0 #
# cook - file construction tool
# Copyright (C) 1992-1994, 1997-1999, 2001, 2002, 2007, 2008 Peter Miller
#
# 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 3 of the License, 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.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see
# .
#
# @configure_input@
#
# The configure script generates 4 files:
# 1. This Makefile
# 2. etc/libdir.so
# 3. etc/libdir.h
# 4. common/config.h
# If you change this Makefile, you may also need to change these files.
# To see what is configured by the configure script, search for @ in the
# Makefile.in file.
#
# If you wish to reconfigure the installation directories it is
# RECOMMENDED that you re-run the configure script.
# Use ``./configure --help'' for a list options.
#
#
# directory containing the source
#
srcdir = @srcdir@
VPATH = @srcdir@
#
# the name of the install program to use
#
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
#
# the name of the compiler to use
#
CC = @CC@
#
# The compiler flags to use
#
CFLAGS = @CFLAGS@
#
# The preprocessor flags to use
#
CPPFLAGS = @CPPFLAGS@
#
# The linker flags to use
#
LDFLAGS = @LDFLAGS@
#
# prefix for installation path
#
prefix = @prefix@
exec_prefix = @exec_prefix@
#
# where to put the data directories
#
# ${datadir} is for architecture-neutral files
# On a network, this would be shared between all machines
# on the network. It can be read-only.
#
datadir = $(RPM_BUILD_ROOT)@datadir@
#
# ${libdir} is for architecture-specific files
# On a network, this would only be shared between machines
# of identical cpu-hw-os flavour. It can be read-only.
#
libdir = $(RPM_BUILD_ROOT)@libdir@
#
# where to put the executables
# On a network, this would only be shared between machines
# of identical cpu-hw-os flavour. It can be read-only.
#
bindir = $(RPM_BUILD_ROOT)@bindir@
#
# where to put the manuals
# On a network, this would be shared between all machines
# on the network. It can be read-only.
#
mandir = $(RPM_BUILD_ROOT)@mandir@
#
# Which yacc to use
#
YACC = @YACC@
#
# extra libraries required for your system
#
LIBS = @LIBS@
#
# The program used to compile the message catalogues. Ideally, you
# should use the msgfmt in the GNU Gettext package. (The SunOS one is
# brain-dead, and the Solaris one is hardly better.)
#
MSGFMT = @MSGFMT@
MSGCAT = @MSGCAT@
#
# The program used to format the documentation.
#
GROFF = @GROFF@
#
# shell to use to run tests and commands
#
SH = @SH@
#
# command used to construct libraries
#
AR = ar
#
# program used to place index within libraries
#
RANLIB = @RANLIB@
#
# Set MANLANG to English, to select the man pages to be installed into
# $(mandir). If you want your manual pages in some other (supported)
# language, set it here.
#
# The man pages for all supported languages are also installed into
# $(libdir)/$(MANLANG)/manX/Y.X, so that it is only necessary to append
# $(libdir) to $MANPATH, if your man understands $LANG.
#
MANLANG = en
#
# This is the prefix to add to the start of program names.
# Usually left empty.
#
PROGRAM_PREFIX = @PROGRAM_PREFIX@
#
# This is the suffix to add to the end of program names, before the
# exe extension. Usually left empty.
#
PROGRAM_SUFFIX = @PROGRAM_SUFFIX@
#
# This is the file extension for executable files. Includes the dot, if any.
# This is empty on UNIX, and .EXE on the unmentionable one.
#
EXEEXT = @EXEEXT@
#
# This is the file extension for object files. NO DOT.
# This is o on UNIX, and O or OBJ on the unmentionable one.
#
OBJEXT = @OBJEXT@
#
# This is the file extension for library files. NO DOT.
# This is a on UNIX, and A or LIB on the unmentionable one.
#
LIBEXT = a
#
# The default target
#
default_target: all
c_incl/cache.$(OBJEXT): c_incl/cache.c common/ac/fcntl.h common/config.h \
common/config.messy.h common/ac/stdio.h \
common/ac/string.h c_incl/cache.h common/main.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/format_print.h \
common/error_intl.h common/sub.h common/noreturn.h \
common/mem.h c_incl/os_interface.h common/progname.h \
common/symtab.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/cache.c
mv cache.$(OBJEXT) $@
c_incl/flatten.$(OBJEXT): c_incl/flatten.c common/str_list.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h common/main.h \
common/format_print.h c_incl/flatten.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/flatten.c
mv flatten.$(OBJEXT) $@
c_incl/lang.$(OBJEXT): c_incl/lang.c common/ac/string.h common/config.h \
common/config.messy.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h c_incl/lang.h c_incl/lang_c.h \
c_incl/sniff.h c_incl/lang_optimis.h c_incl/lang_roff.h \
c_incl/lang_m4.h common/symtab.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/lang.c
mv lang.$(OBJEXT) $@
c_incl/lang_c.$(OBJEXT): c_incl/lang_c.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
common/input.h common/main.h c_incl/lang_c.h \
c_incl/sniff.h common/mem.h common/ac/stddef.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/lang_c.c
mv lang_c.$(OBJEXT) $@
c_incl/lang_m4.$(OBJEXT): c_incl/lang_m4.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
common/input.h common/main.h c_incl/lang_m4.h \
c_incl/sniff.h common/mem.h common/ac/stddef.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/lang_m4.c
mv lang_m4.$(OBJEXT) $@
c_incl/lang_optimis.$(OBJEXT): c_incl/lang_optimis.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
common/input.h common/main.h c_incl/lang_optimis.h \
c_incl/sniff.h common/mem.h common/ac/stddef.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/lang_optimis.c
mv lang_optimis.$(OBJEXT) $@
c_incl/lang_roff.$(OBJEXT): c_incl/lang_roff.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
common/input.h common/main.h c_incl/lang_roff.h \
c_incl/sniff.h common/mem.h common/ac/stddef.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/lang_roff.c
mv lang_roff.$(OBJEXT) $@
c_incl/main.$(OBJEXT): c_incl/main.c common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdio.h \
common/ac/string.h common/ac/stdlib.h common/arglex.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h common/help.h \
common/progname.h common/str.h common/ac/stdarg.h \
common/verbose.h common/version.h c_incl/cache.h \
common/str_list.h c_incl/lang.h c_incl/sniff.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/main.c
mv main.$(OBJEXT) $@
c_incl/os.$(OBJEXT): c_incl/os.c common/ac/errno.h common/config.h \
common/config.messy.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h c_incl/os_interface.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/os.c
mv os.$(OBJEXT) $@
c_incl/sniff.$(OBJEXT): c_incl/sniff.c common/ac/ctype.h common/config.h \
common/config.messy.h common/ac/stddef.h \
common/ac/string.h common/ac/errno.h common/ac/signal.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/input/file_text.h \
common/input.h common/input/stdin.h common/mem.h \
common/os_path_cat.h common/str_list.h common/str.h \
common/ac/stdarg.h common/trace.h c_incl/cache.h \
c_incl/flatten.h c_incl/os_interface.h c_incl/sniff.h \
c_incl/stripdot.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/sniff.c
mv sniff.$(OBJEXT) $@
c_incl/stripdot.$(OBJEXT): c_incl/stripdot.c common/str_list.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h common/main.h \
common/format_print.h c_incl/sniff.h c_incl/stripdot.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c c_incl/stripdot.c
mv stripdot.$(OBJEXT) $@
common/ac/libintl.$(OBJEXT): common/ac/libintl.c common/ac/libintl.h \
common/config.h common/config.messy.h common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/libintl.c
mv libintl.$(OBJEXT) $@
common/ac/mntent.$(OBJEXT): common/ac/mntent.c common/ac/mntent.h \
common/config.h common/config.messy.h common/ac/stdio.h \
common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/mntent.c
mv mntent.$(OBJEXT) $@
common/ac/stdio.$(OBJEXT): common/ac/stdio.c common/ac/stdarg.h \
common/config.h common/config.messy.h common/ac/stdio.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/stdio.c
mv stdio.$(OBJEXT) $@
common/ac/stdlib.$(OBJEXT): common/ac/stdlib.c common/ac/stdlib.h \
common/config.h common/config.messy.h common/ac/errno.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/stdlib.c
mv stdlib.$(OBJEXT) $@
common/ac/string.$(OBJEXT): common/ac/string.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/string.h common/ac/stdio.h common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/string.c
mv string.$(OBJEXT) $@
common/ac/sys/utsname.$(OBJEXT): common/ac/sys/utsname.c \
common/ac/string.h common/config.h common/config.messy.h \
common/ac/sys/utsname.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/sys/utsname.c
mv utsname.$(OBJEXT) $@
common/ac/time.$(OBJEXT): common/ac/time.c common/ac/time.h \
common/config.h common/config.messy.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/time.c
mv time.$(OBJEXT) $@
common/ac/wchar.$(OBJEXT): common/ac/wchar.c common/ac/wchar.h \
common/ac/time.h common/config.h common/config.messy.h \
common/ac/stddef.h common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/wchar.c
mv wchar.$(OBJEXT) $@
common/ac/wctype.$(OBJEXT): common/ac/wctype.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/wctype.h \
common/ac/stddef.h common/ac/wchar.h common/ac/time.h \
common/main.h common/ac/limits.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ac/wctype.c
mv wctype.$(OBJEXT) $@
common/arglex.$(OBJEXT): common/arglex.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/string.h common/ac/ctype.h common/main.h \
common/arglex.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/language.h common/mem.h \
common/progname.h common/trace.h common/str_list.h \
common/str.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/arglex.c
mv arglex.$(OBJEXT) $@
common/env.$(OBJEXT): common/env.c common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdlib.h \
common/ac/string.h common/env.h common/main.h \
common/mem.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/env.c
mv env.$(OBJEXT) $@
common/error.$(OBJEXT): common/error.c common/ac/ctype.h common/config.h \
common/config.messy.h common/ac/errno.h \
common/ac/stddef.h common/ac/stdio.h common/ac/stdlib.h \
common/ac/string.h common/ac/stdarg.h common/error.h \
common/format_print.h common/main.h common/noreturn.h \
common/fflush_slow.h common/mprintf.h common/page.h \
common/progname.h common/quit.h common/star.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error.c
mv error.$(OBJEXT) $@
common/error_intl.$(OBJEXT): common/error_intl.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/limits.h \
common/ac/stdlib.h common/ac/string.h common/ac/wchar.h \
common/ac/time.h common/ac/stddef.h common/main.h \
common/ac/wctype.h common/ac/ctype.h common/error.h \
common/format_print.h common/noreturn.h \
common/error_intl.h common/sub.h common/fflush_slow.h \
common/language.h common/page.h common/progname.h \
common/quit.h common/star.h common/trace.h \
common/verbose.h common/wstr.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error_intl.c
mv error_intl.$(OBJEXT) $@
common/error_intl/close.$(OBJEXT): common/error_intl/close.c \
common/ac/stdio.h common/config.h common/config.messy.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error_intl/close.c
mv close.$(OBJEXT) $@
common/error_intl/open.$(OBJEXT): common/error_intl/open.c \
common/ac/stdio.h common/config.h common/config.messy.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error_intl/open.c
mv open.$(OBJEXT) $@
common/error_intl/read.$(OBJEXT): common/error_intl/read.c \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error_intl/read.c
mv read.$(OBJEXT) $@
common/error_intl/stat.$(OBJEXT): common/error_intl/stat.c \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error_intl/stat.c
mv stat.$(OBJEXT) $@
common/error_intl/unlink.$(OBJEXT): common/error_intl/unlink.c \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error_intl/unlink.c
mv unlink.$(OBJEXT) $@
common/error_intl/write.$(OBJEXT): common/error_intl/write.c \
common/ac/stdio.h common/config.h common/config.messy.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/fflush_slow.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/error_intl/write.c
mv write.$(OBJEXT) $@
common/exeext.$(OBJEXT): common/exeext.c common/exeext.h common/main.h \
common/ac/ctype.h common/config.h common/config.messy.h \
common/ac/string.h common/libdir.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/exeext.c
mv exeext.$(OBJEXT) $@
common/fflush_slow.$(OBJEXT): common/fflush_slow.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/unistd.h \
common/fflush_slow.h common/ac/stdio.h common/main.h \
common/progname.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fflush_slow.c
mv fflush_slow.$(OBJEXT) $@
common/fp.$(OBJEXT): common/fp.c common/ac/errno.h common/config.h \
common/config.messy.h common/ac/fcntl.h \
common/ac/unistd.h common/ac/dirent.h common/fp.h \
common/ac/stddef.h common/str_list.h common/str.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/mem.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp.c
mv fp.$(OBJEXT) $@
common/fp/cksum.$(OBJEXT): common/fp/cksum.c common/ac/string.h \
common/config.h common/config.messy.h common/fp/cksum.h \
common/fp.h common/ac/stddef.h common/fp/crc32.h \
common/fp/len.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp/cksum.c
mv cksum.$(OBJEXT) $@
common/fp/combined.$(OBJEXT): common/fp/combined.c common/fp/combined.h \
common/fp.h common/ac/stddef.h common/config.h \
common/config.messy.h common/fp/crc32.h common/fp/len.h \
common/fp/md5.h common/fp/snefru.h common/trace.h \
common/main.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp/combined.c
mv combined.$(OBJEXT) $@
common/fp/crc32.$(OBJEXT): common/fp/crc32.c common/ac/stdio.h \
common/config.h common/config.messy.h common/fp/crc32.h \
common/fp.h common/ac/stddef.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp/crc32.c
mv crc32.$(OBJEXT) $@
common/fp/ident.$(OBJEXT): common/fp/ident.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/string.h \
common/fp/ident.h common/fp.h common/ac/stddef.h \
common/fp/combined.h common/fp/crc32.h common/trace.h \
common/main.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp/ident.c
mv ident.$(OBJEXT) $@
common/fp/len.$(OBJEXT): common/fp/len.c common/ac/stdio.h \
common/config.h common/config.messy.h common/fp/len.h \
common/fp.h common/ac/stddef.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp/len.c
mv len.$(OBJEXT) $@
common/fp/md5.$(OBJEXT): common/fp/md5.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/string.h \
common/ac/limits.h common/trace.h common/ac/stddef.h \
common/main.h common/format_print.h common/fp/md5.h \
common/fp.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp/md5.c
mv md5.$(OBJEXT) $@
common/fp/snefru.$(OBJEXT): common/fp/snefru.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/string.h \
common/ac/limits.h common/fp/snefru.h common/fp.h \
common/ac/stddef.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fp/snefru.c
mv snefru.$(OBJEXT) $@
common/fstrcmp.$(OBJEXT): common/fstrcmp.c common/ac/string.h \
common/config.h common/config.messy.h common/fstrcmp.h \
common/main.h common/mem.h common/ac/stddef.h \
common/trace.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/fstrcmp.c
mv fstrcmp.$(OBJEXT) $@
common/gmatch.$(OBJEXT): common/gmatch.c common/ac/string.h \
common/config.h common/config.messy.h common/gmatch.h \
common/main.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/format_print.h common/sub.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/gmatch.c
mv gmatch.$(OBJEXT) $@
common/help.$(OBJEXT): common/help.c common/ac/stdlib.h common/config.h \
common/config.messy.h common/ac/unistd.h common/arglex.h \
common/main.h common/env.h common/error.h \
common/format_print.h common/noreturn.h \
common/error_intl.h common/sub.h common/ac/stdio.h \
common/help.h common/libdir.h common/os_path_cat.h \
common/page.h common/progname.h common/quit.h \
common/trace.h common/ac/stddef.h common/verbose.h \
common/str_list.h common/str.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/help.c
mv help.$(OBJEXT) $@
common/home_directo.$(OBJEXT): common/home_directo.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/unistd.h common/env.h common/main.h \
common/home_directo.h common/mem.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/home_directo.c
mv home_directo.$(OBJEXT) $@
common/input.$(OBJEXT): common/input.c common/input/private.h \
common/input.h common/main.h common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/str.h common/ac/stdarg.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input.c
mv input.$(OBJEXT) $@
common/input/crlf.$(OBJEXT): common/input/crlf.c common/input/crlf.h \
common/input.h common/main.h common/input/private.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input/crlf.c
mv crlf.$(OBJEXT) $@
common/input/file.$(OBJEXT): common/input/file.c common/error_intl.h \
common/sub.h common/main.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/config.h \
common/config.messy.h common/input/file.h common/input.h \
common/input/private.h common/input/stdin.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input/file.c
mv file.$(OBJEXT) $@
common/input/file_text.$(OBJEXT): common/input/file_text.c \
common/input/crlf.h common/input.h common/main.h \
common/input/file.h common/input/file_text.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input/file_text.c
mv file_text.$(OBJEXT) $@
common/input/null.$(OBJEXT): common/input/null.c common/input/null.h \
common/input.h common/main.h common/input/private.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input/null.c
mv null.$(OBJEXT) $@
common/input/private.$(OBJEXT): common/input/private.c \
common/input/private.h common/input.h common/main.h \
common/mem.h common/ac/stddef.h common/config.h \
common/config.messy.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input/private.c
mv private.$(OBJEXT) $@
common/input/pushba_trans.$(OBJEXT): common/input/pushba_trans.c \
common/input/private.h common/input.h common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input/pushba_trans.c
mv pushba_trans.$(OBJEXT) $@
common/input/stdin.$(OBJEXT): common/input/stdin.c common/ac/stdio.h \
common/config.h common/config.messy.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/input/private.h common/input.h \
common/input/stdin.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/input/stdin.c
mv stdin.$(OBJEXT) $@
common/itab.$(OBJEXT): common/itab.c common/itab.h common/main.h \
common/mem.h common/ac/stddef.h common/config.h \
common/config.messy.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/itab.c
mv itab.$(OBJEXT) $@
common/language.$(OBJEXT): common/language.c common/ac/locale.h \
common/config.h common/config.messy.h \
common/ac/libintl.h common/main.h common/ac/stdlib.h \
common/env.h common/error.h common/format_print.h \
common/noreturn.h common/language.h common/libdir.h \
common/progname.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/language.c
mv language.$(OBJEXT) $@
common/libdir.$(OBJEXT): common/libdir.c etc/libdir-h common/libdir.h \
common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/libdir.c
mv libdir.$(OBJEXT) $@
common/mem.$(OBJEXT): common/mem.c common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/string.h \
common/ac/stdlib.h common/ac/errno.h common/error.h \
common/format_print.h common/main.h common/noreturn.h \
common/mem.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/mem.c
mv mem.$(OBJEXT) $@
common/mprintf.$(OBJEXT): common/mprintf.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/stdint.h \
common/ac/stdio.h common/ac/stdlib.h common/ac/string.h \
common/error.h common/format_print.h common/main.h \
common/noreturn.h common/mprintf.h common/ac/stdarg.h \
common/str.h common/ac/stddef.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/mprintf.c
mv mprintf.$(OBJEXT) $@
common/os_path_cat.$(OBJEXT): common/os_path_cat.c common/os_path_cat.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h common/main.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/os_path_cat.c
mv os_path_cat.$(OBJEXT) $@
common/page.$(OBJEXT): common/page.c common/ac/stdlib.h common/config.h \
common/config.messy.h common/ac/sys/ioctl.h \
common/ac/termios.h common/arglex.h common/main.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/help.h \
common/page.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/page.c
mv page.$(OBJEXT) $@
common/progname.$(OBJEXT): common/progname.c common/ac/string.h \
common/config.h common/config.messy.h common/exeext.h \
common/main.h common/progname.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/progname.c
mv progname.$(OBJEXT) $@
common/quit.$(OBJEXT): common/quit.c common/ac/stdlib.h common/config.h \
common/config.messy.h common/quit.h common/main.h \
common/noreturn.h common/star.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/quit.c
mv quit.$(OBJEXT) $@
common/star.$(OBJEXT): common/star.c common/ac/stdio.h common/config.h \
common/config.messy.h common/ac/string.h \
common/ac/time.h common/fflush_slow.h common/main.h \
common/page.h common/progname.h common/quit.h \
common/noreturn.h common/star.h common/trace.h \
common/ac/stddef.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/star.c
mv star.$(OBJEXT) $@
common/str.$(OBJEXT): common/str.c common/ac/ctype.h common/config.h \
common/config.messy.h common/ac/stddef.h \
common/ac/stdio.h common/ac/stdlib.h common/ac/string.h \
common/error.h common/format_print.h common/main.h \
common/noreturn.h common/mem.h common/mprintf.h \
common/ac/stdarg.h common/str.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str.c
mv str.$(OBJEXT) $@
common/str/cat2.$(OBJEXT): common/str/cat2.c common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/stracc.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str/cat2.c
mv cat2.$(OBJEXT) $@
common/str/cat3.$(OBJEXT): common/str/cat3.c common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/stracc.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str/cat3.c
mv cat3.$(OBJEXT) $@
common/str/downcase.$(OBJEXT): common/str/downcase.c common/ac/ctype.h \
common/config.h common/config.messy.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/stracc.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str/downcase.c
mv downcase.$(OBJEXT) $@
common/str/quote.$(OBJEXT): common/str/quote.c common/ac/ctype.h \
common/config.h common/config.messy.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/stracc.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str/quote.c
mv quote.$(OBJEXT) $@
common/str/re.$(OBJEXT): common/str/re.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/regex.h \
common/str/re.h common/str.h common/ac/stdarg.h \
common/main.h common/format_print.h common/stracc.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str/re.c
mv re.$(OBJEXT) $@
common/str/substitute.$(OBJEXT): common/str/substitute.c \
common/ac/string.h common/config.h common/config.messy.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h common/stracc.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str/substitute.c
mv substitute.$(OBJEXT) $@
common/str/upcase.$(OBJEXT): common/str/upcase.c common/ac/ctype.h \
common/config.h common/config.messy.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/stracc.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str/upcase.c
mv upcase.$(OBJEXT) $@
common/str_list.$(OBJEXT): common/str_list.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/stddef.h \
common/ac/string.h common/ac/stdlib.h common/ac/time.h \
common/mem.h common/main.h common/str.h \
common/ac/stdarg.h common/format_print.h \
common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/str_list.c
mv str_list.$(OBJEXT) $@
common/stracc.$(OBJEXT): common/stracc.c common/ac/string.h \
common/config.h common/config.messy.h common/mem.h \
common/ac/stddef.h common/main.h common/stracc.h \
common/str.h common/ac/stdarg.h common/format_print.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/stracc.c
mv stracc.$(OBJEXT) $@
common/sub.$(OBJEXT): common/sub.c common/ac/errno.h common/config.h \
common/config.messy.h common/ac/libintl.h common/main.h \
common/ac/limits.h common/ac/string.h common/ac/wctype.h \
common/ac/ctype.h common/ac/stddef.h common/ac/wchar.h \
common/ac/time.h common/arglex.h common/error.h \
common/format_print.h common/noreturn.h \
common/error_intl.h common/sub.h common/ac/stdio.h \
common/language.h common/mem.h common/str.h \
common/ac/stdarg.h common/sub/basename.h \
common/sub/date.h common/sub/dirname.h \
common/sub/downcase.h common/sub/errno.h \
common/sub/expr.h common/sub/ident.h common/sub/length.h \
common/sub/left.h common/sub/plural.h \
common/sub/private.h common/sub/progname.h \
common/sub/right.h common/sub/upcase.h \
common/sub/zero_pad.h common/trace.h common/wstr_list.h \
common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub.c
mv sub.$(OBJEXT) $@
common/sub/basename.$(OBJEXT): common/sub/basename.c common/ac/string.h \
common/config.h common/config.messy.h \
common/sub/basename.h common/main.h common/sub/private.h \
common/sub.h common/format_print.h common/trace.h \
common/ac/stddef.h common/wstr_list.h common/wstr.h \
common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/basename.c
mv basename.$(OBJEXT) $@
common/sub/date.$(OBJEXT): common/sub/date.c common/ac/time.h \
common/config.h common/config.messy.h common/language.h \
common/main.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/format_print.h \
common/sub/date.h common/sub/private.h common/sub.h \
common/trace.h common/wstr_list.h common/wstr.h \
common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/date.c
mv date.$(OBJEXT) $@
common/sub/dirname.$(OBJEXT): common/sub/dirname.c common/sub/dirname.h \
common/main.h common/sub/private.h common/sub.h \
common/format_print.h common/trace.h common/ac/stddef.h \
common/config.h common/config.messy.h common/wstr_list.h \
common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/dirname.c
mv dirname.$(OBJEXT) $@
common/sub/downcase.$(OBJEXT): common/sub/downcase.c \
common/sub/downcase.h common/main.h common/sub/private.h \
common/sub.h common/format_print.h common/trace.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/wstr_list.h common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/downcase.c
mv downcase.$(OBJEXT) $@
common/sub/errno.$(OBJEXT): common/sub/errno.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/stdio.h \
common/ac/string.h common/ac/unistd.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/sub/errno.h \
common/sub/private.h common/sub.h common/trace.h \
common/wstr_list.h common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/errno.c
mv errno.$(OBJEXT) $@
common/sub/expr.$(OBJEXT): common/sub/expr.c common/sub/expr.h \
common/main.h common/sub/expr_gram.h \
common/sub/private.h common/sub.h common/format_print.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h common/trace.h \
common/wstr_list.h common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/expr.c
mv expr.$(OBJEXT) $@
common/sub/expr_gram.gen.c common/sub/expr_gram.gen.h: \
common/sub/expr_gram.y
@echo Expect no conflicts:
$(YACC) -d common/sub/expr_gram.y
sed -e 's/[yY][yY]/sub_expr_gram_/g' -e '//d' -e \
'//d' -e '//d' y.tab.c > \
common/sub/expr_gram.gen.c
sed -e 's/[yY][yY]/sub_expr_gram_/g' -e \
's/Y_TAB_H/sub_expr_gram_TAB_H/g' y.tab.h > \
common/sub/expr_gram.gen.h
rm y.tab.c y.tab.h
common/sub/expr_gram.gen.$(OBJEXT): common/sub/expr_gram.gen.c \
common/ac/stdarg.h common/config.h common/config.messy.h \
common/ac/stdio.h common/ac/stdlib.h common/str.h \
common/ac/stddef.h common/main.h common/format_print.h \
common/sub/expr_gram.h common/sub/expr_lex.h \
common/sub/private.h common/sub.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/expr_gram.gen.c
mv expr_gram.gen.$(OBJEXT) $@
common/sub/expr_lex.$(OBJEXT): common/sub/expr_lex.c common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/sub/expr_lex.h common/sub/expr_gram.gen.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/expr_lex.c
mv expr_lex.$(OBJEXT) $@
common/sub/ident.$(OBJEXT): common/sub/ident.c common/sub/ident.h \
common/main.h common/sub/private.h common/sub.h \
common/format_print.h common/trace.h common/ac/stddef.h \
common/config.h common/config.messy.h common/wstr_list.h \
common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/ident.c
mv ident.$(OBJEXT) $@
common/sub/left.$(OBJEXT): common/sub/left.c common/ac/stdlib.h \
common/config.h common/config.messy.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/sub/left.h \
common/sub/private.h common/sub.h common/trace.h \
common/wstr_list.h common/wstr.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/left.c
mv left.$(OBJEXT) $@
common/sub/length.$(OBJEXT): common/sub/length.c common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/sub/length.h common/sub/private.h common/sub.h \
common/trace.h common/wstr_list.h common/wstr.h \
common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/length.c
mv length.$(OBJEXT) $@
common/sub/plural.$(OBJEXT): common/sub/plural.c common/ac/stdlib.h \
common/config.h common/config.messy.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/sub/plural.h \
common/sub/private.h common/sub.h common/trace.h \
common/wstr_list.h common/wstr.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/plural.c
mv plural.$(OBJEXT) $@
common/sub/progname.$(OBJEXT): common/sub/progname.c common/progname.h \
common/main.h common/sub/progname.h common/sub/private.h \
common/sub.h common/format_print.h common/trace.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/wstr_list.h common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/progname.c
mv progname.$(OBJEXT) $@
common/sub/right.$(OBJEXT): common/sub/right.c common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/sub/private.h common/sub.h common/sub/right.h \
common/trace.h common/wstr_list.h common/wstr.h \
common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/right.c
mv right.$(OBJEXT) $@
common/sub/upcase.$(OBJEXT): common/sub/upcase.c common/sub/private.h \
common/sub.h common/main.h common/format_print.h \
common/sub/upcase.h common/trace.h common/ac/stddef.h \
common/config.h common/config.messy.h common/wstr_list.h \
common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/upcase.c
mv upcase.$(OBJEXT) $@
common/sub/zero_pad.$(OBJEXT): common/sub/zero_pad.c common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h common/str.h common/ac/stdarg.h \
common/format_print.h common/sub/private.h common/sub.h \
common/sub/zero_pad.h common/trace.h common/wstr_list.h \
common/wstr.h common/ac/stdlib.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/sub/zero_pad.c
mv zero_pad.$(OBJEXT) $@
common/symtab.$(OBJEXT): common/symtab.c common/error.h \
common/format_print.h common/main.h common/noreturn.h \
common/fstrcmp.h common/mem.h common/ac/stddef.h \
common/config.h common/config.messy.h common/symtab.h \
common/str.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/symtab.c
mv symtab.$(OBJEXT) $@
common/timing.$(OBJEXT): common/timing.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/time.h \
common/ac/unistd.h common/error.h common/format_print.h \
common/main.h common/noreturn.h common/mem.h \
common/ac/stddef.h common/timing.h common/star.h \
common/symtab.h common/str.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/timing.c
mv timing.$(OBJEXT) $@
common/trace.$(OBJEXT): common/trace.c common/ac/errno.h common/config.h \
common/config.messy.h common/ac/stddef.h \
common/ac/stdio.h common/ac/string.h common/ac/stdarg.h \
common/error.h common/format_print.h common/main.h \
common/noreturn.h common/fflush_slow.h common/mem.h \
common/progname.h common/str.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/trace.c
mv trace.$(OBJEXT) $@
common/ts.$(OBJEXT): common/ts.c common/ac/stdlib.h common/config.h \
common/config.messy.h cook/id.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h cook/id/variable.h \
cook/opcode/context.h cook/opcode/status.h \
common/trace.h common/ac/time.h common/ts.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/ts.c
mv ts.$(OBJEXT) $@
common/verbose.$(OBJEXT): common/verbose.c common/arglex.h common/main.h \
common/help.h common/verbose.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/verbose.c
mv verbose.$(OBJEXT) $@
common/version-stmp.$(OBJEXT): common/version-stmp.c common/patchlevel.h \
common/version-stmp.h common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/version-stmp.c
mv version-stmp.$(OBJEXT) $@
common/version.$(OBJEXT): common/version.c common/ac/stdio.h \
common/config.h common/config.messy.h common/arglex.h \
common/main.h common/error.h common/format_print.h \
common/noreturn.h common/help.h common/progname.h \
common/quit.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/trace.h common/version.h \
common/version-stmp.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/version.c
mv version.$(OBJEXT) $@
common/wstr.$(OBJEXT): common/wstr.c common/ac/limits.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/ac/stddef.h common/ac/stdio.h common/ac/stdlib.h \
common/ac/string.h common/ac/wchar.h common/ac/time.h \
common/main.h common/ac/wctype.h common/ac/ctype.h \
common/error.h common/format_print.h common/noreturn.h \
common/language.h common/mem.h common/str.h \
common/trace.h common/wstr.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/wstr.c
mv wstr.$(OBJEXT) $@
common/wstr_list.$(OBJEXT): common/wstr_list.c common/ac/string.h \
common/config.h common/config.messy.h common/wstr_list.h \
common/wstr.h common/ac/stdlib.h common/main.h \
common/mem.h common/ac/stddef.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c common/wstr_list.c
mv wstr_list.$(OBJEXT) $@
cook/archive.$(OBJEXT): cook/archive.c common/ac/ctype.h common/config.h \
common/config.messy.h common/ac/stdio.h \
common/ac/errno.h common/ac/ar.h common/ac/fcntl.h \
common/ac/stdlib.h common/ac/string.h common/ac/utime.h \
common/ac/time.h common/ac/unistd.h cook/archive.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h common/fp.h \
common/mem.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/archive.c
mv archive.$(OBJEXT) $@
cook/builtin.$(OBJEXT): cook/builtin.c cook/builtin.h common/main.h \
cook/builtin/addprefix.h cook/builtin/private.h \
cook/builtin/addsuffix.h cook/builtin/basename.h \
cook/builtin/boolean.h cook/builtin/cando.h \
cook/builtin/collect.h cook/builtin/cook.h \
cook/builtin/defined.h cook/builtin/dos.h \
cook/builtin/execute.h cook/builtin/exists.h \
cook/builtin/expr.h cook/builtin/filter_out.h \
cook/builtin/find_command.h cook/builtin/findstring.h \
cook/builtin/getenv.h cook/builtin/glob.h \
cook/builtin/home.h cook/builtin/interi_files.h \
cook/builtin/join.h cook/builtin/match.h \
cook/builtin/mtime.h cook/builtin/opsys.h \
cook/builtin/options.h cook/builtin/pathname.h \
cook/builtin/positional.h cook/builtin/print.h \
cook/builtin/read.h cook/builtin/readlink.h \
cook/builtin/relati_dirna.h cook/builtin/resolve.h \
cook/builtin/sort_newest.h cook/builtin/split.h \
cook/builtin/stringset.h cook/builtin/strip.h \
cook/builtin/stripdot.h cook/builtin/strlen.h \
cook/builtin/subst.h cook/builtin/substr.h \
cook/builtin/suffix.h cook/builtin/text.h \
cook/builtin/thread-id.h cook/builtin/unsplit.h \
cook/builtin/uptodate.h cook/builtin/word.h \
cook/builtin/wordlist.h cook/builtin/write.h \
cook/id/builtin.h cook/id/global.h common/symtab.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin.c
mv builtin.$(OBJEXT) $@
cook/builtin/addprefix.$(OBJEXT): cook/builtin/addprefix.c \
cook/builtin/addprefix.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/addprefix.c
mv addprefix.$(OBJEXT) $@
cook/builtin/addsuffix.$(OBJEXT): cook/builtin/addsuffix.c \
cook/builtin/addsuffix.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/addsuffix.c
mv addsuffix.$(OBJEXT) $@
cook/builtin/basename.$(OBJEXT): cook/builtin/basename.c \
common/ac/string.h common/config.h common/config.messy.h \
cook/builtin/basename.h cook/builtin/private.h \
common/main.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/basename.c
mv basename.$(OBJEXT) $@
cook/builtin/boolean.$(OBJEXT): cook/builtin/boolean.c \
cook/builtin/boolean.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/boolean.c
mv boolean.$(OBJEXT) $@
cook/builtin/cando.$(OBJEXT): cook/builtin/cando.c cook/builtin/cando.h \
cook/builtin/private.h common/main.h cook/desist.h \
common/error.h common/format_print.h common/noreturn.h \
cook/graph.h cook/graph/build.h cook/graph/stats.h \
cook/option.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/cando.c
mv cando.$(OBJEXT) $@
cook/builtin/collect.$(OBJEXT): cook/builtin/collect.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/string.h \
common/ac/errno.h common/error.h common/format_print.h \
common/main.h common/noreturn.h common/error_intl.h \
common/sub.h common/star.h common/stracc.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h \
cook/builtin/collect.h cook/builtin/private.h \
cook/expr/position.h cook/option.h common/str_list.h \
cook/os_interface.h common/ac/time.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/collect.c
mv collect.$(OBJEXT) $@
cook/builtin/cook.$(OBJEXT): cook/builtin/cook.c cook/builtin/cook.h \
cook/builtin/private.h common/main.h cook/desist.h \
cook/graph.h cook/graph/build.h cook/graph/stats.h \
cook/graph/walk.h cook/option.h common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/format_print.h \
common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/cook.c
mv cook.$(OBJEXT) $@
cook/builtin/defined.$(OBJEXT): cook/builtin/defined.c \
cook/builtin/defined.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/opcode/context.h \
common/ac/stddef.h cook/opcode/status.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/defined.c
mv defined.$(OBJEXT) $@
cook/builtin/dos.$(OBJEXT): cook/builtin/dos.c common/ac/ctype.h \
common/config.h common/config.messy.h cook/builtin/dos.h \
cook/builtin/private.h common/main.h common/stracc.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/dos.c
mv dos.$(OBJEXT) $@
cook/builtin/execute.$(OBJEXT): cook/builtin/execute.c common/error.h \
common/format_print.h common/main.h common/noreturn.h \
common/error_intl.h common/sub.h common/ac/stdio.h \
common/config.h common/config.messy.h common/star.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/trace.h cook/builtin/execute.h \
cook/builtin/private.h cook/expr/position.h \
cook/option.h cook/os_interface.h common/ac/time.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/execute.c
mv execute.$(OBJEXT) $@
cook/builtin/exists.$(OBJEXT): cook/builtin/exists.c common/trace.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h common/format_print.h \
cook/builtin/exists.h cook/builtin/private.h cook/expr.h \
cook/expr/position.h cook/os_interface.h \
common/ac/time.h common/str.h common/ac/stdarg.h \
common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/exists.c
mv exists.$(OBJEXT) $@
cook/builtin/expr.$(OBJEXT): cook/builtin/expr.c cook/builtin/expr.h \
cook/builtin/private.h common/main.h \
cook/builtin/expr_parse.h common/str_list.h common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/expr.c
mv expr.$(OBJEXT) $@
cook/builtin/expr_lex.$(OBJEXT): cook/builtin/expr_lex.c \
common/ac/stdlib.h common/config.h common/config.messy.h \
common/ac/errno.h common/sub.h common/main.h \
common/format_print.h common/symtab.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/str_list.h \
cook/builtin/expr_lex.h cook/builtin/expr_parse.gen.h \
cook/expr/position.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/expr_lex.c
mv expr_lex.$(OBJEXT) $@
cook/builtin/expr_parse.gen.c cook/builtin/expr_parse.gen.h: \
cook/builtin/expr_parse.y
@echo Expect no conflicts:
$(YACC) -d cook/builtin/expr_parse.y
sed -e 's/[yY][yY]/builtin_expr_parse_/g' -e '//d' -e \
'//d' -e '//d' y.tab.c > \
cook/builtin/expr_parse.gen.c
sed -e 's/[yY][yY]/builtin_expr_parse_/g' -e \
's/Y_TAB_H/builtin_expr_parse_TAB_H/g' y.tab.h > \
cook/builtin/expr_parse.gen.h
rm y.tab.c y.tab.h
cook/builtin/expr_parse.gen.$(OBJEXT): cook/builtin/expr_parse.gen.c \
common/ac/stdlib.h common/config.h common/config.messy.h \
cook/builtin/expr_lex.h common/main.h \
cook/builtin/expr_parse.h cook/expr/position.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/str_list.h common/sub.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/expr_parse.gen.c
mv expr_parse.gen.$(OBJEXT) $@
cook/builtin/filter_out.$(OBJEXT): cook/builtin/filter_out.c \
cook/builtin/filter_out.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/match.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/filter_out.c
mv filter_out.$(OBJEXT) $@
cook/builtin/find_command.$(OBJEXT): cook/builtin/find_command.c \
common/ac/stdlib.h common/config.h common/config.messy.h \
common/ac/string.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/exeext.h common/os_path_cat.h \
common/trace.h common/ac/stddef.h \
cook/builtin/find_command.h cook/builtin/private.h \
cook/expr/position.h cook/os_interface.h \
common/ac/time.h common/str.h common/ac/stdarg.h \
common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/find_command.c
mv find_command.$(OBJEXT) $@
cook/builtin/findstring.$(OBJEXT): cook/builtin/findstring.c \
common/ac/string.h common/config.h common/config.messy.h \
cook/builtin/findstring.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/expr/position.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/findstring.c
mv findstring.$(OBJEXT) $@
cook/builtin/getenv.$(OBJEXT): cook/builtin/getenv.c common/ac/stdlib.h \
common/config.h common/config.messy.h \
cook/builtin/getenv.h cook/builtin/private.h \
common/main.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/getenv.c
mv getenv.$(OBJEXT) $@
cook/builtin/glob.$(OBJEXT): cook/builtin/glob.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/stddef.h \
common/ac/stdlib.h common/ac/string.h common/ac/dirent.h \
cook/builtin/glob.h cook/builtin/private.h common/main.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h common/ac/stdio.h cook/expr/position.h \
common/gmatch.h common/mem.h common/stracc.h \
common/str.h common/ac/stdarg.h common/str_list.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/glob.c
mv glob.$(OBJEXT) $@
cook/builtin/home.$(OBJEXT): cook/builtin/home.c common/ac/stdlib.h \
common/config.h common/config.messy.h \
cook/builtin/home.h cook/builtin/private.h common/main.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h common/ac/stdio.h cook/expr/position.h \
common/home_directo.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/home.c
mv home.$(OBJEXT) $@
cook/builtin/interi_files.$(OBJEXT): cook/builtin/interi_files.c \
cook/builtin/interi_files.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/graph.h cook/opcode/context.h \
common/ac/stddef.h cook/opcode/status.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/interi_files.c
mv interi_files.$(OBJEXT) $@
cook/builtin/join.$(OBJEXT): cook/builtin/join.c cook/builtin/join.h \
cook/builtin/private.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/join.c
mv join.$(OBJEXT) $@
cook/builtin/match.$(OBJEXT): cook/builtin/match.c cook/builtin/match.h \
cook/builtin/private.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/match.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/match.c
mv match.$(OBJEXT) $@
cook/builtin/mtime.$(OBJEXT): cook/builtin/mtime.c common/ac/time.h \
common/config.h common/config.messy.h \
cook/builtin/mtime.h cook/builtin/private.h \
common/main.h cook/cook.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/mtime.c
mv mtime.$(OBJEXT) $@
cook/builtin/opsys.$(OBJEXT): cook/builtin/opsys.c \
common/ac/sys/utsname.h common/config.h \
common/config.messy.h cook/builtin/opsys.h \
cook/builtin/private.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/expr/position.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/symtab.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/opsys.c
mv opsys.$(OBJEXT) $@
cook/builtin/options.$(OBJEXT): cook/builtin/options.c \
cook/builtin/options.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/option.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/str_list.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/options.c
mv options.$(OBJEXT) $@
cook/builtin/pathname.$(OBJEXT): cook/builtin/pathname.c \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
common/trace.h common/ac/stddef.h \
cook/builtin/pathname.h cook/builtin/private.h \
cook/expr/position.h cook/os_interface.h \
common/ac/time.h common/str.h common/ac/stdarg.h \
common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/pathname.c
mv pathname.$(OBJEXT) $@
cook/builtin/positional.$(OBJEXT): cook/builtin/positional.c \
cook/builtin/positional.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/positional.c
mv positional.$(OBJEXT) $@
cook/builtin/print.$(OBJEXT): cook/builtin/print.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/unistd.h \
cook/builtin/print.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/print.c
mv print.$(OBJEXT) $@
cook/builtin/private.$(OBJEXT): cook/builtin/private.c \
cook/builtin/private.h common/main.h \
cook/expr/position.h cook/opcode/context.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/opcode/status.h common/str_list.h common/str.h \
common/ac/stdarg.h common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/private.c
mv private.$(OBJEXT) $@
cook/builtin/read.$(OBJEXT): cook/builtin/read.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/string.h \
cook/builtin/read.h common/main.h cook/builtin/private.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h cook/expr/position.h common/stracc.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/read.c
mv read.$(OBJEXT) $@
cook/builtin/readlink.$(OBJEXT): cook/builtin/readlink.c \
common/ac/unistd.h common/config.h common/config.messy.h \
cook/builtin/readlink.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/expr/position.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/readlink.c
mv readlink.$(OBJEXT) $@
cook/builtin/relati_dirna.$(OBJEXT): cook/builtin/relati_dirna.c \
cook/builtin/relati_dirna.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/os_interface.h \
common/ac/time.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/relati_dirna.c
mv relati_dirna.$(OBJEXT) $@
cook/builtin/resolve.$(OBJEXT): cook/builtin/resolve.c \
cook/builtin/resolve.h cook/builtin/private.h \
common/main.h cook/cook.h common/ac/time.h \
common/config.h common/config.messy.h common/error.h \
common/format_print.h common/noreturn.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/resolve.c
mv resolve.$(OBJEXT) $@
cook/builtin/sort_newest.$(OBJEXT): cook/builtin/sort_newest.c \
common/ac/stdlib.h common/config.h common/config.messy.h \
cook/builtin/sort_newest.h cook/builtin/private.h \
common/main.h cook/cook.h common/ac/time.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h common/str_list.h common/str.h \
common/ac/stdarg.h common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/sort_newest.c
mv sort_newest.$(OBJEXT) $@
cook/builtin/split.$(OBJEXT): cook/builtin/split.c cook/builtin/split.h \
cook/builtin/private.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/split.c
mv split.$(OBJEXT) $@
cook/builtin/stringset.$(OBJEXT): cook/builtin/stringset.c \
cook/builtin/stringset.h cook/builtin/private.h \
common/main.h common/str_list.h common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/stringset.c
mv stringset.$(OBJEXT) $@
cook/builtin/strip.$(OBJEXT): cook/builtin/strip.c common/ac/ctype.h \
common/config.h common/config.messy.h \
cook/builtin/strip.h cook/builtin/private.h \
common/main.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/stracc.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/strip.c
mv strip.$(OBJEXT) $@
cook/builtin/stripdot.$(OBJEXT): cook/builtin/stripdot.c \
cook/builtin/stripdot.h cook/builtin/private.h \
common/main.h common/str_list.h common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/format_print.h \
cook/strip_dot.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/stripdot.c
mv stripdot.$(OBJEXT) $@
cook/builtin/strlen.$(OBJEXT): cook/builtin/strlen.c common/ac/string.h \
common/config.h common/config.messy.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h common/trace.h \
cook/builtin/strlen.h cook/builtin/private.h \
cook/expr/position.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/strlen.c
mv strlen.$(OBJEXT) $@
cook/builtin/subst.$(OBJEXT): cook/builtin/subst.c cook/builtin/subst.h \
cook/builtin/private.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/subst.c
mv subst.$(OBJEXT) $@
cook/builtin/substr.$(OBJEXT): cook/builtin/substr.c common/ac/ctype.h \
common/config.h common/config.messy.h \
cook/builtin/substr.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/expr/position.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/substr.c
mv substr.$(OBJEXT) $@
cook/builtin/suffix.$(OBJEXT): cook/builtin/suffix.c common/ac/string.h \
common/config.h common/config.messy.h \
cook/builtin/suffix.h cook/builtin/private.h \
common/main.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/suffix.c
mv suffix.$(OBJEXT) $@
cook/builtin/text.$(OBJEXT): cook/builtin/text.c common/ac/stdlib.h \
common/config.h common/config.messy.h common/ac/string.h \
cook/builtin/text.h cook/builtin/private.h common/main.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h common/ac/stdio.h cook/expr/position.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/stracc.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/text.c
mv text.$(OBJEXT) $@
cook/builtin/thread-id.$(OBJEXT): cook/builtin/thread-id.c \
cook/builtin/thread-id.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/opcode/context.h \
common/ac/stddef.h cook/opcode/status.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/thread-id.c
mv thread-id.$(OBJEXT) $@
cook/builtin/unsplit.$(OBJEXT): cook/builtin/unsplit.c \
cook/builtin/unsplit.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/unsplit.c
mv unsplit.$(OBJEXT) $@
cook/builtin/uptodate.$(OBJEXT): cook/builtin/uptodate.c \
cook/builtin/uptodate.h cook/builtin/private.h \
common/main.h cook/desist.h cook/graph.h \
cook/graph/build.h cook/graph/file.h common/ac/stddef.h \
common/config.h common/config.messy.h \
cook/graph/recipe_list.h cook/graph/stats.h \
cook/graph/walk.h cook/option.h common/str.h \
common/ac/stdarg.h common/format_print.h \
common/str_list.h common/symtab.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/uptodate.c
mv uptodate.$(OBJEXT) $@
cook/builtin/word.$(OBJEXT): cook/builtin/word.c common/ac/ctype.h \
common/config.h common/config.messy.h \
cook/builtin/word.h cook/builtin/private.h common/main.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h common/ac/stdio.h cook/expr/position.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/word.c
mv word.$(OBJEXT) $@
cook/builtin/wordlist.$(OBJEXT): cook/builtin/wordlist.c \
common/ac/ctype.h common/config.h common/config.messy.h \
cook/builtin/wordlist.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/expr/position.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/wordlist.c
mv wordlist.$(OBJEXT) $@
cook/builtin/write.$(OBJEXT): cook/builtin/write.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/string.h \
cook/builtin/write.h cook/builtin/private.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
cook/expr/position.h common/fflush_slow.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/builtin/write.c
mv write.$(OBJEXT) $@
cook/cascade.$(OBJEXT): cook/cascade.c cook/cascade.h \
cook/expr/position.h common/main.h common/str_list.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h common/mem.h cook/strip_dot.h \
common/symtab.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/cascade.c
mv cascade.$(OBJEXT) $@
cook/cook.$(OBJEXT): cook/cook.c common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdio.h common/ac/time.h \
common/error.h common/format_print.h common/main.h \
common/noreturn.h common/error_intl.h common/sub.h \
common/mem.h common/os_path_cat.h common/star.h \
common/symtab.h common/str.h common/ac/stdarg.h \
common/trace.h cook/cascade.h cook/expr/position.h \
common/str_list.h cook/cook.h cook/desist.h cook/expr.h \
cook/fingerprint.h cook/fingerprint/value.h cook/flag.h \
cook/graph.h cook/graph/build.h cook/graph/file_pair.h \
cook/graph/leaf.h cook/graph/stats.h cook/graph/walk.h \
cook/graph/web.h cook/id.h cook/id/variable.h \
cook/match/new_by_recip.h cook/match.h \
cook/opcode/context.h cook/opcode/status.h cook/option.h \
cook/os_interface.h cook/recipe.h cook/recipe/list.h \
cook/stat.cache.h cook/stmt.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/cook.c
mv cook.$(OBJEXT) $@
cook/desist.$(OBJEXT): cook/desist.c common/ac/signal.h common/config.h \
common/config.messy.h common/ac/string.h cook/desist.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/os_interface.h common/ac/time.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/str_list.h common/star.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/desist.c
mv desist.$(OBJEXT) $@
cook/dir_part.$(OBJEXT): cook/dir_part.c cook/dir_part.h common/main.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/dir_part.c
mv dir_part.$(OBJEXT) $@
cook/expr.$(OBJEXT): cook/expr.c common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/ac/stdio.h cook/builtin.h common/main.h \
cook/cook.h common/ac/time.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
cook/expr.h cook/expr/position.h cook/id.h \
common/str_list.h common/str.h cook/lex.h cook/match.h \
common/mem.h cook/opcode/list.h cook/opcode/push.h \
cook/opcode.h cook/opcode/status.h cook/option.h \
cook/stmt.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/expr.c
mv expr.$(OBJEXT) $@
cook/expr/catenate.$(OBJEXT): cook/expr/catenate.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/catenate.h \
cook/opcode/catenate.h cook/opcode.h \
cook/opcode/status.h cook/opcode/list.h \
cook/opcode/push.h common/str_list.h common/str.h \
common/ac/stdarg.h common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/expr/catenate.c
mv catenate.$(OBJEXT) $@
cook/expr/constant.$(OBJEXT): cook/expr/constant.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/constant.h \
cook/match.h cook/opcode/list.h cook/opcode/string.h \
cook/opcode.h cook/opcode/status.h common/str_list.h \
common/str.h common/ac/stdarg.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/expr/constant.c
mv constant.$(OBJEXT) $@
cook/expr/function.$(OBJEXT): cook/expr/function.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/function.h \
cook/expr/list.h cook/opcode/function.h \
cook/opcode/list.h cook/opcode/push.h cook/opcode.h \
cook/opcode/status.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/expr/function.c
mv function.$(OBJEXT) $@
cook/expr/list.$(OBJEXT): cook/expr/list.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/list.h \
cook/match.h common/mem.h cook/opcode/list.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/expr/list.c
mv list.$(OBJEXT) $@
cook/expr/position.$(OBJEXT): cook/expr/position.c common/error_intl.h \
common/sub.h common/main.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/config.h \
common/config.messy.h cook/expr/position.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/expr/position.c
mv position.$(OBJEXT) $@
cook/fingerprint.$(OBJEXT): cook/fingerprint.c cook/fingerprint.h \
common/main.h cook/fingerprint/find.h \
cook/fingerprint/record.h cook/fingerprint/value.h \
common/ac/stdio.h common/config.h common/config.messy.h \
common/ac/time.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/format_print.h \
cook/fingerprint/subdir.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint.c
mv fingerprint.$(OBJEXT) $@
cook/fingerprint/calc_string.$(OBJEXT): cook/fingerprint/calc_string.c \
cook/fingerprint.h common/main.h common/fp/combined.h \
common/fp.h common/ac/stddef.h common/config.h \
common/config.messy.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/calc_string.c
mv calc_string.$(OBJEXT) $@
cook/fingerprint/calculate.$(OBJEXT): cook/fingerprint/calculate.c \
common/ac/errno.h common/config.h common/config.messy.h \
cook/archive.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/error_intl.h common/sub.h common/noreturn.h \
common/ac/stdio.h cook/fingerprint.h \
common/fp/combined.h common/fp.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/calculate.c
mv calculate.$(OBJEXT) $@
cook/fingerprint/filename.$(OBJEXT): cook/fingerprint/filename.c \
cook/fingerprint/filename.h common/main.h \
common/progname.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/filename.c
mv filename.$(OBJEXT) $@
cook/fingerprint/find.$(OBJEXT): cook/fingerprint/find.c \
common/ac/string.h common/config.h common/config.messy.h \
common/os_path_cat.h common/quit.h common/main.h \
common/noreturn.h common/symtab.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/trace.h \
cook/fingerprint/find.h cook/fingerprint/record.h \
cook/fingerprint/value.h common/ac/stdio.h \
common/ac/time.h cook/fingerprint/subdir.h cook/option.h \
common/str_list.h cook/os/rel_if_poss.h \
cook/os_interface.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/find.c
mv find.$(OBJEXT) $@
cook/fingerprint/gram.gen.c cook/fingerprint/gram.gen.h: \
cook/fingerprint/gram.y
@echo Expect no conflicts:
$(YACC) -d cook/fingerprint/gram.y
sed -e 's/[yY][yY]/fingerprint_gram_/g' -e '//d' -e \
'//d' -e '//d' y.tab.c > \
cook/fingerprint/gram.gen.c
sed -e 's/[yY][yY]/fingerprint_gram_/g' -e \
's/Y_TAB_H/fingerprint_gram_TAB_H/g' y.tab.h > \
cook/fingerprint/gram.gen.h
rm y.tab.c y.tab.h
cook/fingerprint/gram.gen.$(OBJEXT): cook/fingerprint/gram.gen.c \
common/ac/stdlib.h common/config.h common/config.messy.h \
cook/fingerprint/find.h common/main.h \
cook/fingerprint/gram.h cook/fingerprint/lex.h \
cook/fingerprint/subdir.h cook/fingerprint/value.h \
common/ac/stdio.h common/ac/time.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/gram.gen.c
mv gram.gen.$(OBJEXT) $@
cook/fingerprint/ingredients.$(OBJEXT): cook/fingerprint/ingredients.c \
cook/fingerprint.h common/main.h \
cook/fingerprint/value.h common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/time.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/ingredients.c
mv ingredients.$(OBJEXT) $@
cook/fingerprint/lex.$(OBJEXT): cook/fingerprint/lex.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/errno.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/input/file_text.h \
common/input.h common/input/null.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
cook/fingerprint/lex.h cook/fingerprint/gram.gen.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/lex.c
mv lex.$(OBJEXT) $@
cook/fingerprint/record.$(OBJEXT): cook/fingerprint/record.c \
cook/fingerprint/record.h cook/fingerprint/value.h \
common/ac/stdio.h common/config.h common/config.messy.h \
common/ac/time.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h \
cook/fingerprint/subdir.h common/mem.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/record.c
mv record.$(OBJEXT) $@
cook/fingerprint/subdir.$(OBJEXT): cook/fingerprint/subdir.c \
common/ac/errno.h common/config.h common/config.messy.h \
common/ac/dirent.h common/ac/unistd.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/mem.h common/ac/stddef.h \
common/os_path_cat.h common/star.h common/str.h \
common/ac/stdarg.h common/symtab.h common/trace.h \
cook/fingerprint.h cook/fingerprint/filename.h \
cook/fingerprint/find.h cook/fingerprint/gram.h \
cook/fingerprint/record.h cook/fingerprint/value.h \
common/ac/time.h cook/fingerprint/subdir.h \
cook/os_interface.h common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/subdir.c
mv subdir.$(OBJEXT) $@
cook/fingerprint/sync.$(OBJEXT): cook/fingerprint/sync.c \
common/ac/time.h common/config.h common/config.messy.h \
cook/fingerprint/find.h common/main.h \
cook/fingerprint/sync.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/sync.c
mv sync.$(OBJEXT) $@
cook/fingerprint/value.$(OBJEXT): cook/fingerprint/value.c \
cook/fingerprint/value.h common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/time.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h common/mem.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/fingerprint/value.c
mv value.$(OBJEXT) $@
cook/flag.$(OBJEXT): cook/flag.c common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
common/itab.h common/mem.h common/ac/stddef.h \
common/star.h common/str_list.h common/str.h \
common/ac/stdarg.h common/symtab.h common/trace.h \
cook/expr/position.h cook/flag.h cook/option.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/flag.c
mv flag.$(OBJEXT) $@
cook/function.$(OBJEXT): cook/function.c common/ac/stdio.h \
common/config.h common/config.messy.h cook/function.h \
common/main.h cook/id.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h cook/id/function.h \
cook/id/global.h cook/opcode/label.h cook/opcode/list.h \
cook/opcode/postlude.h cook/opcode/prelude.h \
cook/option.h cook/stmt.h common/symtab.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/function.c
mv function.$(OBJEXT) $@
cook/graph.$(OBJEXT): cook/graph.c cook/graph.h common/main.h \
cook/graph/file.h common/ac/stddef.h common/config.h \
common/config.messy.h cook/graph/file_pair.h \
cook/graph/recipe_list.h common/mem.h common/str_list.h \
common/str.h common/ac/stdarg.h common/format_print.h \
common/symtab.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph.c
mv graph.$(OBJEXT) $@
cook/graph/build.$(OBJEXT): cook/graph/build.c common/error.h \
common/format_print.h common/main.h common/noreturn.h \
common/error_intl.h common/sub.h common/ac/stdio.h \
common/config.h common/config.messy.h common/star.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/symtab.h common/trace.h \
cook/cascade.h cook/expr/position.h cook/cook.h \
common/ac/time.h cook/desist.h cook/expr.h \
cook/fingerprint/sync.h cook/graph.h cook/graph/build.h \
cook/graph/file.h cook/graph/file_list.h \
cook/graph/edge_type.h cook/graph/file_pair.h \
cook/graph/leaf.h cook/graph/recipe.h \
cook/graph/recipe_list.h cook/id.h cook/id/variable.h \
cook/match/new_by_recip.h cook/match.h cook/match/wl.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/list.h cook/option.h cook/os_interface.h \
cook/recipe.h cook/recipe/list.h cook/strip_dot.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/build.c
mv build.$(OBJEXT) $@
cook/graph/check.$(OBJEXT): cook/graph/check.c cook/cook.h \
common/ac/time.h common/config.h common/config.messy.h \
common/main.h cook/graph/check.h cook/graph/walk.h \
cook/graph/file.h common/ac/stddef.h \
cook/graph/file_list.h cook/graph/edge_type.h \
common/str.h common/ac/stdarg.h common/format_print.h \
cook/graph/recipe.h cook/opcode/context.h \
cook/opcode/status.h cook/option.h common/str_list.h \
cook/recipe.h cook/expr/position.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/check.c
mv check.$(OBJEXT) $@
cook/graph/edge_type.$(OBJEXT): cook/graph/edge_type.c \
common/ac/string.h common/config.h common/config.messy.h \
cook/graph/edge_type.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/edge_type.c
mv edge_type.$(OBJEXT) $@
cook/graph/file.$(OBJEXT): cook/graph/file.c cook/graph/file.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/graph/recipe_list.h common/mem.h \
common/str.h common/ac/stdarg.h common/format_print.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/file.c
mv file.$(OBJEXT) $@
cook/graph/file_list.$(OBJEXT): cook/graph/file_list.c cook/graph/file.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/graph/file_list.h \
cook/graph/edge_type.h common/str.h common/ac/stdarg.h \
common/format_print.h common/mem.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/file_list.c
mv file_list.$(OBJEXT) $@
cook/graph/file_pair.$(OBJEXT): cook/graph/file_pair.c \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/graph.h cook/graph/file_pair.h \
common/mem.h common/ac/stddef.h common/str_list.h \
common/str.h common/ac/stdarg.h common/symtab.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/file_pair.c
mv file_pair.$(OBJEXT) $@
cook/graph/leaf.$(OBJEXT): cook/graph/leaf.c cook/cook.h \
common/ac/time.h common/config.h common/config.messy.h \
common/main.h cook/graph/leaf.h cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/format_print.h \
cook/id/variable.h cook/match/new_by_recip.h \
cook/match.h cook/id/global.h cook/opcode/context.h \
cook/opcode/status.h common/symtab.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/leaf.c
mv leaf.$(OBJEXT) $@
cook/graph/pairs.$(OBJEXT): cook/graph/pairs.c common/ac/stdio.h \
common/config.h common/config.messy.h cook/graph/file.h \
common/ac/stddef.h common/main.h cook/graph/file_list.h \
cook/graph/edge_type.h common/str.h common/ac/stdarg.h \
common/format_print.h cook/graph/pairs.h \
cook/graph/walk.h cook/graph/recipe.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/pairs.c
mv pairs.$(OBJEXT) $@
cook/graph/recipe.$(OBJEXT): cook/graph/recipe.c cook/cook.h \
common/ac/time.h common/config.h common/config.messy.h \
common/main.h cook/dir_part.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/graph/file.h common/ac/stddef.h \
cook/graph/file_list.h cook/graph/edge_type.h \
common/str.h common/ac/stdarg.h cook/graph/recipe.h \
cook/id.h common/str_list.h cook/opcode/context.h \
cook/opcode/status.h cook/match.h common/mem.h \
cook/option.h cook/os_interface.h cook/recipe.h \
cook/expr/position.h common/star.h cook/stmt.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/recipe.c
mv recipe.$(OBJEXT) $@
cook/graph/recipe_list.$(OBJEXT): cook/graph/recipe_list.c \
cook/graph/recipe.h common/ac/stddef.h common/config.h \
common/config.messy.h common/main.h \
cook/graph/recipe_list.h common/mem.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/recipe_list.c
mv recipe_list.$(OBJEXT) $@
cook/graph/run.$(OBJEXT): cook/graph/run.c common/ac/string.h \
common/config.h common/config.messy.h common/ac/unistd.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/os_path_cat.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/trace.h cook/cook.h common/ac/time.h \
cook/dir_part.h cook/fingerprint.h common/ts.h \
cook/graph.h cook/graph/file.h cook/graph/file_list.h \
cook/graph/edge_type.h cook/graph/file_pair.h \
cook/graph/recipe.h cook/graph/run.h cook/graph/walk.h \
cook/id.h cook/id/variable.h cook/match.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/list.h cook/option.h cook/os_interface.h \
cook/recipe.h cook/expr/position.h cook/stmt.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/run.c
mv run.$(OBJEXT) $@
cook/graph/script.$(OBJEXT): cook/graph/script.c common/ac/stdio.h \
common/config.h common/config.messy.h cook/dir_part.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
cook/graph/file.h common/ac/stddef.h \
cook/graph/file_list.h cook/graph/edge_type.h \
common/str.h common/ac/stdarg.h cook/graph/recipe.h \
cook/graph/script.h cook/graph/walk.h cook/id.h \
common/str_list.h cook/id/variable.h cook/match.h \
cook/opcode/context.h cook/opcode/status.h cook/option.h \
cook/os_interface.h common/ac/time.h cook/recipe.h \
cook/expr/position.h common/star.h cook/stmt.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/script.c
mv script.$(OBJEXT) $@
cook/graph/stats.$(OBJEXT): cook/graph/stats.c common/ac/stdio.h \
common/config.h common/config.messy.h cook/graph.h \
common/main.h cook/graph/stats.h common/star.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/stats.c
mv stats.$(OBJEXT) $@
cook/graph/walk.$(OBJEXT): cook/graph/walk.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/stddef.h \
common/ac/stdio.h common/ac/stdlib.h common/ac/time.h \
cook/desist.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
cook/fingerprint/sync.h cook/graph.h cook/graph/check.h \
cook/graph/walk.h cook/graph/file.h \
cook/graph/file_list.h cook/graph/edge_type.h \
common/str.h common/ac/stdarg.h cook/graph/pairs.h \
cook/graph/recipe.h cook/graph/recipe_list.h \
cook/graph/run.h cook/graph/script.h cook/id.h \
common/str_list.h cook/id/variable.h common/itab.h \
cook/meter.h cook/opcode/context.h cook/opcode/status.h \
cook/option.h cook/os/wait.h cook/recipe.h \
cook/expr/position.h common/star.h common/symtab.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/walk.c
mv walk.$(OBJEXT) $@
cook/graph/web.$(OBJEXT): cook/graph/web.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/string.h cook/dir_part.h common/main.h \
cook/graph.h cook/graph/file.h common/ac/stddef.h \
cook/graph/file_list.h cook/graph/edge_type.h \
common/str.h common/ac/stdarg.h common/format_print.h \
cook/graph/recipe.h cook/graph/recipe_list.h \
cook/graph/web.h cook/id.h common/str_list.h \
cook/id/variable.h cook/option.h cook/opcode/context.h \
cook/opcode/status.h cook/recipe.h cook/expr/position.h \
common/symtab.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/graph/web.c
mv web.$(OBJEXT) $@
cook/hashline.gen.c cook/hashline.gen.h: cook/hashline.y
@echo Expect no conflicts:
$(YACC) -d cook/hashline.y
sed -e 's/[yY][yY]/hashline_/g' -e '//d' -e \
'//d' -e '//d' y.tab.c > \
cook/hashline.gen.c
sed -e 's/[yY][yY]/hashline_/g' -e 's/Y_TAB_H/hashline_TAB_H/g' \
y.tab.h > cook/hashline.gen.h
rm y.tab.c y.tab.h
cook/hashline.gen.$(OBJEXT): cook/hashline.gen.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stddef.h \
common/ac/string.h common/ac/time.h common/ac/stdlib.h \
common/mem.h common/main.h common/os_path_cat.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/sub.h common/trace.h \
cook/cook.h cook/expr.h cook/expr/position.h \
cook/expr/catenate.h cook/expr/constant.h \
cook/expr/function.h cook/expr/list.h cook/hashline.h \
cook/lex.h cook/opcode/context.h cook/opcode/status.h \
cook/option.h cook/os_interface.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/hashline.gen.c
mv hashline.gen.$(OBJEXT) $@
cook/id.$(OBJEXT): cook/id.c common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdlib.h \
cook/id/global.h common/main.h cook/id/private.h \
cook/id.h common/str_list.h common/str.h \
common/ac/stdarg.h common/format_print.h \
cook/id/variable.h common/mem.h cook/option.h \
common/progname.h common/version-stmp.h common/symtab.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/id.c
mv id.$(OBJEXT) $@
cook/id/builtin.$(OBJEXT): cook/id/builtin.c cook/expr/position.h \
common/main.h cook/builtin/private.h cook/id/builtin.h \
cook/id/private.h cook/id.h common/str_list.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h cook/opcode/context.h \
cook/opcode/status.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/id/builtin.c
mv builtin.$(OBJEXT) $@
cook/id/function.$(OBJEXT): cook/id/function.c cook/id/function.h \
common/main.h cook/id/private.h cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/format_print.h cook/opcode/context.h \
cook/opcode/status.h cook/opcode/list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/id/function.c
mv function.$(OBJEXT) $@
cook/id/global.$(OBJEXT): cook/id/global.c cook/id/private.h cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h cook/id/global.h \
common/symtab.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/id/global.c
mv global.$(OBJEXT) $@
cook/id/nothing.$(OBJEXT): cook/id/nothing.c cook/id/nothing.h \
common/main.h cook/id/private.h cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/format_print.h cook/opcode/context.h \
cook/opcode/status.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/id/nothing.c
mv nothing.$(OBJEXT) $@
cook/id/private.$(OBJEXT): cook/id/private.c cook/id/private.h cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h common/mem.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/id/private.c
mv private.$(OBJEXT) $@
cook/id/variable.$(OBJEXT): cook/id/variable.c common/error_intl.h \
common/sub.h common/main.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/config.h \
common/config.messy.h cook/expr/position.h \
cook/id/variable.h cook/id/private.h cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h cook/opcode/context.h \
cook/opcode/status.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/id/variable.c
mv variable.$(OBJEXT) $@
cook/lex.$(OBJEXT): cook/lex.c common/ac/ctype.h common/config.h \
common/config.messy.h common/ac/stddef.h \
common/ac/string.h common/ac/stdlib.h common/ac/stdarg.h \
common/error.h common/format_print.h common/main.h \
common/noreturn.h common/error_intl.h common/sub.h \
common/ac/stdio.h common/input/file_text.h \
common/input.h common/mem.h common/star.h \
common/str_list.h common/str.h common/stracc.h \
common/symtab.h common/trace.h cook/expr.h \
cook/expr/position.h cook/expr/list.h cook/hashline.h \
cook/lex.h cook/lex/filename.h cook/lex/filenamelist.h \
cook/option.h cook/stmt.h cook/stmt/list.h \
cook/parse.gen.h cook/hashline.gen.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/lex.c
mv lex.$(OBJEXT) $@
cook/lex/filename.$(OBJEXT): cook/lex/filename.c cook/lex/filename.h \
common/main.h common/mem.h common/ac/stddef.h \
common/config.h common/config.messy.h common/str.h \
common/ac/stdarg.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/lex/filename.c
mv filename.$(OBJEXT) $@
cook/lex/filenamelist.$(OBJEXT): cook/lex/filenamelist.c \
cook/lex/filename.h common/main.h \
cook/lex/filenamelist.h common/ac/stddef.h \
common/config.h common/config.messy.h common/mem.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/lex/filenamelist.c
mv filenamelist.$(OBJEXT) $@
cook/listing.$(OBJEXT): cook/listing.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdio.h \
common/ac/string.h common/ac/time.h common/ac/signal.h \
common/ac/unistd.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
cook/listing.h cook/os_interface.h common/str.h \
common/ac/stdarg.h common/str_list.h cook/os/wait.h \
cook/option.h common/quit.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/listing.c
mv listing.$(OBJEXT) $@
cook/main.$(OBJEXT): cook/main.c common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/string.h \
common/ac/stdio.h common/ac/stdlib.h common/ac/signal.h \
common/arglex.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/fflush_slow.h common/help.h common/progname.h \
common/quit.h common/star.h common/trace.h \
common/version.h cook/builtin.h cook/cook.h \
common/ac/time.h cook/fingerprint.h cook/id.h \
common/str_list.h common/str.h common/ac/stdarg.h \
cook/id/variable.h cook/lex.h cook/listing.h \
cook/opcode/context.h cook/opcode/status.h cook/option.h \
cook/parse.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/main.c
mv main.$(OBJEXT) $@
cook/match.$(OBJEXT): cook/match.c cook/expr/position.h common/main.h \
cook/match/private.h cook/match.h common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/str.h common/ac/stdarg.h common/format_print.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match.c
mv match.$(OBJEXT) $@
cook/match/cook.$(OBJEXT): cook/match/cook.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
common/error.h common/format_print.h common/main.h \
common/noreturn.h common/error_intl.h common/sub.h \
common/ac/stdio.h cook/expr/position.h cook/match/cook.h \
cook/match.h cook/match/private.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/stracc.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match/cook.c
mv cook.$(OBJEXT) $@
cook/match/new.$(OBJEXT): cook/match/new.c cook/match/cook.h \
cook/match.h common/main.h cook/match/private.h \
cook/match/regex.h cook/option.h common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/format_print.h \
common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match/new.c
mv new.$(OBJEXT) $@
cook/match/new_by_recip.$(OBJEXT): cook/match/new_by_recip.c \
cook/match/new_by_recip.h cook/match.h common/main.h \
cook/option.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/format_print.h common/str_list.h cook/recipe.h \
cook/expr/position.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match/new_by_recip.c
mv new_by_recip.$(OBJEXT) $@
cook/match/private.$(OBJEXT): cook/match/private.c cook/match/private.h \
cook/match.h common/main.h common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match/private.c
mv private.$(OBJEXT) $@
cook/match/regex.$(OBJEXT): cook/match/regex.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/string.h \
common/ac/regex.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/expr/position.h \
cook/match/private.h cook/match.h cook/match/regex.h \
common/str.h common/ac/stdarg.h common/stracc.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match/regex.c
mv regex.$(OBJEXT) $@
cook/match/stack.$(OBJEXT): cook/match/stack.c cook/match/stack.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/match.h common/main.h common/mem.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match/stack.c
mv stack.$(OBJEXT) $@
cook/match/wl.$(OBJEXT): cook/match/wl.c cook/expr/position.h \
common/main.h cook/match/wl.h cook/match.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/match/wl.c
mv wl.$(OBJEXT) $@
cook/meter.$(OBJEXT): cook/meter.c common/ac/stdio.h common/config.h \
common/config.messy.h common/ac/string.h common/mem.h \
common/ac/stddef.h common/main.h cook/meter.h \
common/ac/time.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/meter.c
mv meter.$(OBJEXT) $@
cook/opcode.$(OBJEXT): cook/opcode.c common/ac/stdio.h common/config.h \
common/config.messy.h cook/opcode/private.h \
cook/opcode.h cook/opcode/status.h common/main.h \
common/mem.h common/ac/stddef.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode.c
mv opcode.$(OBJEXT) $@
cook/opcode/assign.$(OBJEXT): cook/opcode/assign.c common/ac/stdio.h \
common/config.h common/config.messy.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
cook/expr/position.h cook/id.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
cook/id/variable.h cook/opcode/assign.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/private.h cook/opcode.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/assign.c
mv assign.$(OBJEXT) $@
cook/opcode/assign_appen.$(OBJEXT): cook/opcode/assign_appen.c \
common/ac/stdio.h common/config.h common/config.messy.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
cook/expr/position.h cook/id.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
cook/id/nothing.h cook/id/variable.h \
cook/opcode/assign_appen.h cook/opcode/context.h \
cook/opcode/status.h cook/opcode/private.h cook/opcode.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/assign_appen.c
mv assign_appen.$(OBJEXT) $@
cook/opcode/assign_local.$(OBJEXT): cook/opcode/assign_local.c \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/config.h common/config.messy.h \
cook/expr/position.h cook/id.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
cook/id/variable.h cook/opcode/assign_local.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/private.h cook/opcode.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/assign_local.c
mv assign_local.$(OBJEXT) $@
cook/opcode/cascade.$(OBJEXT): cook/opcode/cascade.c common/ac/stdio.h \
common/config.h common/config.messy.h cook/cascade.h \
cook/expr/position.h common/main.h common/str_list.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h cook/cook.h common/ac/time.h \
cook/opcode/cascade.h cook/opcode/context.h \
cook/opcode/status.h cook/opcode/private.h cook/opcode.h \
cook/option.h common/sub.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/cascade.c
mv cascade.$(OBJEXT) $@
cook/opcode/catenate.$(OBJEXT): cook/opcode/catenate.c \
cook/opcode/catenate.h cook/opcode.h \
cook/opcode/status.h common/main.h cook/opcode/context.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/opcode/private.h common/str_list.h common/str.h \
common/ac/stdarg.h common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/catenate.c
mv catenate.$(OBJEXT) $@
cook/opcode/command.$(OBJEXT): cook/opcode/command.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/fcntl.h \
common/ac/stdio.h common/ac/stdlib.h common/ac/string.h \
common/ac/time.h common/ac/unistd.h common/error.h \
common/format_print.h common/main.h common/noreturn.h \
common/error_intl.h common/sub.h cook/expr/position.h \
cook/flag.h cook/id.h common/str_list.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h cook/id/variable.h \
common/mem.h cook/meter.h cook/opcode/context.h \
cook/opcode/status.h cook/opcode/command.h \
cook/opcode/private.h cook/opcode.h cook/option.h \
cook/os_interface.h common/star.h cook/tempfilename.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/command.c
mv command.$(OBJEXT) $@
cook/opcode/context.$(OBJEXT): cook/opcode/context.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/stddef.h \
cook/desist.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/id.h common/str_list.h \
common/str.h common/ac/stdarg.h cook/id/global.h \
cook/id/variable.h cook/match/stack.h cook/match.h \
common/mem.h cook/meter.h common/ac/time.h cook/opcode.h \
cook/opcode/status.h cook/opcode/context.h \
cook/opcode/list.h cook/opcode/thread-id.h cook/option.h \
cook/os/wait.h common/symtab.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/context.c
mv context.$(OBJEXT) $@
cook/opcode/fail.$(OBJEXT): cook/opcode/fail.c common/ac/stdio.h \
common/config.h common/config.messy.h common/error.h \
common/format_print.h common/main.h common/noreturn.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h cook/opcode/fail.h \
cook/opcode/private.h cook/opcode.h cook/option.h \
common/str.h common/ac/stdarg.h common/str_list.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/fail.c
mv fail.$(OBJEXT) $@
cook/opcode/function.$(OBJEXT): cook/opcode/function.c common/ac/stdio.h \
common/config.h common/config.messy.h cook/builtin.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h cook/expr.h \
common/ac/stddef.h cook/expr/position.h cook/function.h \
cook/id.h common/str_list.h common/str.h \
common/ac/stdarg.h cook/id/nothing.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/function.h cook/opcode/list.h \
cook/opcode/private.h cook/opcode.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/function.c
mv function.$(OBJEXT) $@
cook/opcode/gosub.$(OBJEXT): cook/opcode/gosub.c common/error_intl.h \
common/sub.h common/main.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/config.h \
common/config.messy.h cook/expr/position.h cook/opcode.h \
cook/opcode/status.h cook/opcode/context.h \
common/ac/stddef.h cook/opcode/gosub.h \
cook/opcode/private.h common/str_list.h common/str.h \
common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/gosub.c
mv gosub.$(OBJEXT) $@
cook/opcode/goto.$(OBJEXT): cook/opcode/goto.c common/ac/stdio.h \
common/config.h common/config.messy.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h common/main.h cook/opcode/goto.h \
cook/opcode/label.h cook/opcode/private.h cook/opcode.h \
common/trace.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/goto.c
mv goto.$(OBJEXT) $@
cook/opcode/jmpf.$(OBJEXT): cook/opcode/jmpf.c common/ac/stdio.h \
common/config.h common/config.messy.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h common/main.h cook/opcode/jmpf.h \
cook/opcode/label.h cook/opcode/private.h cook/opcode.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/jmpf.c
mv jmpf.$(OBJEXT) $@
cook/opcode/jmpt.$(OBJEXT): cook/opcode/jmpt.c common/ac/stdio.h \
common/config.h common/config.messy.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h common/main.h cook/opcode/jmpt.h \
cook/opcode/label.h cook/opcode/private.h cook/opcode.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/jmpt.c
mv jmpt.$(OBJEXT) $@
cook/opcode/label.$(OBJEXT): cook/opcode/label.c common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/opcode/label.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/label.c
mv label.$(OBJEXT) $@
cook/opcode/list.$(OBJEXT): cook/opcode/list.c common/ac/stdio.h \
common/config.h common/config.messy.h \
common/fflush_slow.h common/main.h cook/match.h \
common/mem.h common/ac/stddef.h cook/opcode.h \
cook/opcode/status.h cook/opcode/context.h \
cook/opcode/list.h common/str_list.h common/str.h \
common/ac/stdarg.h common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/list.c
mv list.$(OBJEXT) $@
cook/opcode/postlude.$(OBJEXT): cook/opcode/postlude.c cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/private.h cook/opcode.h \
cook/opcode/postlude.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/postlude.c
mv postlude.$(OBJEXT) $@
cook/opcode/prelude.$(OBJEXT): cook/opcode/prelude.c cook/id.h \
common/str_list.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h cook/id/variable.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/private.h cook/opcode.h \
cook/opcode/prelude.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/prelude.c
mv prelude.$(OBJEXT) $@
cook/opcode/private.$(OBJEXT): cook/opcode/private.c common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/opcode/private.h cook/opcode.h \
cook/opcode/status.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/private.c
mv private.$(OBJEXT) $@
cook/opcode/push.$(OBJEXT): cook/opcode/push.c cook/opcode/context.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/opcode/status.h common/main.h cook/opcode/private.h \
cook/opcode.h cook/opcode/push.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/push.c
mv push.$(OBJEXT) $@
cook/opcode/recipe.$(OBJEXT): cook/opcode/recipe.c cook/cook.h \
common/ac/time.h common/config.h common/config.messy.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/expr/position.h cook/flag.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h cook/opcode/list.h \
cook/opcode/recipe.h cook/opcode/private.h cook/opcode.h \
cook/option.h common/str.h common/ac/stdarg.h \
common/str_list.h cook/recipe.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/recipe.c
mv recipe.$(OBJEXT) $@
cook/opcode/set.$(OBJEXT): cook/opcode/set.c common/ac/stdio.h \
common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/flag.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h cook/opcode/private.h cook/opcode.h \
cook/opcode/set.h cook/option.h common/str.h \
common/ac/stdarg.h common/format_print.h \
common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/set.c
mv set.$(OBJEXT) $@
cook/opcode/setenv.$(OBJEXT): cook/opcode/setenv.c common/ac/stdio.h \
common/config.h common/config.messy.h common/env.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
cook/expr/position.h cook/opcode/context.h \
common/ac/stddef.h cook/opcode/status.h \
cook/opcode/private.h cook/opcode.h cook/opcode/setenv.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/setenv.c
mv setenv.$(OBJEXT) $@
cook/opcode/setenv_appen.$(OBJEXT): cook/opcode/setenv_appen.c \
common/ac/stdio.h common/config.h common/config.messy.h \
common/ac/stdlib.h common/env.h common/main.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h cook/expr/position.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h cook/opcode/private.h cook/opcode.h \
cook/opcode/setenv_appen.h common/str_list.h \
common/str.h common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/setenv_appen.c
mv setenv_appen.$(OBJEXT) $@
cook/opcode/status.$(OBJEXT): cook/opcode/status.c cook/opcode/status.h \
common/main.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/status.c
mv status.$(OBJEXT) $@
cook/opcode/string.$(OBJEXT): cook/opcode/string.c common/ac/stdio.h \
common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/opcode/context.h \
common/ac/stddef.h cook/opcode/status.h cook/match.h \
cook/opcode/private.h cook/opcode.h cook/opcode/string.h \
common/str.h common/ac/stdarg.h common/format_print.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/string.c
mv string.$(OBJEXT) $@
cook/opcode/thread-id.$(OBJEXT): cook/opcode/thread-id.c common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/opcode/thread-id.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/thread-id.c
mv thread-id.$(OBJEXT) $@
cook/opcode/touch.$(OBJEXT): cook/opcode/touch.c common/ac/stdio.h \
common/config.h common/config.messy.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
cook/opcode/context.h common/ac/stddef.h \
cook/opcode/status.h cook/opcode/private.h cook/opcode.h \
cook/opcode/touch.h cook/option.h common/str.h \
common/ac/stdarg.h common/str_list.h cook/os_interface.h \
common/ac/time.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/touch.c
mv touch.$(OBJEXT) $@
cook/opcode/unsetenv.$(OBJEXT): cook/opcode/unsetenv.c common/ac/stdio.h \
common/config.h common/config.messy.h common/env.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h \
cook/expr/position.h cook/opcode/context.h \
common/ac/stddef.h cook/opcode/status.h \
cook/opcode/private.h cook/opcode.h \
cook/opcode/unsetenv.h common/str_list.h common/str.h \
common/ac/stdarg.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/opcode/unsetenv.c
mv unsetenv.$(OBJEXT) $@
cook/option.$(OBJEXT): cook/option.c common/ac/ctype.h common/config.h \
common/config.messy.h common/ac/limits.h \
common/ac/stddef.h common/ac/stdio.h common/ac/stdlib.h \
common/ac/string.h common/ac/time.h common/libdir.h \
common/main.h common/mem.h common/progname.h \
common/trace.h common/format_print.h cook/option.h \
common/str.h common/ac/stdarg.h common/str_list.h \
cook/os_interface.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/option.c
mv option.$(OBJEXT) $@
cook/os.$(OBJEXT): cook/os.c common/ac/errno.h common/config.h \
common/config.messy.h common/ac/fcntl.h \
common/ac/limits.h common/ac/signal.h common/ac/stddef.h \
common/ac/stdio.h common/ac/stdlib.h common/ac/string.h \
common/ac/time.h common/ac/unistd.h cook/archive.h \
common/str.h common/ac/stdarg.h common/main.h \
common/format_print.h common/ac/utime.h \
common/error_intl.h common/sub.h common/noreturn.h \
common/exeext.h common/home_directo.h common/mem.h \
cook/option.h common/str_list.h cook/os_interface.h \
cook/os/wait.h cook/stat.cache.h cook/tempfilename.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/os.c
mv os.$(OBJEXT) $@
cook/os/below_dir.$(OBJEXT): cook/os/below_dir.c cook/os_interface.h \
common/ac/time.h common/config.h common/config.messy.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h common/str_list.h \
cook/os/below_dir.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/os/below_dir.c
mv below_dir.$(OBJEXT) $@
cook/os/dirnam_relat.$(OBJEXT): cook/os/dirnam_relat.c \
common/ac/string.h common/config.h common/config.messy.h \
cook/os_interface.h common/ac/time.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/str_list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/os/dirnam_relat.c
mv dirnam_relat.$(OBJEXT) $@
cook/os/pathname.$(OBJEXT): cook/os/pathname.c common/ac/stdlib.h \
common/config.h common/config.messy.h common/ac/errno.h \
common/ac/string.h common/ac/unistd.h common/ac/mntent.h \
common/ac/stdio.h common/main.h common/error.h \
common/format_print.h common/noreturn.h \
common/error_intl.h common/sub.h common/mem.h \
common/ac/stddef.h common/os_path_cat.h common/str.h \
common/ac/stdarg.h common/str_list.h common/trace.h \
cook/os_interface.h common/ac/time.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/os/pathname.c
mv pathname.$(OBJEXT) $@
cook/os/rel_if_poss.$(OBJEXT): cook/os/rel_if_poss.c cook/os_interface.h \
common/ac/time.h common/config.h common/config.messy.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h common/str_list.h \
cook/os/below_dir.h cook/os/rel_if_poss.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/os/rel_if_poss.c
mv rel_if_poss.$(OBJEXT) $@
cook/os/symlink.$(OBJEXT): cook/os/symlink.c common/ac/errno.h \
common/config.h common/config.messy.h common/ac/unistd.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/os_interface.h common/ac/time.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/os/symlink.c
mv symlink.$(OBJEXT) $@
cook/os/wait.$(OBJEXT): cook/os/wait.c common/ac/stddef.h \
common/config.h common/config.messy.h common/mem.h \
common/main.h cook/os/wait.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/os/wait.c
mv wait.$(OBJEXT) $@
cook/parse.gen.c cook/parse.gen.h: cook/parse.y
@echo Expect no conflicts:
$(YACC) -d cook/parse.y
sed -e 's/[yY][yY]/parse_/g' -e '//d' -e \
'//d' -e '//d' y.tab.c > \
cook/parse.gen.c
sed -e 's/[yY][yY]/parse_/g' -e 's/Y_TAB_H/parse_TAB_H/g' \
y.tab.h > cook/parse.gen.h
rm y.tab.c y.tab.h
cook/parse.gen.$(OBJEXT): cook/parse.gen.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/stdio.h cook/expr.h cook/expr/position.h \
common/main.h cook/expr/catenate.h cook/expr/constant.h \
cook/expr/function.h cook/expr/list.h cook/function.h \
cook/lex.h common/str.h common/ac/stdarg.h \
common/format_print.h common/mem.h cook/option.h \
common/str_list.h cook/parse.h cook/stmt.h \
cook/stmt/append.h cook/stmt/assign.h \
cook/stmt/command.h cook/stmt/compound.h \
cook/stmt/fail.h cook/stmt/gosub.h cook/stmt/if.h \
cook/stmt/list.h cook/stmt/loop.h cook/stmt/loopvar.h \
cook/stmt/nop.h cook/stmt/recipe.h cook/stmt/return.h \
cook/stmt/set.h cook/stmt/unsetenv.h common/sub.h \
common/symtab.h common/trace.h common/star.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/parse.gen.c
mv parse.gen.$(OBJEXT) $@
cook/recipe.$(OBJEXT): cook/recipe.c common/ac/string.h common/config.h \
common/config.messy.h cook/expr.h common/ac/stddef.h \
cook/expr/position.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/ac/stdio.h cook/flag.h cook/match/new_by_recip.h \
cook/match.h cook/match/wl.h common/mem.h \
cook/opcode/list.h cook/option.h common/str.h \
common/ac/stdarg.h common/str_list.h cook/recipe.h \
cook/stmt.h cook/strip_dot.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/recipe.c
mv recipe.$(OBJEXT) $@
cook/recipe/list.$(OBJEXT): cook/recipe/list.c common/error.h \
common/format_print.h common/main.h common/noreturn.h \
common/mem.h common/ac/stddef.h common/config.h \
common/config.messy.h cook/recipe.h cook/expr/position.h \
cook/recipe/list.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/recipe/list.c
mv list.$(OBJEXT) $@
cook/stat.cache.$(OBJEXT): cook/stat.cache.c common/ac/string.h \
common/config.h common/config.messy.h common/ac/errno.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h \
common/ac/stdio.h common/mem.h common/ac/stddef.h \
common/symtab.h common/str.h common/ac/stdarg.h \
common/trace.h cook/archive.h cook/fingerprint.h \
cook/fingerprint/value.h common/ac/time.h cook/option.h \
common/str_list.h cook/stat.cache.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stat.cache.c
mv stat.cache.$(OBJEXT) $@
cook/stmt.$(OBJEXT): cook/stmt.c cook/desist.h common/main.h \
cook/match.h common/mem.h common/ac/stddef.h \
common/config.h common/config.messy.h \
cook/opcode/context.h cook/opcode/status.h \
cook/opcode/list.h cook/option.h common/str.h \
common/ac/stdarg.h common/format_print.h \
common/str_list.h common/star.h cook/stmt.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt.c
mv stmt.$(OBJEXT) $@
cook/stmt/append.$(OBJEXT): cook/stmt/append.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/constant.h \
cook/expr/list.h cook/opcode/assign_appen.h \
cook/opcode/cascade.h cook/opcode/setenv_appen.h \
cook/opcode/list.h cook/opcode/push.h cook/opcode.h \
cook/opcode/status.h cook/stmt.h cook/stmt/append.h \
common/str.h common/ac/stdarg.h common/format_print.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/append.c
mv append.$(OBJEXT) $@
cook/stmt/assign.$(OBJEXT): cook/stmt/assign.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/constant.h \
cook/expr/list.h cook/opcode/assign.h \
cook/opcode/assign_local.h cook/opcode/cascade.h \
cook/opcode/setenv.h cook/opcode/list.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
cook/stmt.h cook/stmt/assign.h common/str.h \
common/ac/stdarg.h common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/assign.c
mv assign.$(OBJEXT) $@
cook/stmt/command.$(OBJEXT): cook/stmt/command.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/list.h \
cook/opcode/command.h cook/opcode/list.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
cook/stmt.h cook/stmt/command.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/command.c
mv command.$(OBJEXT) $@
cook/stmt/compound.$(OBJEXT): cook/stmt/compound.c cook/stmt.h \
common/main.h cook/stmt/compound.h cook/stmt/list.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/trace.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/compound.c
mv compound.$(OBJEXT) $@
cook/stmt/fail.$(OBJEXT): cook/stmt/fail.c cook/expr/list.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/opcode/fail.h cook/opcode/list.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
cook/stmt.h cook/stmt/fail.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/fail.c
mv fail.$(OBJEXT) $@
cook/stmt/gosub.$(OBJEXT): cook/stmt/gosub.c common/error_intl.h \
common/sub.h common/main.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/config.h \
common/config.messy.h cook/expr/list.h \
common/ac/stddef.h cook/expr/position.h \
cook/opcode/function.h cook/opcode/gosub.h \
cook/opcode/list.h cook/opcode/push.h cook/opcode.h \
cook/opcode/status.h cook/stmt.h cook/stmt/gosub.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/gosub.c
mv gosub.$(OBJEXT) $@
cook/stmt/if.$(OBJEXT): cook/stmt/if.c cook/expr.h common/ac/stddef.h \
common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/opcode/label.h \
cook/opcode/list.h cook/opcode/goto.h cook/opcode/jmpf.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
cook/stmt.h cook/stmt/if.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/if.c
mv if.$(OBJEXT) $@
cook/stmt/list.$(OBJEXT): cook/stmt/list.c common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/stmt.h cook/stmt/list.h \
common/trace.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/list.c
mv list.$(OBJEXT) $@
cook/stmt/loop.$(OBJEXT): cook/stmt/loop.c common/error_intl.h \
common/sub.h common/main.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/config.h \
common/config.messy.h cook/expr/position.h \
cook/opcode/goto.h cook/opcode/label.h \
common/ac/stddef.h cook/opcode/list.h cook/stmt.h \
cook/stmt/loop.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/loop.c
mv loop.$(OBJEXT) $@
cook/stmt/loopvar.$(OBJEXT): cook/stmt/loopvar.c cook/expr.h \
common/ac/stddef.h common/config.h common/config.messy.h \
cook/expr/position.h common/main.h cook/expr/constant.h \
cook/expr/function.h cook/expr/list.h cook/stmt.h \
cook/stmt/assign.h cook/stmt/compound.h cook/stmt/if.h \
cook/stmt/list.h cook/stmt/loop.h cook/stmt/loopvar.h \
common/str.h common/ac/stdarg.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/loopvar.c
mv loopvar.$(OBJEXT) $@
cook/stmt/nop.$(OBJEXT): cook/stmt/nop.c cook/stmt.h common/main.h \
cook/stmt/nop.h common/trace.h common/ac/stddef.h \
common/config.h common/config.messy.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/nop.c
mv nop.$(OBJEXT) $@
cook/stmt/recipe.$(OBJEXT): cook/stmt/recipe.c common/trace.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h common/format_print.h cook/expr.h \
cook/expr/position.h cook/expr/list.h cook/opcode/list.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
cook/opcode/recipe.h cook/recipe.h cook/stmt.h \
cook/stmt/compound.h cook/stmt/list.h cook/stmt/recipe.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/recipe.c
mv recipe.$(OBJEXT) $@
cook/stmt/return.$(OBJEXT): cook/stmt/return.c common/error_intl.h \
common/sub.h common/main.h common/format_print.h \
common/noreturn.h common/ac/stdio.h common/config.h \
common/config.messy.h cook/expr/list.h \
common/ac/stddef.h cook/expr/position.h \
cook/opcode/goto.h cook/opcode/list.h cook/stmt.h \
cook/stmt/return.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/return.c
mv return.$(OBJEXT) $@
cook/stmt/set.$(OBJEXT): cook/stmt/set.c cook/expr/list.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/expr/position.h cook/opcode/list.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
cook/opcode/set.h cook/stmt.h cook/stmt/set.h \
common/trace.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/set.c
mv set.$(OBJEXT) $@
cook/stmt/touch.$(OBJEXT): cook/stmt/touch.c cook/expr/list.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/opcode/list.h cook/opcode/push.h \
cook/opcode.h cook/opcode/status.h cook/opcode/touch.h \
cook/stmt.h cook/stmt/touch.h common/trace.h \
common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/touch.c
mv touch.$(OBJEXT) $@
cook/stmt/unsetenv.$(OBJEXT): cook/stmt/unsetenv.c cook/expr/list.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h cook/expr/position.h cook/opcode/list.h \
cook/opcode/push.h cook/opcode.h cook/opcode/status.h \
cook/opcode/unsetenv.h cook/stmt.h cook/stmt/unsetenv.h \
common/trace.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/stmt/unsetenv.c
mv unsetenv.$(OBJEXT) $@
cook/strip_dot.$(OBJEXT): cook/strip_dot.c cook/option.h common/main.h \
common/str.h common/ac/stddef.h common/config.h \
common/config.messy.h common/ac/stdarg.h \
common/format_print.h common/str_list.h cook/strip_dot.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/strip_dot.c
mv strip_dot.$(OBJEXT) $@
cook/tempfilename.$(OBJEXT): cook/tempfilename.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/unistd.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h \
cook/tempfilename.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook/tempfilename.c
mv tempfilename.$(OBJEXT) $@
cook_bom/main.$(OBJEXT): cook_bom/main.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/arglex.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/help.h common/progname.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/version.h \
cook_bom/sniff.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook_bom/main.c
mv main.$(OBJEXT) $@
cook_bom/sniff.$(OBJEXT): cook_bom/sniff.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/stdio.h \
common/ac/string.h common/ac/errno.h common/ac/dirent.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h common/gmatch.h \
common/os_path_cat.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/str_list.h common/stracc.h \
common/symtab.h cook_bom/sniff.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cook_bom/sniff.c
mv sniff.$(OBJEXT) $@
cookfp/main.$(OBJEXT): cookfp/main.c common/ac/errno.h common/config.h \
common/config.messy.h common/ac/stdio.h \
common/ac/stdlib.h common/arglex.h common/main.h \
common/error_intl.h common/sub.h common/format_print.h \
common/noreturn.h common/fp/cksum.h common/fp.h \
common/ac/stddef.h common/fp/combined.h \
common/fp/ident.h common/fp/md5.h common/fp/snefru.h \
common/help.h common/progname.h common/version.h \
common/str_list.h common/str.h common/ac/stdarg.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cookfp/main.c
mv main.$(OBJEXT) $@
cooktime/date.gen.c cooktime/date.gen.h: cooktime/date.y
@echo Expect 8 shift/reduce conflicts:
$(YACC) -d cooktime/date.y
sed -e 's/[yY][yY]/date_/g' -e '//d' -e '//d' \
-e '//d' y.tab.c > cooktime/date.gen.c
sed -e 's/[yY][yY]/date_/g' -e 's/Y_TAB_H/date_TAB_H/g' y.tab.h \
> cooktime/date.gen.h
rm y.tab.c y.tab.h
cooktime/date.gen.$(OBJEXT): cooktime/date.gen.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/time.h common/ac/ctype.h common/ac/string.h \
cooktime/date.h common/main.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cooktime/date.gen.c
mv date.gen.$(OBJEXT) $@
cooktime/main.$(OBJEXT): cooktime/main.c common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdio.h \
common/ac/string.h common/ac/stdlib.h common/ac/utime.h \
common/ac/time.h common/arglex.h common/main.h \
cooktime/date.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h common/help.h \
common/progname.h common/str.h common/ac/stdarg.h \
common/ts.h common/version.h common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c cooktime/main.c
mv main.$(OBJEXT) $@
file_check/file_check.$(OBJEXT): file_check/file_check.c \
common/ac/ctype.h common/config.h common/config.messy.h \
common/ac/stdio.h common/ac/string.h \
file_check/file_check.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/error_intl.h common/sub.h common/noreturn.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c file_check/file_check.c
mv file_check.$(OBJEXT) $@
file_check/main.$(OBJEXT): file_check/main.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/arglex.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
file_check/file_check.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/help.h common/progname.h \
common/str_list.h common/version.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c file_check/main.c
mv main.$(OBJEXT) $@
find_libs/main.$(OBJEXT): find_libs/main.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stddef.h \
common/ac/string.h common/ac/stdlib.h common/arglex.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h common/help.h \
common/mem.h c_incl/os_interface.h common/progname.h \
common/str.h common/ac/stdarg.h common/version.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c find_libs/main.c
mv main.$(OBJEXT) $@
find_libs/os.$(OBJEXT): find_libs/os.c common/ac/errno.h common/config.h \
common/config.messy.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h c_incl/os_interface.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c find_libs/os.c
mv os.$(OBJEXT) $@
fstrcmp/main.$(OBJEXT): fstrcmp/main.c common/ac/stdio.h common/config.h \
common/config.messy.h common/ac/stdlib.h common/arglex.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h common/fstrcmp.h \
common/help.h common/progname.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/version.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c fstrcmp/main.c
mv main.$(OBJEXT) $@
$(datadir)/as: lib/as lib/.datadir
$(INSTALL_DATA) lib/as $@
$(datadir)/bison: lib/bison lib/.datadir
$(INSTALL_DATA) lib/bison $@
$(datadir)/c: lib/c lib/.datadir
$(INSTALL_DATA) lib/c $@
$(datadir)/c++: lib/c++ lib/.datadir
$(INSTALL_DATA) lib/c++ $@
lib/en/LC_MESSAGES/c_incl.mo: lib/en/LC_MESSAGES/c_incl.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/c_incl.mo \
lib/en/LC_MESSAGES/c_incl.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/c_incl.mo: lib/en/LC_MESSAGES/c_incl.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/c_incl.mo $@
lib/en/LC_MESSAGES/cook.mo: lib/en/LC_MESSAGES/cook.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/cook.mo \
lib/en/LC_MESSAGES/cook.po lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/cook.mo: lib/en/LC_MESSAGES/cook.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/cook.mo $@
lib/en/LC_MESSAGES/cook_bom.mo: lib/en/LC_MESSAGES/cook_bom.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/cook_bom.mo \
lib/en/LC_MESSAGES/cook_bom.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/cook_bom.mo: lib/en/LC_MESSAGES/cook_bom.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/cook_bom.mo $@
lib/en/LC_MESSAGES/cookfp.mo: lib/en/LC_MESSAGES/cookfp.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/cookfp.mo \
lib/en/LC_MESSAGES/cookfp.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/cookfp.mo: lib/en/LC_MESSAGES/cookfp.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/cookfp.mo $@
lib/en/LC_MESSAGES/cooktime.mo: lib/en/LC_MESSAGES/cooktime.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/cooktime.mo \
lib/en/LC_MESSAGES/cooktime.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/cooktime.mo: lib/en/LC_MESSAGES/cooktime.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/cooktime.mo $@
lib/en/LC_MESSAGES/file_check.mo: lib/en/LC_MESSAGES/file_check.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/file_check.mo \
lib/en/LC_MESSAGES/file_check.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/file_check.mo: lib/en/LC_MESSAGES/file_check.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/file_check.mo $@
lib/en/LC_MESSAGES/find_libs.mo: lib/en/LC_MESSAGES/find_libs.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/find_libs.mo \
lib/en/LC_MESSAGES/find_libs.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/find_libs.mo: lib/en/LC_MESSAGES/find_libs.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/find_libs.mo $@
lib/en/LC_MESSAGES/fstrcmp.mo: lib/en/LC_MESSAGES/fstrcmp.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/fstrcmp.mo \
lib/en/LC_MESSAGES/fstrcmp.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/fstrcmp.mo: lib/en/LC_MESSAGES/fstrcmp.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/fstrcmp.mo $@
lib/en/LC_MESSAGES/make2cook.mo: lib/en/LC_MESSAGES/make2cook.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/make2cook.mo \
lib/en/LC_MESSAGES/make2cook.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/make2cook.mo: lib/en/LC_MESSAGES/make2cook.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/make2cook.mo $@
lib/en/LC_MESSAGES/roffpp.mo: lib/en/LC_MESSAGES/roffpp.po \
lib/en/LC_MESSAGES/common.po etc/msgfmt.sh
sh etc/msgfmt.sh --msgfmt=$(MSGFMT) --msgcat=$(MSGCAT) \
--output=lib/en/LC_MESSAGES/roffpp.mo \
lib/en/LC_MESSAGES/roffpp.po \
lib/en/LC_MESSAGES/common.po
$(libdir)/en/LC_MESSAGES/roffpp.mo: lib/en/LC_MESSAGES/roffpp.mo \
lib/en/LC_MESSAGES/.libdir
$(INSTALL_DATA) lib/en/LC_MESSAGES/roffpp.mo $@
$(datadir)/en/man1/c_incl.1: lib/en/man1/c_incl.1 bin/roffpp$(EXEEXT) \
lib/en/man1/.datadir lib/en/man1/z_name.so \
lib/en/man1/o__rules.so lib/en/man1/z_exit.so \
lib/en/man1/copyright.so etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/c_incl.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/c_incl.1: lib/$(MANLANG)/man1/c_incl.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/z_name.so \
lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/c_incl.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/cook.1: lib/en/man1/cook.1 bin/roffpp$(EXEEXT) \
lib/en/man1/.datadir lib/en/man1/z_name.so etc/libdir.so \
lib/en/man1/o__rules.so lib/en/man1/z_exit.so \
lib/en/man1/copyright.so etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/cook.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/cook.1: lib/$(MANLANG)/man1/cook.1 bin/roffpp$(EXEEXT) \
lib/$(MANLANG)/man1/z_name.so etc/libdir.so \
lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/cook.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/cook_bom.1: lib/en/man1/cook_bom.1 \
bin/roffpp$(EXEEXT) lib/en/man1/.datadir \
lib/en/man1/z_name.so lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/cook_bom.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/cook_bom.1: lib/$(MANLANG)/man1/cook_bom.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/z_name.so \
lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/cook_bom.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/cook_lic.1: lib/en/man1/cook_lic.1 \
bin/roffpp$(EXEEXT) lib/en/man1/.datadir
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/cook_lic.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/cook_lic.1: lib/$(MANLANG)/man1/cook_lic.1 \
bin/roffpp$(EXEEXT) lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/cook_lic.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/cook_rsh.1: lib/en/man1/cook_rsh.1 \
bin/roffpp$(EXEEXT) lib/en/man1/.datadir \
lib/en/man1/z_name.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/cook_rsh.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/cook_rsh.1: lib/$(MANLANG)/man1/cook_rsh.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/z_name.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/cook_rsh.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/cookfp.1: lib/en/man1/cookfp.1 bin/roffpp$(EXEEXT) \
lib/en/man1/.datadir lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/cookfp.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/cookfp.1: lib/$(MANLANG)/man1/cookfp.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/cookfp.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/cooktime.1: lib/en/man1/cooktime.1 \
bin/roffpp$(EXEEXT) lib/en/man1/.datadir \
lib/en/man1/z_name.so lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/cooktime.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/cooktime.1: lib/$(MANLANG)/man1/cooktime.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/z_name.so \
lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/cooktime.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/find_libs.1: lib/en/man1/find_libs.1 \
bin/roffpp$(EXEEXT) lib/en/man1/.datadir \
lib/en/man1/z_name.so lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/find_libs.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/find_libs.1: lib/$(MANLANG)/man1/find_libs.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/z_name.so \
lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/find_libs.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/make2cook.1: lib/en/man1/make2cook.1 \
bin/roffpp$(EXEEXT) lib/en/man1/.datadir \
lib/en/man1/z_name.so lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/make2cook.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/make2cook.1: lib/$(MANLANG)/man1/make2cook.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/z_name.so \
lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/make2cook.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(datadir)/en/man1/roffpp.1: lib/en/man1/roffpp.1 bin/roffpp$(EXEEXT) \
lib/en/man1/.datadir lib/en/man1/z_name.so \
lib/en/man1/o__rules.so lib/en/man1/z_exit.so \
lib/en/man1/copyright.so etc/version.so
bin/roffpp$(EXEEXT) -Ilib/en/man1 -Ietc lib/en/man1/roffpp.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
$(mandir)/man1/roffpp.1: lib/$(MANLANG)/man1/roffpp.1 \
bin/roffpp$(EXEEXT) lib/$(MANLANG)/man1/z_name.so \
lib/$(MANLANG)/man1/o__rules.so \
lib/$(MANLANG)/man1/z_exit.so \
lib/$(MANLANG)/man1/copyright.so etc/version.so \
lib/en/man1/.mandir
bin/roffpp$(EXEEXT) -Ilib/$(MANLANG)/man1 -Ietc \
lib/$(MANLANG)/man1/roffpp.1 > tmp
$(INSTALL_DATA) tmp $@
@rm -f tmp
lib/en/refman.ps: lib/en/refman/main.man bin/roffpp$(EXEEXT) etc/toc.so \
etc/version.so lib/en/readme/main.man \
lib/en/readme/new.so lib/en/readme/new.2.33.so \
lib/en/readme/new.2.32.so lib/en/readme/new.2.31.so \
lib/en/readme/new.2.30.so lib/en/readme/new.2.29.so \
lib/en/readme/new.2.28.so lib/en/readme/new.2.27.so \
lib/en/readme/new.2.26.so lib/en/readme/new.2.25.so \
lib/en/readme/new.2.24.so lib/en/readme/new.2.23.so \
lib/en/readme/new.2.22.so lib/en/readme/new.2.21.so \
lib/en/readme/new.2.20.so lib/en/readme/new.2.19.so \
lib/en/readme/new.2.18.so lib/en/readme/new.2.17.so \
lib/en/readme/new.2.16.so lib/en/readme/new.2.15.so \
lib/en/readme/new.2.12.so lib/en/readme/new.2.11.so \
lib/en/readme/new.2.10.so lib/en/readme/new.2.9.so \
lib/en/readme/new.2.8.so lib/en/readme/new.2.7.so \
lib/en/readme/new.2.6.so lib/en/readme/new.2.5.so \
lib/en/readme/new.2.4.so lib/en/readme/new.2.3.so \
lib/en/readme/new.2.2.so lib/en/readme/new.2.1.so \
lib/en/readme/new.2.0.so lib/en/readme/new.1.26.so \
lib/en/readme/new.1.11.so lib/en/readme/new.1.10.so \
lib/en/readme/new.1.9.so lib/en/readme/new.1.8.so \
lib/en/readme/new.1.7.so lib/en/readme/new.1.6.so \
lib/en/readme/new.1.5.so lib/en/readme/new.1.4.so \
lib/en/building/main.man lib/en/building/windows-nt.so \
lib/en/refman/i18n.so lib/en/refman/i18n.pic.so \
lib/en/refman/parts.so lib/en/man1/c_incl.1 \
lib/en/man1/z_name.so lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
lib/en/man1/cook.1 etc/libdir.so lib/en/man1/cook_bom.1 \
lib/en/man1/cook_lic.1 lib/en/man1/cook_rsh.1 \
lib/en/man1/cookfp.1 lib/en/man1/cooktime.1 \
lib/en/man1/find_libs.1 lib/en/man1/make2cook.1 \
lib/en/man1/roffpp.1 lib/en/refman/index.so
bin/roffpp$(EXEEXT) -Ilib/en/refman -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/refman/main.man | $(GROFF) -s -t \
-p -man -mpic -mpspic > $@
$(datadir)/en/refman.ps: lib/en/refman.ps lib/en/.datadir
$(INSTALL_DATA) lib/en/refman.ps $@
lib/en/refman.dvi: lib/en/refman/main.man bin/roffpp$(EXEEXT) etc/toc.so \
etc/version.so lib/en/readme/main.man \
lib/en/readme/new.so lib/en/readme/new.2.33.so \
lib/en/readme/new.2.32.so lib/en/readme/new.2.31.so \
lib/en/readme/new.2.30.so lib/en/readme/new.2.29.so \
lib/en/readme/new.2.28.so lib/en/readme/new.2.27.so \
lib/en/readme/new.2.26.so lib/en/readme/new.2.25.so \
lib/en/readme/new.2.24.so lib/en/readme/new.2.23.so \
lib/en/readme/new.2.22.so lib/en/readme/new.2.21.so \
lib/en/readme/new.2.20.so lib/en/readme/new.2.19.so \
lib/en/readme/new.2.18.so lib/en/readme/new.2.17.so \
lib/en/readme/new.2.16.so lib/en/readme/new.2.15.so \
lib/en/readme/new.2.12.so lib/en/readme/new.2.11.so \
lib/en/readme/new.2.10.so lib/en/readme/new.2.9.so \
lib/en/readme/new.2.8.so lib/en/readme/new.2.7.so \
lib/en/readme/new.2.6.so lib/en/readme/new.2.5.so \
lib/en/readme/new.2.4.so lib/en/readme/new.2.3.so \
lib/en/readme/new.2.2.so lib/en/readme/new.2.1.so \
lib/en/readme/new.2.0.so lib/en/readme/new.1.26.so \
lib/en/readme/new.1.11.so lib/en/readme/new.1.10.so \
lib/en/readme/new.1.9.so lib/en/readme/new.1.8.so \
lib/en/readme/new.1.7.so lib/en/readme/new.1.6.so \
lib/en/readme/new.1.5.so lib/en/readme/new.1.4.so \
lib/en/building/main.man lib/en/building/windows-nt.so \
lib/en/refman/i18n.so lib/en/refman/i18n.pic.so \
lib/en/refman/parts.so lib/en/man1/c_incl.1 \
lib/en/man1/z_name.so lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
lib/en/man1/cook.1 etc/libdir.so lib/en/man1/cook_bom.1 \
lib/en/man1/cook_lic.1 lib/en/man1/cook_rsh.1 \
lib/en/man1/cookfp.1 lib/en/man1/cooktime.1 \
lib/en/man1/find_libs.1 lib/en/man1/make2cook.1 \
lib/en/man1/roffpp.1 lib/en/refman/index.so
bin/roffpp$(EXEEXT) -Ilib/en/refman -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/refman/main.man | $(GROFF) -Tdvi \
-s -t -p -man -mpic > $@
$(datadir)/en/refman.dvi: lib/en/refman.dvi lib/en/.datadir
$(INSTALL_DATA) lib/en/refman.dvi $@
lib/en/refman.txt: lib/en/refman/main.man bin/roffpp$(EXEEXT) etc/toc.so \
etc/version.so lib/en/readme/main.man \
lib/en/readme/new.so lib/en/readme/new.2.33.so \
lib/en/readme/new.2.32.so lib/en/readme/new.2.31.so \
lib/en/readme/new.2.30.so lib/en/readme/new.2.29.so \
lib/en/readme/new.2.28.so lib/en/readme/new.2.27.so \
lib/en/readme/new.2.26.so lib/en/readme/new.2.25.so \
lib/en/readme/new.2.24.so lib/en/readme/new.2.23.so \
lib/en/readme/new.2.22.so lib/en/readme/new.2.21.so \
lib/en/readme/new.2.20.so lib/en/readme/new.2.19.so \
lib/en/readme/new.2.18.so lib/en/readme/new.2.17.so \
lib/en/readme/new.2.16.so lib/en/readme/new.2.15.so \
lib/en/readme/new.2.12.so lib/en/readme/new.2.11.so \
lib/en/readme/new.2.10.so lib/en/readme/new.2.9.so \
lib/en/readme/new.2.8.so lib/en/readme/new.2.7.so \
lib/en/readme/new.2.6.so lib/en/readme/new.2.5.so \
lib/en/readme/new.2.4.so lib/en/readme/new.2.3.so \
lib/en/readme/new.2.2.so lib/en/readme/new.2.1.so \
lib/en/readme/new.2.0.so lib/en/readme/new.1.26.so \
lib/en/readme/new.1.11.so lib/en/readme/new.1.10.so \
lib/en/readme/new.1.9.so lib/en/readme/new.1.8.so \
lib/en/readme/new.1.7.so lib/en/readme/new.1.6.so \
lib/en/readme/new.1.5.so lib/en/readme/new.1.4.so \
lib/en/building/main.man lib/en/building/windows-nt.so \
lib/en/refman/i18n.so lib/en/refman/i18n.pic.so \
lib/en/refman/parts.so lib/en/man1/c_incl.1 \
lib/en/man1/z_name.so lib/en/man1/o__rules.so \
lib/en/man1/z_exit.so lib/en/man1/copyright.so \
lib/en/man1/cook.1 etc/libdir.so lib/en/man1/cook_bom.1 \
lib/en/man1/cook_lic.1 lib/en/man1/cook_rsh.1 \
lib/en/man1/cookfp.1 lib/en/man1/cooktime.1 \
lib/en/man1/find_libs.1 lib/en/man1/make2cook.1 \
lib/en/man1/roffpp.1 lib/en/refman/index.so
bin/roffpp$(EXEEXT) -Ilib/en/refman -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/refman/main.man | $(GROFF) \
-Tascii -s -t -p -man -mpic > $@
$(datadir)/en/refman.txt: lib/en/refman.txt lib/en/.datadir
$(INSTALL_DATA) lib/en/refman.txt $@
lib/en/tutorial.ps: lib/en/tutorial/main.mm bin/roffpp$(EXEEXT) \
etc/libdir.so etc/version.so lib/en/tutorial/fig1.so \
lib/en/tutorial/fig2.so
bin/roffpp$(EXEEXT) -Ilib/en/tutorial -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/tutorial/main.mm | $(GROFF) -s -t \
-p -mm -mpic -mpspic > $@
$(datadir)/en/tutorial.ps: lib/en/tutorial.ps lib/en/.datadir
$(INSTALL_DATA) lib/en/tutorial.ps $@
lib/en/tutorial.dvi: lib/en/tutorial/main.mm bin/roffpp$(EXEEXT) \
etc/libdir.so etc/version.so lib/en/tutorial/fig1.so \
lib/en/tutorial/fig2.so
bin/roffpp$(EXEEXT) -Ilib/en/tutorial -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/tutorial/main.mm | $(GROFF) -Tdvi \
-s -t -p -mm -mpic > $@
$(datadir)/en/tutorial.dvi: lib/en/tutorial.dvi lib/en/.datadir
$(INSTALL_DATA) lib/en/tutorial.dvi $@
lib/en/tutorial.txt: lib/en/tutorial/main.mm bin/roffpp$(EXEEXT) \
etc/libdir.so etc/version.so lib/en/tutorial/fig1.so \
lib/en/tutorial/fig2.so
bin/roffpp$(EXEEXT) -Ilib/en/tutorial -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/tutorial/main.mm | $(GROFF) \
-Tascii -s -t -p -mm -mpic > $@
$(datadir)/en/tutorial.txt: lib/en/tutorial.txt lib/en/.datadir
$(INSTALL_DATA) lib/en/tutorial.txt $@
lib/en/user-guide.ps: lib/en/user-guide/main.mm bin/roffpp$(EXEEXT) \
etc/libdir.so etc/version.so lib/en/user-guide/intro.so \
lib/en/user-guide/history.so lib/en/user-guide/intro1.so \
lib/en/user-guide/intro2.so \
lib/en/user-guide/parallel.so \
lib/en/user-guide/cook_rsh.so \
lib/en/user-guide/include.so lib/en/user-guide/large.so \
lib/en/user-guide/language.so \
lib/en/user-guide/lang.cook.pic \
lib/en/user-guide/lang.cstmt.pic \
lib/en/user-guide/lang.cstm2.pic \
lib/en/user-guide/lang.asign.pic \
lib/en/user-guide/lang.asig2.pic \
lib/en/user-guide/lang.seten.pic \
lib/en/user-guide/lang.sete2.pic \
lib/en/user-guide/lang.elist.pic \
lib/en/user-guide/lang.exprs.pic \
lib/en/user-guide/lang.expr.pic \
lib/en/user-guide/lang.recip.pic \
lib/en/user-guide/langu.flags.so \
lib/en/user-guide/lang.flags.pic \
lib/en/user-guide/lang.gate.pic \
lib/en/user-guide/lang.usecl.pic \
lib/en/user-guide/lang.reci2.pic \
lib/en/user-guide/lang.reci3.pic \
lib/en/user-guide/lang.casca.pic \
lib/en/user-guide/lang.cmd1.pic \
lib/en/user-guide/lang.cmd2.pic \
lib/en/user-guide/lang.set.pic \
lib/en/user-guide/lang.fail.pic \
lib/en/user-guide/lang.if.pic \
lib/en/user-guide/lang.loop.pic \
lib/en/user-guide/lang.loop2.pic \
lib/en/user-guide/lang.func.pic \
lib/en/user-guide/lang.func2.pic \
lib/en/user-guide/lang.gosub.pic \
lib/en/user-guide/builtin.so \
lib/en/user-guide/function.so \
lib/en/user-guide/function/addprefix.so \
lib/en/user-guide/function/addsuffix.so \
lib/en/user-guide/function/and.so \
lib/en/user-guide/function/basename.so \
lib/en/user-guide/function/cando.so \
lib/en/user-guide/function/catenate.so \
lib/en/user-guide/function/collect.so \
lib/en/user-guide/function/collect_ln.so \
lib/en/user-guide/function/cook.so \
lib/en/user-guide/function/count.so \
lib/en/user-guide/function/defined.so \
lib/en/user-guide/function/dir.so \
lib/en/user-guide/function/dirname.so \
lib/en/user-guide/function/dos_path.so \
lib/en/user-guide/function/downcase.so \
lib/en/user-guide/function/entryname.so \
lib/en/user-guide/function/execute.so \
lib/en/user-guide/function/exists.so \
lib/en/user-guide/function/expr.so \
lib/en/user-guide/function/filter.so \
lib/en/user-guide/function/filter_out.so \
lib/en/user-guide/function/findstring.so \
lib/en/user-guide/function/find_cmd.so \
lib/en/user-guide/function/firstword.so \
lib/en/user-guide/function/fromto.so \
lib/en/user-guide/function/getenv.so \
lib/en/user-guide/function/glob.so \
lib/en/user-guide/function/head.so \
lib/en/user-guide/function/home.so \
lib/en/user-guide/function/if.so \
lib/en/user-guide/function/in.so \
lib/en/user-guide/function/inter_files.so \
lib/en/user-guide/function/join.so \
lib/en/user-guide/function/leaf_files.so \
lib/en/user-guide/function/matches.so \
lib/en/user-guide/function/match_mask.so \
lib/en/user-guide/function/mtime.so \
lib/en/user-guide/function/not.so \
lib/en/user-guide/function/notdir.so \
lib/en/user-guide/function/opsys.so \
lib/en/user-guide/function/options.so \
lib/en/user-guide/function/or.so \
lib/en/user-guide/function/pathname.so \
lib/en/user-guide/function/patsubst.so \
lib/en/user-guide/function/prepost.so \
lib/en/user-guide/function/print.so \
lib/en/user-guide/function/quote.so \
lib/en/user-guide/function/read.so \
lib/en/user-guide/function/readlink.so \
lib/en/user-guide/function/read_lines.so \
lib/en/user-guide/function/relat_dirna.so \
lib/en/user-guide/function/resolve.so \
lib/en/user-guide/function/shell.so \
lib/en/user-guide/function/sort.so \
lib/en/user-guide/function/sort_newest.so \
lib/en/user-guide/function/split.so \
lib/en/user-guide/function/stringset.so \
lib/en/user-guide/function/strip.so \
lib/en/user-guide/function/stripdot.so \
lib/en/user-guide/function/strlen.so \
lib/en/user-guide/function/subst.so \
lib/en/user-guide/function/substr.so \
lib/en/user-guide/function/suffix.so \
lib/en/user-guide/function/tail.so \
lib/en/user-guide/function/unsplit.so \
lib/en/user-guide/function/un_dos_path.so \
lib/en/user-guide/function/upcase.so \
lib/en/user-guide/function/uptodate.so \
lib/en/user-guide/function/wildcard.so \
lib/en/user-guide/function/word.so \
lib/en/user-guide/function/wordlist.so \
lib/en/user-guide/function/words.so \
lib/en/user-guide/function/write.so \
lib/en/user-guide/variables.so \
lib/en/user-guide/functions.so lib/en/user-guide/how.so \
lib/en/user-guide/option.so lib/en/user-guide/match.so \
lib/en/user-guide/system.so \
lib/en/user-guide/system.list.so \
lib/en/user-guide/system/as.so \
lib/en/user-guide/system/c.so \
lib/en/user-guide/system/f77.so \
lib/en/user-guide/system/g77.so \
lib/en/user-guide/system/gcc.so \
lib/en/user-guide/system/home.so \
lib/en/user-guide/system/lex.so \
lib/en/user-guide/system/library.so \
lib/en/user-guide/system/print.so \
lib/en/user-guide/system/program.so \
lib/en/user-guide/system/rcs.so \
lib/en/user-guide/system/recursive.so \
lib/en/user-guide/system/sccs.so \
lib/en/user-guide/system/text.so \
lib/en/user-guide/system/usr.local.so \
lib/en/user-guide/system/usr.so \
lib/en/user-guide/system/yacc.so \
lib/en/user-guide/system/yacc_many.so \
lib/en/user-guide/glossary.so
bin/roffpp$(EXEEXT) -Ilib/en/user-guide -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/user-guide/main.mm | $(GROFF) -s \
-t -p -mm -mpic -mpspic > $@
$(datadir)/en/user-guide.ps: lib/en/user-guide.ps lib/en/.datadir
$(INSTALL_DATA) lib/en/user-guide.ps $@
lib/en/user-guide.dvi: lib/en/user-guide/main.mm bin/roffpp$(EXEEXT) \
etc/libdir.so etc/version.so lib/en/user-guide/intro.so \
lib/en/user-guide/history.so lib/en/user-guide/intro1.so \
lib/en/user-guide/intro2.so \
lib/en/user-guide/parallel.so \
lib/en/user-guide/cook_rsh.so \
lib/en/user-guide/include.so lib/en/user-guide/large.so \
lib/en/user-guide/language.so \
lib/en/user-guide/lang.cook.pic \
lib/en/user-guide/lang.cstmt.pic \
lib/en/user-guide/lang.cstm2.pic \
lib/en/user-guide/lang.asign.pic \
lib/en/user-guide/lang.asig2.pic \
lib/en/user-guide/lang.seten.pic \
lib/en/user-guide/lang.sete2.pic \
lib/en/user-guide/lang.elist.pic \
lib/en/user-guide/lang.exprs.pic \
lib/en/user-guide/lang.expr.pic \
lib/en/user-guide/lang.recip.pic \
lib/en/user-guide/langu.flags.so \
lib/en/user-guide/lang.flags.pic \
lib/en/user-guide/lang.gate.pic \
lib/en/user-guide/lang.usecl.pic \
lib/en/user-guide/lang.reci2.pic \
lib/en/user-guide/lang.reci3.pic \
lib/en/user-guide/lang.casca.pic \
lib/en/user-guide/lang.cmd1.pic \
lib/en/user-guide/lang.cmd2.pic \
lib/en/user-guide/lang.set.pic \
lib/en/user-guide/lang.fail.pic \
lib/en/user-guide/lang.if.pic \
lib/en/user-guide/lang.loop.pic \
lib/en/user-guide/lang.loop2.pic \
lib/en/user-guide/lang.func.pic \
lib/en/user-guide/lang.func2.pic \
lib/en/user-guide/lang.gosub.pic \
lib/en/user-guide/builtin.so \
lib/en/user-guide/function.so \
lib/en/user-guide/function/addprefix.so \
lib/en/user-guide/function/addsuffix.so \
lib/en/user-guide/function/and.so \
lib/en/user-guide/function/basename.so \
lib/en/user-guide/function/cando.so \
lib/en/user-guide/function/catenate.so \
lib/en/user-guide/function/collect.so \
lib/en/user-guide/function/collect_ln.so \
lib/en/user-guide/function/cook.so \
lib/en/user-guide/function/count.so \
lib/en/user-guide/function/defined.so \
lib/en/user-guide/function/dir.so \
lib/en/user-guide/function/dirname.so \
lib/en/user-guide/function/dos_path.so \
lib/en/user-guide/function/downcase.so \
lib/en/user-guide/function/entryname.so \
lib/en/user-guide/function/execute.so \
lib/en/user-guide/function/exists.so \
lib/en/user-guide/function/expr.so \
lib/en/user-guide/function/filter.so \
lib/en/user-guide/function/filter_out.so \
lib/en/user-guide/function/findstring.so \
lib/en/user-guide/function/find_cmd.so \
lib/en/user-guide/function/firstword.so \
lib/en/user-guide/function/fromto.so \
lib/en/user-guide/function/getenv.so \
lib/en/user-guide/function/glob.so \
lib/en/user-guide/function/head.so \
lib/en/user-guide/function/home.so \
lib/en/user-guide/function/if.so \
lib/en/user-guide/function/in.so \
lib/en/user-guide/function/inter_files.so \
lib/en/user-guide/function/join.so \
lib/en/user-guide/function/leaf_files.so \
lib/en/user-guide/function/matches.so \
lib/en/user-guide/function/match_mask.so \
lib/en/user-guide/function/mtime.so \
lib/en/user-guide/function/not.so \
lib/en/user-guide/function/notdir.so \
lib/en/user-guide/function/opsys.so \
lib/en/user-guide/function/options.so \
lib/en/user-guide/function/or.so \
lib/en/user-guide/function/pathname.so \
lib/en/user-guide/function/patsubst.so \
lib/en/user-guide/function/prepost.so \
lib/en/user-guide/function/print.so \
lib/en/user-guide/function/quote.so \
lib/en/user-guide/function/read.so \
lib/en/user-guide/function/readlink.so \
lib/en/user-guide/function/read_lines.so \
lib/en/user-guide/function/relat_dirna.so \
lib/en/user-guide/function/resolve.so \
lib/en/user-guide/function/shell.so \
lib/en/user-guide/function/sort.so \
lib/en/user-guide/function/sort_newest.so \
lib/en/user-guide/function/split.so \
lib/en/user-guide/function/stringset.so \
lib/en/user-guide/function/strip.so \
lib/en/user-guide/function/stripdot.so \
lib/en/user-guide/function/strlen.so \
lib/en/user-guide/function/subst.so \
lib/en/user-guide/function/substr.so \
lib/en/user-guide/function/suffix.so \
lib/en/user-guide/function/tail.so \
lib/en/user-guide/function/unsplit.so \
lib/en/user-guide/function/un_dos_path.so \
lib/en/user-guide/function/upcase.so \
lib/en/user-guide/function/uptodate.so \
lib/en/user-guide/function/wildcard.so \
lib/en/user-guide/function/word.so \
lib/en/user-guide/function/wordlist.so \
lib/en/user-guide/function/words.so \
lib/en/user-guide/function/write.so \
lib/en/user-guide/variables.so \
lib/en/user-guide/functions.so lib/en/user-guide/how.so \
lib/en/user-guide/option.so lib/en/user-guide/match.so \
lib/en/user-guide/system.so \
lib/en/user-guide/system.list.so \
lib/en/user-guide/system/as.so \
lib/en/user-guide/system/c.so \
lib/en/user-guide/system/f77.so \
lib/en/user-guide/system/g77.so \
lib/en/user-guide/system/gcc.so \
lib/en/user-guide/system/home.so \
lib/en/user-guide/system/lex.so \
lib/en/user-guide/system/library.so \
lib/en/user-guide/system/print.so \
lib/en/user-guide/system/program.so \
lib/en/user-guide/system/rcs.so \
lib/en/user-guide/system/recursive.so \
lib/en/user-guide/system/sccs.so \
lib/en/user-guide/system/text.so \
lib/en/user-guide/system/usr.local.so \
lib/en/user-guide/system/usr.so \
lib/en/user-guide/system/yacc.so \
lib/en/user-guide/system/yacc_many.so \
lib/en/user-guide/glossary.so
bin/roffpp$(EXEEXT) -Ilib/en/user-guide -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/user-guide/main.mm | $(GROFF) \
-Tdvi -s -t -p -mm -mpic > $@
$(datadir)/en/user-guide.dvi: lib/en/user-guide.dvi lib/en/.datadir
$(INSTALL_DATA) lib/en/user-guide.dvi $@
lib/en/user-guide.txt: lib/en/user-guide/main.mm bin/roffpp$(EXEEXT) \
etc/libdir.so etc/version.so lib/en/user-guide/intro.so \
lib/en/user-guide/history.so lib/en/user-guide/intro1.so \
lib/en/user-guide/intro2.so \
lib/en/user-guide/parallel.so \
lib/en/user-guide/cook_rsh.so \
lib/en/user-guide/include.so lib/en/user-guide/large.so \
lib/en/user-guide/language.so \
lib/en/user-guide/lang.cook.pic \
lib/en/user-guide/lang.cstmt.pic \
lib/en/user-guide/lang.cstm2.pic \
lib/en/user-guide/lang.asign.pic \
lib/en/user-guide/lang.asig2.pic \
lib/en/user-guide/lang.seten.pic \
lib/en/user-guide/lang.sete2.pic \
lib/en/user-guide/lang.elist.pic \
lib/en/user-guide/lang.exprs.pic \
lib/en/user-guide/lang.expr.pic \
lib/en/user-guide/lang.recip.pic \
lib/en/user-guide/langu.flags.so \
lib/en/user-guide/lang.flags.pic \
lib/en/user-guide/lang.gate.pic \
lib/en/user-guide/lang.usecl.pic \
lib/en/user-guide/lang.reci2.pic \
lib/en/user-guide/lang.reci3.pic \
lib/en/user-guide/lang.casca.pic \
lib/en/user-guide/lang.cmd1.pic \
lib/en/user-guide/lang.cmd2.pic \
lib/en/user-guide/lang.set.pic \
lib/en/user-guide/lang.fail.pic \
lib/en/user-guide/lang.if.pic \
lib/en/user-guide/lang.loop.pic \
lib/en/user-guide/lang.loop2.pic \
lib/en/user-guide/lang.func.pic \
lib/en/user-guide/lang.func2.pic \
lib/en/user-guide/lang.gosub.pic \
lib/en/user-guide/builtin.so \
lib/en/user-guide/function.so \
lib/en/user-guide/function/addprefix.so \
lib/en/user-guide/function/addsuffix.so \
lib/en/user-guide/function/and.so \
lib/en/user-guide/function/basename.so \
lib/en/user-guide/function/cando.so \
lib/en/user-guide/function/catenate.so \
lib/en/user-guide/function/collect.so \
lib/en/user-guide/function/collect_ln.so \
lib/en/user-guide/function/cook.so \
lib/en/user-guide/function/count.so \
lib/en/user-guide/function/defined.so \
lib/en/user-guide/function/dir.so \
lib/en/user-guide/function/dirname.so \
lib/en/user-guide/function/dos_path.so \
lib/en/user-guide/function/downcase.so \
lib/en/user-guide/function/entryname.so \
lib/en/user-guide/function/execute.so \
lib/en/user-guide/function/exists.so \
lib/en/user-guide/function/expr.so \
lib/en/user-guide/function/filter.so \
lib/en/user-guide/function/filter_out.so \
lib/en/user-guide/function/findstring.so \
lib/en/user-guide/function/find_cmd.so \
lib/en/user-guide/function/firstword.so \
lib/en/user-guide/function/fromto.so \
lib/en/user-guide/function/getenv.so \
lib/en/user-guide/function/glob.so \
lib/en/user-guide/function/head.so \
lib/en/user-guide/function/home.so \
lib/en/user-guide/function/if.so \
lib/en/user-guide/function/in.so \
lib/en/user-guide/function/inter_files.so \
lib/en/user-guide/function/join.so \
lib/en/user-guide/function/leaf_files.so \
lib/en/user-guide/function/matches.so \
lib/en/user-guide/function/match_mask.so \
lib/en/user-guide/function/mtime.so \
lib/en/user-guide/function/not.so \
lib/en/user-guide/function/notdir.so \
lib/en/user-guide/function/opsys.so \
lib/en/user-guide/function/options.so \
lib/en/user-guide/function/or.so \
lib/en/user-guide/function/pathname.so \
lib/en/user-guide/function/patsubst.so \
lib/en/user-guide/function/prepost.so \
lib/en/user-guide/function/print.so \
lib/en/user-guide/function/quote.so \
lib/en/user-guide/function/read.so \
lib/en/user-guide/function/readlink.so \
lib/en/user-guide/function/read_lines.so \
lib/en/user-guide/function/relat_dirna.so \
lib/en/user-guide/function/resolve.so \
lib/en/user-guide/function/shell.so \
lib/en/user-guide/function/sort.so \
lib/en/user-guide/function/sort_newest.so \
lib/en/user-guide/function/split.so \
lib/en/user-guide/function/stringset.so \
lib/en/user-guide/function/strip.so \
lib/en/user-guide/function/stripdot.so \
lib/en/user-guide/function/strlen.so \
lib/en/user-guide/function/subst.so \
lib/en/user-guide/function/substr.so \
lib/en/user-guide/function/suffix.so \
lib/en/user-guide/function/tail.so \
lib/en/user-guide/function/unsplit.so \
lib/en/user-guide/function/un_dos_path.so \
lib/en/user-guide/function/upcase.so \
lib/en/user-guide/function/uptodate.so \
lib/en/user-guide/function/wildcard.so \
lib/en/user-guide/function/word.so \
lib/en/user-guide/function/wordlist.so \
lib/en/user-guide/function/words.so \
lib/en/user-guide/function/write.so \
lib/en/user-guide/variables.so \
lib/en/user-guide/functions.so lib/en/user-guide/how.so \
lib/en/user-guide/option.so lib/en/user-guide/match.so \
lib/en/user-guide/system.so \
lib/en/user-guide/system.list.so \
lib/en/user-guide/system/as.so \
lib/en/user-guide/system/c.so \
lib/en/user-guide/system/f77.so \
lib/en/user-guide/system/g77.so \
lib/en/user-guide/system/gcc.so \
lib/en/user-guide/system/home.so \
lib/en/user-guide/system/lex.so \
lib/en/user-guide/system/library.so \
lib/en/user-guide/system/print.so \
lib/en/user-guide/system/program.so \
lib/en/user-guide/system/rcs.so \
lib/en/user-guide/system/recursive.so \
lib/en/user-guide/system/sccs.so \
lib/en/user-guide/system/text.so \
lib/en/user-guide/system/usr.local.so \
lib/en/user-guide/system/usr.so \
lib/en/user-guide/system/yacc.so \
lib/en/user-guide/system/yacc_many.so \
lib/en/user-guide/glossary.so
bin/roffpp$(EXEEXT) -Ilib/en/user-guide -Ietc -Ilib/en/man1 \
-Ilib/en/readme lib/en/user-guide/main.mm | $(GROFF) \
-Tascii -s -t -p -mm -mpic > $@
$(datadir)/en/user-guide.txt: lib/en/user-guide.txt lib/en/.datadir
$(INSTALL_DATA) lib/en/user-guide.txt $@
$(datadir)/f77: lib/f77 lib/.datadir
$(INSTALL_DATA) lib/f77 $@
$(datadir)/functions: lib/functions lib/.datadir
$(INSTALL_DATA) lib/functions $@
$(datadir)/g77: lib/g77 lib/.datadir
$(INSTALL_DATA) lib/g77 $@
$(datadir)/gcc: lib/gcc lib/.datadir
$(INSTALL_DATA) lib/gcc $@
$(datadir)/home: lib/home lib/.datadir
$(INSTALL_DATA) lib/home $@
$(datadir)/host_lists.pl: lib/host_lists.pl lib/.datadir
$(INSTALL_DATA) lib/host_lists.pl $@
$(datadir)/java: lib/java lib/.datadir
$(INSTALL_DATA) lib/java $@
$(datadir)/lex: lib/lex lib/.datadir
$(INSTALL_DATA) lib/lex $@
$(datadir)/library: lib/library lib/.datadir
$(INSTALL_DATA) lib/library $@
$(datadir)/print: lib/print lib/.datadir
$(INSTALL_DATA) lib/print $@
$(datadir)/program: lib/program lib/.datadir
$(INSTALL_DATA) lib/program $@
$(datadir)/rcs: lib/rcs lib/.datadir
$(INSTALL_DATA) lib/rcs $@
$(datadir)/recursive: lib/recursive lib/.datadir
$(INSTALL_DATA) lib/recursive $@
$(datadir)/sccs: lib/sccs lib/.datadir
$(INSTALL_DATA) lib/sccs $@
$(datadir)/text: lib/text lib/.datadir
$(INSTALL_DATA) lib/text $@
$(datadir)/usr: lib/usr lib/.datadir
$(INSTALL_DATA) lib/usr $@
$(datadir)/usr.local: lib/usr.local lib/.datadir
$(INSTALL_DATA) lib/usr.local $@
$(datadir)/yacc: lib/yacc lib/.datadir
$(INSTALL_DATA) lib/yacc $@
$(datadir)/yacc_many: lib/yacc_many lib/.datadir
$(INSTALL_DATA) lib/yacc_many $@
make2cook/blob.$(OBJEXT): make2cook/blob.c make2cook/blob.h common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/main.h common/format_print.h \
make2cook/emit.h common/error_intl.h common/sub.h \
common/noreturn.h common/ac/stdio.h common/mem.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/blob.c
mv blob.$(OBJEXT) $@
make2cook/emit.$(OBJEXT): make2cook/emit.c common/ac/stdio.h \
common/config.h common/config.messy.h make2cook/emit.h \
common/str.h common/ac/stddef.h common/ac/stdarg.h \
common/main.h common/format_print.h common/error_intl.h \
common/sub.h common/noreturn.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/emit.c
mv emit.$(OBJEXT) $@
make2cook/gram.gen.c make2cook/gram.gen.h: make2cook/gram.y
@echo Expect 2 shift/reduce conflicts:
$(YACC) -d make2cook/gram.y
sed -e 's/[yY][yY]/gram_/g' -e '//d' -e '//d' \
-e '//d' y.tab.c > make2cook/gram.gen.c
sed -e 's/[yY][yY]/gram_/g' -e 's/Y_TAB_H/gram_TAB_H/g' y.tab.h \
> make2cook/gram.gen.h
rm y.tab.c y.tab.h
make2cook/gram.gen.$(OBJEXT): make2cook/gram.gen.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/error_intl.h common/sub.h common/main.h \
common/format_print.h common/noreturn.h common/trace.h \
common/ac/stddef.h make2cook/gram.h make2cook/lex.h \
make2cook/stmt/assign.h make2cook/blob.h common/str.h \
common/ac/stdarg.h make2cook/stmt.h common/str_list.h \
make2cook/stmt/blank.h make2cook/stmt/command.h \
make2cook/stmt/comment.h make2cook/stmt/compound.h \
make2cook/stmt/define.h make2cook/stmt/export.h \
make2cook/stmt/if.h make2cook/stmt/include.h \
make2cook/stmt/rule.h make2cook/stmt/unexport.h \
make2cook/stmt/vpath.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/gram.gen.c
mv gram.gen.$(OBJEXT) $@
make2cook/lex.$(OBJEXT): make2cook/lex.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
common/ac/stdarg.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/input/file_text.h \
common/input.h common/input/stdin.h common/mem.h \
common/ac/stddef.h common/symtab.h common/str.h \
common/trace.h make2cook/blob.h make2cook/lex.h \
make2cook/stmt.h common/str_list.h make2cook/gram.gen.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/lex.c
mv lex.$(OBJEXT) $@
make2cook/main.$(OBJEXT): make2cook/main.c common/ac/stdio.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/arglex.h common/main.h common/error_intl.h \
common/sub.h common/format_print.h common/noreturn.h \
common/help.h common/progname.h common/version.h \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h make2cook/gram.h \
make2cook/stmt/assign.h make2cook/blob.h \
make2cook/stmt.h common/str_list.h make2cook/stmt/rule.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/main.c
mv main.$(OBJEXT) $@
make2cook/stmt.$(OBJEXT): make2cook/stmt.c common/mem.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/main.h make2cook/stmt.h common/str_list.h \
common/str.h common/ac/stdarg.h common/format_print.h \
common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt.c
mv stmt.$(OBJEXT) $@
make2cook/stmt/assign.$(OBJEXT): make2cook/stmt/assign.c \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h \
make2cook/stmt/assign.h make2cook/blob.h \
make2cook/stmt.h common/str_list.h common/symtab.h \
common/trace.h make2cook/variable.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/assign.c
mv assign.$(OBJEXT) $@
make2cook/stmt/blank.$(OBJEXT): make2cook/stmt/blank.c \
make2cook/stmt/blank.h make2cook/stmt.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/main.h common/format_print.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/blank.c
mv blank.$(OBJEXT) $@
make2cook/stmt/command.$(OBJEXT): make2cook/stmt/command.c \
make2cook/blob.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h make2cook/emit.h \
make2cook/stmt/command.h make2cook/stmt.h \
common/str_list.h common/trace.h make2cook/variable.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/command.c
mv command.$(OBJEXT) $@
make2cook/stmt/comment.$(OBJEXT): make2cook/stmt/comment.c \
common/ac/ctype.h common/config.h common/config.messy.h \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/mem.h make2cook/stmt/comment.h make2cook/blob.h \
make2cook/stmt.h common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/comment.c
mv comment.$(OBJEXT) $@
make2cook/stmt/compound.$(OBJEXT): make2cook/stmt/compound.c \
common/mem.h common/ac/stddef.h common/config.h \
common/config.messy.h common/main.h \
make2cook/stmt/compound.h make2cook/stmt.h \
common/str_list.h common/str.h common/ac/stdarg.h \
common/format_print.h common/trace.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/compound.c
mv compound.$(OBJEXT) $@
make2cook/stmt/define.$(OBJEXT): make2cook/stmt/define.c \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h common/mem.h \
make2cook/stmt/define.h make2cook/blob.h \
make2cook/stmt.h common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/define.c
mv define.$(OBJEXT) $@
make2cook/stmt/export.$(OBJEXT): make2cook/stmt/export.c \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h \
make2cook/stmt/export.h make2cook/blob.h \
make2cook/stmt.h common/str_list.h common/symtab.h \
make2cook/variable.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/export.c
mv export.$(OBJEXT) $@
make2cook/stmt/if.$(OBJEXT): make2cook/stmt/if.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h \
make2cook/stmt/if.h make2cook/blob.h make2cook/stmt.h \
common/str_list.h common/trace.h make2cook/variable.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/if.c
mv if.$(OBJEXT) $@
make2cook/stmt/include.$(OBJEXT): make2cook/stmt/include.c \
common/ac/ctype.h common/config.h common/config.messy.h \
common/ac/string.h make2cook/emit.h common/str.h \
common/ac/stddef.h common/ac/stdarg.h common/main.h \
common/format_print.h common/mem.h \
make2cook/stmt/include.h make2cook/stmt.h \
common/str_list.h make2cook/blob.h make2cook/variable.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/include.c
mv include.$(OBJEXT) $@
make2cook/stmt/rule.$(OBJEXT): make2cook/stmt/rule.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/string.h \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/ac/stdarg.h common/main.h common/format_print.h \
common/mem.h make2cook/stmt/command.h make2cook/stmt.h \
common/str_list.h make2cook/stmt/compound.h \
make2cook/stmt/rule.h make2cook/blob.h common/trace.h \
make2cook/variable.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/rule.c
mv rule.$(OBJEXT) $@
make2cook/stmt/unexport.$(OBJEXT): make2cook/stmt/unexport.c \
make2cook/emit.h common/str.h common/ac/stddef.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/main.h common/format_print.h \
make2cook/stmt/unexport.h make2cook/blob.h \
make2cook/stmt.h common/str_list.h common/symtab.h \
make2cook/variable.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/unexport.c
mv unexport.$(OBJEXT) $@
make2cook/stmt/vpath.$(OBJEXT): make2cook/stmt/vpath.c \
make2cook/stmt/assign.h make2cook/blob.h common/str.h \
common/ac/stddef.h common/config.h common/config.messy.h \
common/ac/stdarg.h common/main.h common/format_print.h \
make2cook/stmt.h common/str_list.h \
make2cook/stmt/vpath.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/stmt/vpath.c
mv vpath.$(OBJEXT) $@
make2cook/vargram.gen.c make2cook/vargram.gen.h: make2cook/vargram.y
@echo Expect 2 shift/reduce, 10 reduce/reduce conflicts:
$(YACC) -d make2cook/vargram.y
sed -e 's/[yY][yY]/vargram_/g' -e '//d' -e \
'//d' -e '//d' y.tab.c > \
make2cook/vargram.gen.c
sed -e 's/[yY][yY]/vargram_/g' -e 's/Y_TAB_H/vargram_TAB_H/g' \
y.tab.h > make2cook/vargram.gen.h
rm y.tab.c y.tab.h
make2cook/vargram.gen.$(OBJEXT): make2cook/vargram.gen.c \
common/ac/stdio.h common/config.h common/config.messy.h \
common/ac/stdlib.h common/ac/string.h common/trace.h \
common/ac/stddef.h common/main.h common/format_print.h \
make2cook/vargram.h make2cook/variable.h \
make2cook/blob.h common/str.h common/ac/stdarg.h \
common/str_list.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/vargram.gen.c
mv vargram.gen.$(OBJEXT) $@
make2cook/variable.$(OBJEXT): make2cook/variable.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/stdarg.h \
common/ac/string.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/symtab.h common/str.h \
common/ac/stddef.h common/trace.h make2cook/vargram.h \
make2cook/variable.h make2cook/blob.h common/str_list.h \
make2cook/vargram.gen.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c make2cook/variable.c
mv variable.$(OBJEXT) $@
roffpp/main.$(OBJEXT): roffpp/main.c common/ac/stdio.h common/config.h \
common/config.messy.h common/ac/stddef.h \
common/ac/string.h common/ac/stdlib.h common/arglex.h \
common/main.h common/error_intl.h common/sub.h \
common/format_print.h common/noreturn.h common/help.h \
roffpp/preprocess.h common/progname.h common/str.h \
common/ac/stdarg.h common/version.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c roffpp/main.c
mv main.$(OBJEXT) $@
roffpp/preprocess.$(OBJEXT): roffpp/preprocess.c common/ac/ctype.h \
common/config.h common/config.messy.h common/ac/stdlib.h \
common/ac/unistd.h common/error_intl.h common/sub.h \
common/main.h common/format_print.h common/noreturn.h \
common/ac/stdio.h common/input/file_text.h \
common/input.h common/mem.h common/ac/stddef.h \
common/os_path_cat.h common/str.h common/ac/stdarg.h \
common/str_list.h common/trace.h roffpp/preprocess.h
$(CC) -I. $(CPPFLAGS) $(CFLAGS) -c roffpp/preprocess.c
mv preprocess.$(OBJEXT) $@
bin/cook_rsh$(EXEEXT): script/cook_rsh.in .bin
CONFIG_FILES=$@:script/cook_rsh.in CONFIG_HEADERS= ./config.status
chmod a+rx $@
$(bindir)/$(PROGRAM_PREFIX)cook_rsh$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/cook_rsh$(EXEEXT) .bindir
$(INSTALL_SCRIPT) bin/cook_rsh$(EXEEXT) $@
t0001a: test/00/t0001a.sh all
CC="$(CC)" $(SH) test/00/t0001a.sh
t0002a: test/00/t0002a.sh all
CC="$(CC)" $(SH) test/00/t0002a.sh
t0003a: test/00/t0003a.sh all
CC="$(CC)" $(SH) test/00/t0003a.sh
t0004a: test/00/t0004a.sh all
CC="$(CC)" $(SH) test/00/t0004a.sh
t0005a: test/00/t0005a.sh all
CC="$(CC)" $(SH) test/00/t0005a.sh
t0006a: test/00/t0006a.sh all
CC="$(CC)" $(SH) test/00/t0006a.sh
t0007a: test/00/t0007a.sh all
CC="$(CC)" $(SH) test/00/t0007a.sh
t0008a: test/00/t0008a.sh all
CC="$(CC)" $(SH) test/00/t0008a.sh
t0009a: test/00/t0009a.sh all
CC="$(CC)" $(SH) test/00/t0009a.sh
t0010a: test/00/t0010a.sh all
CC="$(CC)" $(SH) test/00/t0010a.sh
t0011a: test/00/t0011a.sh all
CC="$(CC)" $(SH) test/00/t0011a.sh
t0012a: test/00/t0012a.sh all
CC="$(CC)" $(SH) test/00/t0012a.sh
t0013a: test/00/t0013a.sh all
CC="$(CC)" $(SH) test/00/t0013a.sh
t0014a: test/00/t0014a.sh all
CC="$(CC)" $(SH) test/00/t0014a.sh
t0015a: test/00/t0015a.sh all
CC="$(CC)" $(SH) test/00/t0015a.sh
t0016a: test/00/t0016a.sh all
CC="$(CC)" $(SH) test/00/t0016a.sh
t0017a: test/00/t0017a.sh all
CC="$(CC)" $(SH) test/00/t0017a.sh
t0018a: test/00/t0018a.sh all
CC="$(CC)" $(SH) test/00/t0018a.sh
t0019a: test/00/t0019a.sh all
CC="$(CC)" $(SH) test/00/t0019a.sh
t0020a: test/00/t0020a.sh all
CC="$(CC)" $(SH) test/00/t0020a.sh
t0021a: test/00/t0021a.sh all
CC="$(CC)" $(SH) test/00/t0021a.sh
t0022a: test/00/t0022a.sh all
CC="$(CC)" $(SH) test/00/t0022a.sh
t0023a: test/00/t0023a.sh all
CC="$(CC)" $(SH) test/00/t0023a.sh
t0024a: test/00/t0024a.sh all
CC="$(CC)" $(SH) test/00/t0024a.sh
t0025a: test/00/t0025a.sh all
CC="$(CC)" $(SH) test/00/t0025a.sh
t0026a: test/00/t0026a.sh all
CC="$(CC)" $(SH) test/00/t0026a.sh
t0027a: test/00/t0027a.sh all
CC="$(CC)" $(SH) test/00/t0027a.sh
t0028a: test/00/t0028a.sh all
CC="$(CC)" $(SH) test/00/t0028a.sh
t0029a: test/00/t0029a.sh all
CC="$(CC)" $(SH) test/00/t0029a.sh
t0031a: test/00/t0031a.sh all
CC="$(CC)" $(SH) test/00/t0031a.sh
t0032a: test/00/t0032a.sh all
CC="$(CC)" $(SH) test/00/t0032a.sh
t0033a: test/00/t0033a.sh all
CC="$(CC)" $(SH) test/00/t0033a.sh
t0034a: test/00/t0034a.sh all
CC="$(CC)" $(SH) test/00/t0034a.sh
t0035a: test/00/t0035a.sh all
CC="$(CC)" $(SH) test/00/t0035a.sh
t0036a: test/00/t0036a.sh all
CC="$(CC)" $(SH) test/00/t0036a.sh
t0037a: test/00/t0037a.sh all
CC="$(CC)" $(SH) test/00/t0037a.sh
t0038a: test/00/t0038a.sh all
CC="$(CC)" $(SH) test/00/t0038a.sh
t0039a: test/00/t0039a.sh all
CC="$(CC)" $(SH) test/00/t0039a.sh
t0040a: test/00/t0040a.sh all
CC="$(CC)" $(SH) test/00/t0040a.sh
t0041a: test/00/t0041a.sh all
CC="$(CC)" $(SH) test/00/t0041a.sh
t0042a: test/00/t0042a.sh all
CC="$(CC)" $(SH) test/00/t0042a.sh
t0043a: test/00/t0043a.sh all
CC="$(CC)" $(SH) test/00/t0043a.sh
t0044a: test/00/t0044a.sh all
CC="$(CC)" $(SH) test/00/t0044a.sh
t0045a: test/00/t0045a.sh all
CC="$(CC)" $(SH) test/00/t0045a.sh
t0046a: test/00/t0046a.sh all
CC="$(CC)" $(SH) test/00/t0046a.sh
t0047a: test/00/t0047a.sh all
CC="$(CC)" $(SH) test/00/t0047a.sh
t0048a: test/00/t0048a.sh all
CC="$(CC)" $(SH) test/00/t0048a.sh
t0049a: test/00/t0049a.sh all
CC="$(CC)" $(SH) test/00/t0049a.sh
t0050a: test/00/t0050a.sh all
CC="$(CC)" $(SH) test/00/t0050a.sh
t0051a: test/00/t0051a.sh all
CC="$(CC)" $(SH) test/00/t0051a.sh
t0052a: test/00/t0052a.sh all
CC="$(CC)" $(SH) test/00/t0052a.sh
t0053a: test/00/t0053a.sh all
CC="$(CC)" $(SH) test/00/t0053a.sh
t0054a: test/00/t0054a.sh all
CC="$(CC)" $(SH) test/00/t0054a.sh
t0055a: test/00/t0055a.sh all
CC="$(CC)" $(SH) test/00/t0055a.sh
t0056a: test/00/t0056a.sh all
CC="$(CC)" $(SH) test/00/t0056a.sh
t0057a: test/00/t0057a.sh all
CC="$(CC)" $(SH) test/00/t0057a.sh
t0058a: test/00/t0058a.sh all
CC="$(CC)" $(SH) test/00/t0058a.sh
t0059a: test/00/t0059a.sh all
CC="$(CC)" $(SH) test/00/t0059a.sh
t0060a: test/00/t0060a.sh all
CC="$(CC)" $(SH) test/00/t0060a.sh
t0061a: test/00/t0061a.sh all
CC="$(CC)" $(SH) test/00/t0061a.sh
t0062a: test/00/t0062a.sh all
CC="$(CC)" $(SH) test/00/t0062a.sh
t0063a: test/00/t0063a.sh all
CC="$(CC)" $(SH) test/00/t0063a.sh
t0064a: test/00/t0064a.sh all
CC="$(CC)" $(SH) test/00/t0064a.sh
t0065a: test/00/t0065a.sh all
CC="$(CC)" $(SH) test/00/t0065a.sh
t0066a: test/00/t0066a.sh all
CC="$(CC)" $(SH) test/00/t0066a.sh
t0067a: test/00/t0067a.sh all
CC="$(CC)" $(SH) test/00/t0067a.sh
t0068a: test/00/t0068a.sh all
CC="$(CC)" $(SH) test/00/t0068a.sh
t0069a: test/00/t0069a.sh all
CC="$(CC)" $(SH) test/00/t0069a.sh
t0070a: test/00/t0070a.sh all
CC="$(CC)" $(SH) test/00/t0070a.sh
t0071a: test/00/t0071a.sh all
CC="$(CC)" $(SH) test/00/t0071a.sh
t0072a: test/00/t0072a.sh all
CC="$(CC)" $(SH) test/00/t0072a.sh
t0073a: test/00/t0073a.sh all
CC="$(CC)" $(SH) test/00/t0073a.sh
t0074a: test/00/t0074a.sh all
CC="$(CC)" $(SH) test/00/t0074a.sh
t0075a: test/00/t0075a.sh all
CC="$(CC)" $(SH) test/00/t0075a.sh
t0076a: test/00/t0076a.sh all
CC="$(CC)" $(SH) test/00/t0076a.sh
t0077a: test/00/t0077a.sh all
CC="$(CC)" $(SH) test/00/t0077a.sh
t0078a: test/00/t0078a.sh all
CC="$(CC)" $(SH) test/00/t0078a.sh
t0079a: test/00/t0079a.sh all
CC="$(CC)" $(SH) test/00/t0079a.sh
t0081a: test/00/t0081a.sh all
CC="$(CC)" $(SH) test/00/t0081a.sh
t0082a: test/00/t0082a.sh all
CC="$(CC)" $(SH) test/00/t0082a.sh
t0083a: test/00/t0083a.sh all
CC="$(CC)" $(SH) test/00/t0083a.sh
t0084a: test/00/t0084a.sh all
CC="$(CC)" $(SH) test/00/t0084a.sh
t0085a: test/00/t0085a.sh all
CC="$(CC)" $(SH) test/00/t0085a.sh
t0086a: test/00/t0086a.sh all
CC="$(CC)" $(SH) test/00/t0086a.sh
t0087a: test/00/t0087a.sh all
CC="$(CC)" $(SH) test/00/t0087a.sh
t0088a: test/00/t0088a.sh all
CC="$(CC)" $(SH) test/00/t0088a.sh
t0089a: test/00/t0089a.sh all
CC="$(CC)" $(SH) test/00/t0089a.sh
t0090a: test/00/t0090a.sh all
CC="$(CC)" $(SH) test/00/t0090a.sh
t0091a: test/00/t0091a.sh all
CC="$(CC)" $(SH) test/00/t0091a.sh
t0092a: test/00/t0092a.sh all
CC="$(CC)" $(SH) test/00/t0092a.sh
t0093a: test/00/t0093a.sh all
CC="$(CC)" $(SH) test/00/t0093a.sh
t0094a: test/00/t0094a.sh all
CC="$(CC)" $(SH) test/00/t0094a.sh
t0095a: test/00/t0095a.sh all
CC="$(CC)" $(SH) test/00/t0095a.sh
t0096a: test/00/t0096a.sh all
CC="$(CC)" $(SH) test/00/t0096a.sh
t0097a: test/00/t0097a.sh all
CC="$(CC)" $(SH) test/00/t0097a.sh
t0098a: test/00/t0098a.sh all
CC="$(CC)" $(SH) test/00/t0098a.sh
t0099a: test/00/t0099a.sh all
CC="$(CC)" $(SH) test/00/t0099a.sh
t0100a: test/01/t0100a.sh all
CC="$(CC)" $(SH) test/01/t0100a.sh
t0101a: test/01/t0101a.sh all
CC="$(CC)" $(SH) test/01/t0101a.sh
t0102a: test/01/t0102a.sh all
CC="$(CC)" $(SH) test/01/t0102a.sh
t0103a: test/01/t0103a.sh all
CC="$(CC)" $(SH) test/01/t0103a.sh
t0104a: test/01/t0104a.sh all
CC="$(CC)" $(SH) test/01/t0104a.sh
t0105a: test/01/t0105a.sh all
CC="$(CC)" $(SH) test/01/t0105a.sh
t0106a: test/01/t0106a.sh all
CC="$(CC)" $(SH) test/01/t0106a.sh
t0107a: test/01/t0107a.sh all
CC="$(CC)" $(SH) test/01/t0107a.sh
t0108a: test/01/t0108a.sh all
CC="$(CC)" $(SH) test/01/t0108a.sh
t0109a: test/01/t0109a.sh all
CC="$(CC)" $(SH) test/01/t0109a.sh
t0111a: test/01/t0111a.sh all
CC="$(CC)" $(SH) test/01/t0111a.sh
t0112a: test/01/t0112a.sh all
CC="$(CC)" $(SH) test/01/t0112a.sh
t0113a: test/01/t0113a.sh all
CC="$(CC)" $(SH) test/01/t0113a.sh
t0114a: test/01/t0114a.sh all
CC="$(CC)" $(SH) test/01/t0114a.sh
t0115a: test/01/t0115a.sh all
CC="$(CC)" $(SH) test/01/t0115a.sh
t0116a: test/01/t0116a.sh all
CC="$(CC)" $(SH) test/01/t0116a.sh
t0117a: test/01/t0117a.sh all
CC="$(CC)" $(SH) test/01/t0117a.sh
t0118a: test/01/t0118a.sh all
CC="$(CC)" $(SH) test/01/t0118a.sh
t0119a: test/01/t0119a.sh all
CC="$(CC)" $(SH) test/01/t0119a.sh
t0120a: test/01/t0120a.sh all
CC="$(CC)" $(SH) test/01/t0120a.sh
t0121a: test/01/t0121a.sh all
CC="$(CC)" $(SH) test/01/t0121a.sh
t0122a: test/01/t0122a.sh all
CC="$(CC)" $(SH) test/01/t0122a.sh
t0123a: test/01/t0123a.sh all
CC="$(CC)" $(SH) test/01/t0123a.sh
t0124a: test/01/t0124a.sh all
CC="$(CC)" $(SH) test/01/t0124a.sh
t0125a: test/01/t0125a.sh all
CC="$(CC)" $(SH) test/01/t0125a.sh
t0126a: test/01/t0126a.sh all
CC="$(CC)" $(SH) test/01/t0126a.sh
t0127a: test/01/t0127a.sh all
CC="$(CC)" $(SH) test/01/t0127a.sh
t0128a: test/01/t0128a.sh all
CC="$(CC)" $(SH) test/01/t0128a.sh
t0129a: test/01/t0129a.sh all
CC="$(CC)" $(SH) test/01/t0129a.sh
t0130a: test/01/t0130a.sh all
CC="$(CC)" $(SH) test/01/t0130a.sh
t0131a: test/01/t0131a.sh all
CC="$(CC)" $(SH) test/01/t0131a.sh
t0132a: test/01/t0132a.sh all
CC="$(CC)" $(SH) test/01/t0132a.sh
t0133a: test/01/t0133a.sh all
CC="$(CC)" $(SH) test/01/t0133a.sh
t0134a: test/01/t0134a.sh all
CC="$(CC)" $(SH) test/01/t0134a.sh
t0135a: test/01/t0135a.sh all
CC="$(CC)" $(SH) test/01/t0135a.sh
t0136a: test/01/t0136a.sh all
CC="$(CC)" $(SH) test/01/t0136a.sh
t0137a: test/01/t0137a.sh all
CC="$(CC)" $(SH) test/01/t0137a.sh
t0138a: test/01/t0138a.sh all
CC="$(CC)" $(SH) test/01/t0138a.sh
t0139a: test/01/t0139a.sh all
CC="$(CC)" $(SH) test/01/t0139a.sh
t0140a: test/01/t0140a.sh all
CC="$(CC)" $(SH) test/01/t0140a.sh
t0141a: test/01/t0141a.sh all
CC="$(CC)" $(SH) test/01/t0141a.sh
t0142a: test/01/t0142a.sh all
CC="$(CC)" $(SH) test/01/t0142a.sh
t0144a: test/01/t0144a.sh all
CC="$(CC)" $(SH) test/01/t0144a.sh
t0145a: test/01/t0145a.sh all
CC="$(CC)" $(SH) test/01/t0145a.sh
t0146a: test/01/t0146a.sh all
CC="$(CC)" $(SH) test/01/t0146a.sh
t0147a: test/01/t0147a.sh all
CC="$(CC)" $(SH) test/01/t0147a.sh
t0148a: test/01/t0148a.sh all
CC="$(CC)" $(SH) test/01/t0148a.sh
t0149a: test/01/t0149a.sh all
CC="$(CC)" $(SH) test/01/t0149a.sh
t0150a: test/01/t0150a.sh all
CC="$(CC)" $(SH) test/01/t0150a.sh
t0151a: test/01/t0151a.sh all
CC="$(CC)" $(SH) test/01/t0151a.sh
t0152a: test/01/t0152a.sh all
CC="$(CC)" $(SH) test/01/t0152a.sh
t0153a: test/01/t0153a.sh all
CC="$(CC)" $(SH) test/01/t0153a.sh
t0154a: test/01/t0154a.sh all
CC="$(CC)" $(SH) test/01/t0154a.sh
t0155a: test/01/t0155a.sh all
CC="$(CC)" $(SH) test/01/t0155a.sh
t0156a: test/01/t0156a.sh all
CC="$(CC)" $(SH) test/01/t0156a.sh
t0157a: test/01/t0157a.sh all
CC="$(CC)" $(SH) test/01/t0157a.sh
t0158a: test/01/t0158a.sh all
CC="$(CC)" $(SH) test/01/t0158a.sh
t0159a: test/01/t0159a.sh all
CC="$(CC)" $(SH) test/01/t0159a.sh
t0160a: test/01/t0160a.sh all
CC="$(CC)" $(SH) test/01/t0160a.sh
t0161a: test/01/t0161a.sh all
CC="$(CC)" $(SH) test/01/t0161a.sh
t0162a: test/01/t0162a.sh all
CC="$(CC)" $(SH) test/01/t0162a.sh
t0163a: test/01/t0163a.sh all
CC="$(CC)" $(SH) test/01/t0163a.sh
t0164a: test/01/t0164a.sh all
CC="$(CC)" $(SH) test/01/t0164a.sh
t0165a: test/01/t0165a.sh all
CC="$(CC)" $(SH) test/01/t0165a.sh
t0166a: test/01/t0166a.sh all
CC="$(CC)" $(SH) test/01/t0166a.sh
t0167a: test/01/t0167a.sh all
CC="$(CC)" $(SH) test/01/t0167a.sh
t0168a: test/01/t0168a.sh all
CC="$(CC)" $(SH) test/01/t0168a.sh
t0169a: test/01/t0169a.sh all
CC="$(CC)" $(SH) test/01/t0169a.sh
t0170a: test/01/t0170a.sh all
CC="$(CC)" $(SH) test/01/t0170a.sh
t0171a: test/01/t0171a.sh all
CC="$(CC)" $(SH) test/01/t0171a.sh
t0172a: test/01/t0172a.sh all
CC="$(CC)" $(SH) test/01/t0172a.sh
t0173a: test/01/t0173a.sh all
CC="$(CC)" $(SH) test/01/t0173a.sh
t0175a: test/01/t0175a.sh all
CC="$(CC)" $(SH) test/01/t0175a.sh
t0176a: test/01/t0176a.sh all
CC="$(CC)" $(SH) test/01/t0176a.sh
t0177a: test/01/t0177a.sh all
CC="$(CC)" $(SH) test/01/t0177a.sh
t0178a: test/01/t0178a.sh all
CC="$(CC)" $(SH) test/01/t0178a.sh
t0179a: test/01/t0179a.sh all
CC="$(CC)" $(SH) test/01/t0179a.sh
t0180a: test/01/t0180a.sh all
CC="$(CC)" $(SH) test/01/t0180a.sh
t0181a: test/01/t0181a.sh all
CC="$(CC)" $(SH) test/01/t0181a.sh
t0182a: test/01/t0182a.sh all
CC="$(CC)" $(SH) test/01/t0182a.sh
t0183a: test/01/t0183a.sh all
CC="$(CC)" $(SH) test/01/t0183a.sh
t0185a: test/01/t0185a.sh all
CC="$(CC)" $(SH) test/01/t0185a.sh
t0186a: test/01/t0186a.sh all
CC="$(CC)" $(SH) test/01/t0186a.sh
t0187a: test/01/t0187a.sh all
CC="$(CC)" $(SH) test/01/t0187a.sh
t0188a: test/01/t0188a.sh all
CC="$(CC)" $(SH) test/01/t0188a.sh
t0189a: test/01/t0189a.sh all
CC="$(CC)" $(SH) test/01/t0189a.sh
t0190a: test/01/t0190a.sh all
CC="$(CC)" $(SH) test/01/t0190a.sh
t0191a: test/01/t0191a.sh all
CC="$(CC)" $(SH) test/01/t0191a.sh
t0193a: test/01/t0193a.sh all
CC="$(CC)" $(SH) test/01/t0193a.sh
t0195a: test/01/t0195a.sh all
CC="$(CC)" $(SH) test/01/t0195a.sh
t0196a: test/01/t0196a.sh all
CC="$(CC)" $(SH) test/01/t0196a.sh
t0197a: test/01/t0197a.sh all
CC="$(CC)" $(SH) test/01/t0197a.sh
t0198a: test/01/t0198a.sh all
CC="$(CC)" $(SH) test/01/t0198a.sh
t0199a: test/01/t0199a.sh all
CC="$(CC)" $(SH) test/01/t0199a.sh
t0200a: test/02/t0200a.sh all
CC="$(CC)" $(SH) test/02/t0200a.sh
t0201a: test/02/t0201a.sh all
CC="$(CC)" $(SH) test/02/t0201a.sh
t0202a: test/02/t0202a.sh all
CC="$(CC)" $(SH) test/02/t0202a.sh
t0203a: test/02/t0203a.sh all
CC="$(CC)" $(SH) test/02/t0203a.sh
t0205a: test/02/t0205a.sh all
CC="$(CC)" $(SH) test/02/t0205a.sh
t0206a: test/02/t0206a.sh all
CC="$(CC)" $(SH) test/02/t0206a.sh
t0208a: test/02/t0208a.sh all
CC="$(CC)" $(SH) test/02/t0208a.sh
t0209a: test/02/t0209a.sh all
CC="$(CC)" $(SH) test/02/t0209a.sh
t0210a: test/02/t0210a.sh all
CC="$(CC)" $(SH) test/02/t0210a.sh
t0211a: test/02/t0211a.sh all
CC="$(CC)" $(SH) test/02/t0211a.sh
t0212a: test/02/t0212a.sh all
CC="$(CC)" $(SH) test/02/t0212a.sh
t0213a: test/02/t0213a.sh all
CC="$(CC)" $(SH) test/02/t0213a.sh
t0215a: test/02/t0215a.sh all
CC="$(CC)" $(SH) test/02/t0215a.sh
t0216a: test/02/t0216a.sh all
CC="$(CC)" $(SH) test/02/t0216a.sh
t0217a: test/02/t0217a.sh all
CC="$(CC)" $(SH) test/02/t0217a.sh
lib/.datadir:
-$(INSTALL) -m 0755 -d $(datadir)
@-test -d $(datadir) && touch $@
@sleep 1
lib/en/LC_MESSAGES/.libdir: lib/en/.libdir
-$(INSTALL) -m 0755 -d $(libdir)/en/LC_MESSAGES
@-test -d $(libdir)/en/LC_MESSAGES && touch $@
@sleep 1
lib/en/.libdir: lib/.libdir
-$(INSTALL) -m 0755 -d $(libdir)/en
@-test -d $(libdir)/en && touch $@
@sleep 1
lib/.libdir:
-$(INSTALL) -m 0755 -d $(libdir)
@-test -d $(libdir) && touch $@
@sleep 1
lib/en/man1/.mandir: lib/en/.mandir
-$(INSTALL) -m 0755 -d $(mandir)/man1
@-test -d $(mandir)/man1 && touch $@
@sleep 1
lib/en/.mandir:
-$(INSTALL) -m 0755 -d $(mandir)
@-test -d $(mandir) && touch $@
@sleep 1
lib/en/man1/.datadir: lib/en/.datadir
-$(INSTALL) -m 0755 -d $(datadir)/en/man1
@-test -d $(datadir)/en/man1 && touch $@
@sleep 1
lib/en/.datadir: lib/.datadir
-$(INSTALL) -m 0755 -d $(datadir)/en
@-test -d $(datadir)/en && touch $@
@sleep 1
c_incl_obj = c_incl/cache.$(OBJEXT) c_incl/flatten.$(OBJEXT) \
c_incl/lang.$(OBJEXT) c_incl/lang_c.$(OBJEXT) \
c_incl/lang_m4.$(OBJEXT) c_incl/lang_optimis.$(OBJEXT) \
c_incl/lang_roff.$(OBJEXT) c_incl/main.$(OBJEXT) \
c_incl/os.$(OBJEXT) c_incl/sniff.$(OBJEXT) \
c_incl/stripdot.$(OBJEXT)
bin/c_incl$(EXEEXT): $(c_incl_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(c_incl_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)c_incl$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/c_incl$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/c_incl$(EXEEXT) $@
common_obj = common/ac/libintl.$(OBJEXT) common/ac/mntent.$(OBJEXT) \
common/ac/stdio.$(OBJEXT) common/ac/stdlib.$(OBJEXT) \
common/ac/string.$(OBJEXT) \
common/ac/sys/utsname.$(OBJEXT) common/ac/time.$(OBJEXT) \
common/ac/wchar.$(OBJEXT) common/ac/wctype.$(OBJEXT) \
common/arglex.$(OBJEXT) common/env.$(OBJEXT) \
common/error.$(OBJEXT) common/error_intl.$(OBJEXT) \
common/error_intl/close.$(OBJEXT) \
common/error_intl/open.$(OBJEXT) \
common/error_intl/read.$(OBJEXT) \
common/error_intl/stat.$(OBJEXT) \
common/error_intl/unlink.$(OBJEXT) \
common/error_intl/write.$(OBJEXT) \
common/exeext.$(OBJEXT) common/fflush_slow.$(OBJEXT) \
common/fp.$(OBJEXT) common/fp/cksum.$(OBJEXT) \
common/fp/combined.$(OBJEXT) common/fp/crc32.$(OBJEXT) \
common/fp/ident.$(OBJEXT) common/fp/len.$(OBJEXT) \
common/fp/md5.$(OBJEXT) common/fp/snefru.$(OBJEXT) \
common/fstrcmp.$(OBJEXT) common/gmatch.$(OBJEXT) \
common/help.$(OBJEXT) common/home_directo.$(OBJEXT) \
common/input.$(OBJEXT) common/input/crlf.$(OBJEXT) \
common/input/file.$(OBJEXT) \
common/input/file_text.$(OBJEXT) \
common/input/null.$(OBJEXT) \
common/input/private.$(OBJEXT) \
common/input/pushba_trans.$(OBJEXT) \
common/input/stdin.$(OBJEXT) common/itab.$(OBJEXT) \
common/language.$(OBJEXT) common/libdir.$(OBJEXT) \
common/mem.$(OBJEXT) common/mprintf.$(OBJEXT) \
common/os_path_cat.$(OBJEXT) common/page.$(OBJEXT) \
common/progname.$(OBJEXT) common/quit.$(OBJEXT) \
common/star.$(OBJEXT) common/str.$(OBJEXT) \
common/str/cat2.$(OBJEXT) common/str/cat3.$(OBJEXT) \
common/str/downcase.$(OBJEXT) common/str/quote.$(OBJEXT) \
common/str/re.$(OBJEXT) common/str/substitute.$(OBJEXT) \
common/str/upcase.$(OBJEXT) common/str_list.$(OBJEXT) \
common/stracc.$(OBJEXT) common/sub.$(OBJEXT) \
common/sub/basename.$(OBJEXT) common/sub/date.$(OBJEXT) \
common/sub/dirname.$(OBJEXT) \
common/sub/downcase.$(OBJEXT) common/sub/errno.$(OBJEXT) \
common/sub/expr.$(OBJEXT) \
common/sub/expr_gram.gen.$(OBJEXT) \
common/sub/expr_lex.$(OBJEXT) common/sub/ident.$(OBJEXT) \
common/sub/left.$(OBJEXT) common/sub/length.$(OBJEXT) \
common/sub/plural.$(OBJEXT) \
common/sub/progname.$(OBJEXT) common/sub/right.$(OBJEXT) \
common/sub/upcase.$(OBJEXT) \
common/sub/zero_pad.$(OBJEXT) common/symtab.$(OBJEXT) \
common/timing.$(OBJEXT) common/trace.$(OBJEXT) \
common/ts.$(OBJEXT) common/verbose.$(OBJEXT) \
common/version-stmp.$(OBJEXT) common/version.$(OBJEXT) \
common/wstr.$(OBJEXT) common/wstr_list.$(OBJEXT)
cook_obj = cook/archive.$(OBJEXT) cook/builtin.$(OBJEXT) \
cook/builtin/addprefix.$(OBJEXT) \
cook/builtin/addsuffix.$(OBJEXT) \
cook/builtin/basename.$(OBJEXT) \
cook/builtin/boolean.$(OBJEXT) \
cook/builtin/cando.$(OBJEXT) \
cook/builtin/collect.$(OBJEXT) \
cook/builtin/cook.$(OBJEXT) \
cook/builtin/defined.$(OBJEXT) \
cook/builtin/dos.$(OBJEXT) \
cook/builtin/execute.$(OBJEXT) \
cook/builtin/exists.$(OBJEXT) \
cook/builtin/expr.$(OBJEXT) \
cook/builtin/expr_lex.$(OBJEXT) \
cook/builtin/expr_parse.gen.$(OBJEXT) \
cook/builtin/filter_out.$(OBJEXT) \
cook/builtin/find_command.$(OBJEXT) \
cook/builtin/findstring.$(OBJEXT) \
cook/builtin/getenv.$(OBJEXT) \
cook/builtin/glob.$(OBJEXT) cook/builtin/home.$(OBJEXT) \
cook/builtin/interi_files.$(OBJEXT) \
cook/builtin/join.$(OBJEXT) cook/builtin/match.$(OBJEXT) \
cook/builtin/mtime.$(OBJEXT) \
cook/builtin/opsys.$(OBJEXT) \
cook/builtin/options.$(OBJEXT) \
cook/builtin/pathname.$(OBJEXT) \
cook/builtin/positional.$(OBJEXT) \
cook/builtin/print.$(OBJEXT) \
cook/builtin/private.$(OBJEXT) \
cook/builtin/read.$(OBJEXT) \
cook/builtin/readlink.$(OBJEXT) \
cook/builtin/relati_dirna.$(OBJEXT) \
cook/builtin/resolve.$(OBJEXT) \
cook/builtin/sort_newest.$(OBJEXT) \
cook/builtin/split.$(OBJEXT) \
cook/builtin/stringset.$(OBJEXT) \
cook/builtin/strip.$(OBJEXT) \
cook/builtin/stripdot.$(OBJEXT) \
cook/builtin/strlen.$(OBJEXT) \
cook/builtin/subst.$(OBJEXT) \
cook/builtin/substr.$(OBJEXT) \
cook/builtin/suffix.$(OBJEXT) \
cook/builtin/text.$(OBJEXT) \
cook/builtin/thread-id.$(OBJEXT) \
cook/builtin/unsplit.$(OBJEXT) \
cook/builtin/uptodate.$(OBJEXT) \
cook/builtin/word.$(OBJEXT) \
cook/builtin/wordlist.$(OBJEXT) \
cook/builtin/write.$(OBJEXT) cook/cascade.$(OBJEXT) \
cook/cook.$(OBJEXT) cook/desist.$(OBJEXT) \
cook/dir_part.$(OBJEXT) cook/expr.$(OBJEXT) \
cook/expr/catenate.$(OBJEXT) \
cook/expr/constant.$(OBJEXT) \
cook/expr/function.$(OBJEXT) cook/expr/list.$(OBJEXT) \
cook/expr/position.$(OBJEXT) cook/fingerprint.$(OBJEXT) \
cook/fingerprint/calc_string.$(OBJEXT) \
cook/fingerprint/calculate.$(OBJEXT) \
cook/fingerprint/filename.$(OBJEXT) \
cook/fingerprint/find.$(OBJEXT) \
cook/fingerprint/gram.gen.$(OBJEXT) \
cook/fingerprint/ingredients.$(OBJEXT) \
cook/fingerprint/lex.$(OBJEXT) \
cook/fingerprint/record.$(OBJEXT) \
cook/fingerprint/subdir.$(OBJEXT) \
cook/fingerprint/sync.$(OBJEXT) \
cook/fingerprint/value.$(OBJEXT) cook/flag.$(OBJEXT) \
cook/function.$(OBJEXT) cook/graph.$(OBJEXT) \
cook/graph/build.$(OBJEXT) cook/graph/check.$(OBJEXT) \
cook/graph/edge_type.$(OBJEXT) cook/graph/file.$(OBJEXT) \
cook/graph/file_list.$(OBJEXT) \
cook/graph/file_pair.$(OBJEXT) cook/graph/leaf.$(OBJEXT) \
cook/graph/pairs.$(OBJEXT) cook/graph/recipe.$(OBJEXT) \
cook/graph/recipe_list.$(OBJEXT) \
cook/graph/run.$(OBJEXT) cook/graph/script.$(OBJEXT) \
cook/graph/stats.$(OBJEXT) cook/graph/walk.$(OBJEXT) \
cook/graph/web.$(OBJEXT) cook/hashline.gen.$(OBJEXT) \
cook/id.$(OBJEXT) cook/id/builtin.$(OBJEXT) \
cook/id/function.$(OBJEXT) cook/id/global.$(OBJEXT) \
cook/id/nothing.$(OBJEXT) cook/id/private.$(OBJEXT) \
cook/id/variable.$(OBJEXT) cook/lex.$(OBJEXT) \
cook/lex/filename.$(OBJEXT) \
cook/lex/filenamelist.$(OBJEXT) cook/listing.$(OBJEXT) \
cook/main.$(OBJEXT) cook/match.$(OBJEXT) \
cook/match/cook.$(OBJEXT) cook/match/new.$(OBJEXT) \
cook/match/new_by_recip.$(OBJEXT) \
cook/match/private.$(OBJEXT) cook/match/regex.$(OBJEXT) \
cook/match/stack.$(OBJEXT) cook/match/wl.$(OBJEXT) \
cook/meter.$(OBJEXT) cook/opcode.$(OBJEXT) \
cook/opcode/assign.$(OBJEXT) \
cook/opcode/assign_appen.$(OBJEXT) \
cook/opcode/assign_local.$(OBJEXT) \
cook/opcode/cascade.$(OBJEXT) \
cook/opcode/catenate.$(OBJEXT) \
cook/opcode/command.$(OBJEXT) \
cook/opcode/context.$(OBJEXT) cook/opcode/fail.$(OBJEXT) \
cook/opcode/function.$(OBJEXT) \
cook/opcode/gosub.$(OBJEXT) cook/opcode/goto.$(OBJEXT) \
cook/opcode/jmpf.$(OBJEXT) cook/opcode/jmpt.$(OBJEXT) \
cook/opcode/label.$(OBJEXT) cook/opcode/list.$(OBJEXT) \
cook/opcode/postlude.$(OBJEXT) \
cook/opcode/prelude.$(OBJEXT) \
cook/opcode/private.$(OBJEXT) cook/opcode/push.$(OBJEXT) \
cook/opcode/recipe.$(OBJEXT) cook/opcode/set.$(OBJEXT) \
cook/opcode/setenv.$(OBJEXT) \
cook/opcode/setenv_appen.$(OBJEXT) \
cook/opcode/status.$(OBJEXT) \
cook/opcode/string.$(OBJEXT) \
cook/opcode/thread-id.$(OBJEXT) \
cook/opcode/touch.$(OBJEXT) \
cook/opcode/unsetenv.$(OBJEXT) cook/option.$(OBJEXT) \
cook/os.$(OBJEXT) cook/os/below_dir.$(OBJEXT) \
cook/os/dirnam_relat.$(OBJEXT) \
cook/os/pathname.$(OBJEXT) cook/os/rel_if_poss.$(OBJEXT) \
cook/os/symlink.$(OBJEXT) cook/os/wait.$(OBJEXT) \
cook/parse.gen.$(OBJEXT) cook/recipe.$(OBJEXT) \
cook/recipe/list.$(OBJEXT) cook/stat.cache.$(OBJEXT) \
cook/stmt.$(OBJEXT) cook/stmt/append.$(OBJEXT) \
cook/stmt/assign.$(OBJEXT) cook/stmt/command.$(OBJEXT) \
cook/stmt/compound.$(OBJEXT) cook/stmt/fail.$(OBJEXT) \
cook/stmt/gosub.$(OBJEXT) cook/stmt/if.$(OBJEXT) \
cook/stmt/list.$(OBJEXT) cook/stmt/loop.$(OBJEXT) \
cook/stmt/loopvar.$(OBJEXT) cook/stmt/nop.$(OBJEXT) \
cook/stmt/recipe.$(OBJEXT) cook/stmt/return.$(OBJEXT) \
cook/stmt/set.$(OBJEXT) cook/stmt/touch.$(OBJEXT) \
cook/stmt/unsetenv.$(OBJEXT) cook/strip_dot.$(OBJEXT) \
cook/tempfilename.$(OBJEXT)
bin/cook$(EXEEXT): $(cook_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(cook_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)cook$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/cook$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/cook$(EXEEXT) $@
cook_bom_obj = cook_bom/main.$(OBJEXT) cook_bom/sniff.$(OBJEXT)
bin/cook_bom$(EXEEXT): $(cook_bom_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(cook_bom_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)cook_bom$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/cook_bom$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/cook_bom$(EXEEXT) $@
cookfp_obj = cookfp/main.$(OBJEXT)
bin/cookfp$(EXEEXT): $(cookfp_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(cookfp_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)cookfp$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/cookfp$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/cookfp$(EXEEXT) $@
cooktime_obj = cooktime/date.gen.$(OBJEXT) cooktime/main.$(OBJEXT)
bin/cooktime$(EXEEXT): $(cooktime_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(cooktime_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)cooktime$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/cooktime$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/cooktime$(EXEEXT) $@
file_check_obj = file_check/file_check.$(OBJEXT) \
file_check/main.$(OBJEXT)
bin/file_check$(EXEEXT): $(file_check_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(file_check_obj) common/lib.$(LIBEXT) $(LIBS)
find_libs_obj = find_libs/main.$(OBJEXT) find_libs/os.$(OBJEXT)
bin/find_libs$(EXEEXT): $(find_libs_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(find_libs_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)find_libs$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/find_libs$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/find_libs$(EXEEXT) $@
fstrcmp_obj = fstrcmp/main.$(OBJEXT)
bin/fstrcmp$(EXEEXT): $(fstrcmp_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(fstrcmp_obj) common/lib.$(LIBEXT) $(LIBS)
make2cook_obj = make2cook/blob.$(OBJEXT) make2cook/emit.$(OBJEXT) \
make2cook/gram.gen.$(OBJEXT) make2cook/lex.$(OBJEXT) \
make2cook/main.$(OBJEXT) make2cook/stmt.$(OBJEXT) \
make2cook/stmt/assign.$(OBJEXT) \
make2cook/stmt/blank.$(OBJEXT) \
make2cook/stmt/command.$(OBJEXT) \
make2cook/stmt/comment.$(OBJEXT) \
make2cook/stmt/compound.$(OBJEXT) \
make2cook/stmt/define.$(OBJEXT) \
make2cook/stmt/export.$(OBJEXT) \
make2cook/stmt/if.$(OBJEXT) \
make2cook/stmt/include.$(OBJEXT) \
make2cook/stmt/rule.$(OBJEXT) \
make2cook/stmt/unexport.$(OBJEXT) \
make2cook/stmt/vpath.$(OBJEXT) \
make2cook/vargram.gen.$(OBJEXT) \
make2cook/variable.$(OBJEXT)
bin/make2cook$(EXEEXT): $(make2cook_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(make2cook_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)make2cook$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/make2cook$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/make2cook$(EXEEXT) $@
roffpp_obj = roffpp/main.$(OBJEXT) roffpp/preprocess.$(OBJEXT)
bin/roffpp$(EXEEXT): $(roffpp_obj) common/lib.$(LIBEXT) .bin
$(CC) $(LDFLAGS) -o $@ $(roffpp_obj) common/lib.$(LIBEXT) $(LIBS)
$(bindir)/$(PROGRAM_PREFIX)roffpp$(PROGRAM_SUFFIX)$(EXEEXT): \
bin/roffpp$(EXEEXT) .bindir
$(INSTALL_PROGRAM) bin/roffpp$(EXEEXT) $@
#
# The real default target
#
all: bin/cook_rsh$(EXEEXT) bin/c_incl$(EXEEXT) bin/cook$(EXEEXT) \
bin/cook_bom$(EXEEXT) bin/cookfp$(EXEEXT) \
bin/cooktime$(EXEEXT) bin/file_check$(EXEEXT) \
bin/find_libs$(EXEEXT) bin/fstrcmp$(EXEEXT) \
bin/make2cook$(EXEEXT) bin/roffpp$(EXEEXT) po groff_all
common/lib.$(LIBEXT): $(common_obj)
rm -f $@
$(AR) qc $@ $(common_obj)
$(RANLIB) $@
.bin:
-mkdir bin
-chmod 0755 bin
@-test -d bin && touch .bin
@sleep 1
.bindir:
-$(INSTALL) -m 0755 -d $(bindir)
@-test -d $(bindir) && touch .bindir
@sleep 1
sure: t0001a t0002a t0003a t0004a t0005a t0006a t0007a t0008a t0009a \
t0010a t0011a t0012a t0013a t0014a t0015a t0016a t0017a \
t0018a t0019a t0020a t0021a t0022a t0023a t0024a t0025a \
t0026a t0027a t0028a t0029a t0031a t0032a t0033a t0034a \
t0035a t0036a t0037a t0038a t0039a t0040a t0041a t0042a \
t0043a t0044a t0045a t0046a t0047a t0048a t0049a t0050a \
t0051a t0052a t0053a t0054a t0055a t0056a t0057a t0058a \
t0059a t0060a t0061a t0062a t0063a t0064a t0065a t0066a \
t0067a t0068a t0069a t0070a t0071a t0072a t0073a t0074a \
t0075a t0076a t0077a t0078a t0079a t0081a t0082a t0083a \
t0084a t0085a t0086a t0087a t0088a t0089a t0090a t0091a \
t0092a t0093a t0094a t0095a t0096a t0097a t0098a t0099a \
t0100a t0101a t0102a t0103a t0104a t0105a t0106a t0107a \
t0108a t0109a t0111a t0112a t0113a t0114a t0115a t0116a \
t0117a t0118a t0119a t0120a t0121a t0122a t0123a t0124a \
t0125a t0126a t0127a t0128a t0129a t0130a t0131a t0132a \
t0133a t0134a t0135a t0136a t0137a t0138a t0139a t0140a \
t0141a t0142a t0144a t0145a t0146a t0147a t0148a t0149a \
t0150a t0151a t0152a t0153a t0154a t0155a t0156a t0157a \
t0158a t0159a t0160a t0161a t0162a t0163a t0164a t0165a \
t0166a t0167a t0168a t0169a t0170a t0171a t0172a t0173a \
t0175a t0176a t0177a t0178a t0179a t0180a t0181a t0182a \
t0183a t0185a t0186a t0187a t0188a t0189a t0190a t0191a \
t0193a t0195a t0196a t0197a t0198a t0199a t0200a t0201a \
t0202a t0203a t0205a t0206a t0208a t0209a t0210a t0211a \
t0212a t0213a t0215a t0216a t0217a
@echo Passed All Tests
po_files_yes = lib/en/LC_MESSAGES/c_incl.mo lib/en/LC_MESSAGES/cook.mo \
lib/en/LC_MESSAGES/cook_bom.mo \
lib/en/LC_MESSAGES/cookfp.mo \
lib/en/LC_MESSAGES/cooktime.mo \
lib/en/LC_MESSAGES/file_check.mo \
lib/en/LC_MESSAGES/find_libs.mo \
lib/en/LC_MESSAGES/make2cook.mo \
lib/en/LC_MESSAGES/roffpp.mo
po_files_no =
po: $(po_files_@po_files@)
groff_all_yes = lib/en/refman.ps lib/en/refman.dvi lib/en/refman.txt \
lib/en/tutorial.ps lib/en/tutorial.dvi \
lib/en/tutorial.txt lib/en/user-guide.ps \
lib/en/user-guide.dvi lib/en/user-guide.txt
groff_all_no =
groff_all: $(groff_all_@have_groff@)
clean-obj:
rm -f core y.tab.c y.tab.h y.output .bin .bindir
rm -f common/lib.$(LIBEXT) c_incl/cache.$(OBJEXT)
rm -f c_incl/flatten.$(OBJEXT) c_incl/lang.$(OBJEXT)
rm -f c_incl/lang_c.$(OBJEXT) c_incl/lang_m4.$(OBJEXT)
rm -f c_incl/lang_optimis.$(OBJEXT) c_incl/lang_roff.$(OBJEXT)
rm -f c_incl/main.$(OBJEXT) c_incl/os.$(OBJEXT)
rm -f c_incl/sniff.$(OBJEXT) c_incl/stripdot.$(OBJEXT)
rm -f common/ac/libintl.$(OBJEXT) common/ac/mntent.$(OBJEXT)
rm -f common/ac/stdio.$(OBJEXT) common/ac/stdlib.$(OBJEXT)
rm -f common/ac/string.$(OBJEXT) common/ac/sys/utsname.$(OBJEXT)
rm -f common/ac/time.$(OBJEXT) common/ac/wchar.$(OBJEXT)
rm -f common/ac/wctype.$(OBJEXT) common/arglex.$(OBJEXT)
rm -f common/env.$(OBJEXT) common/error.$(OBJEXT)
rm -f common/error_intl.$(OBJEXT)
rm -f common/error_intl/close.$(OBJEXT)
rm -f common/error_intl/open.$(OBJEXT)
rm -f common/error_intl/read.$(OBJEXT)
rm -f common/error_intl/stat.$(OBJEXT)
rm -f common/error_intl/unlink.$(OBJEXT)
rm -f common/error_intl/write.$(OBJEXT) common/exeext.$(OBJEXT)
rm -f common/fflush_slow.$(OBJEXT) common/fp.$(OBJEXT)
rm -f common/fp/cksum.$(OBJEXT) common/fp/combined.$(OBJEXT)
rm -f common/fp/crc32.$(OBJEXT) common/fp/ident.$(OBJEXT)
rm -f common/fp/len.$(OBJEXT) common/fp/md5.$(OBJEXT)
rm -f common/fp/snefru.$(OBJEXT) common/fstrcmp.$(OBJEXT)
rm -f common/gmatch.$(OBJEXT) common/help.$(OBJEXT)
rm -f common/home_directo.$(OBJEXT) common/input.$(OBJEXT)
rm -f common/input/crlf.$(OBJEXT) common/input/file.$(OBJEXT)
rm -f common/input/file_text.$(OBJEXT)
rm -f common/input/null.$(OBJEXT) common/input/private.$(OBJEXT)
rm -f common/input/pushba_trans.$(OBJEXT)
rm -f common/input/stdin.$(OBJEXT) common/itab.$(OBJEXT)
rm -f common/language.$(OBJEXT) common/libdir.$(OBJEXT)
rm -f common/mem.$(OBJEXT) common/mprintf.$(OBJEXT)
rm -f common/os_path_cat.$(OBJEXT) common/page.$(OBJEXT)
rm -f common/progname.$(OBJEXT) common/quit.$(OBJEXT)
rm -f common/star.$(OBJEXT) common/str.$(OBJEXT)
rm -f common/str/cat2.$(OBJEXT) common/str/cat3.$(OBJEXT)
rm -f common/str/downcase.$(OBJEXT) common/str/quote.$(OBJEXT)
rm -f common/str/re.$(OBJEXT) common/str/substitute.$(OBJEXT)
rm -f common/str/upcase.$(OBJEXT) common/str_list.$(OBJEXT)
rm -f common/stracc.$(OBJEXT) common/sub.$(OBJEXT)
rm -f common/sub/basename.$(OBJEXT) common/sub/date.$(OBJEXT)
rm -f common/sub/dirname.$(OBJEXT) common/sub/downcase.$(OBJEXT)
rm -f common/sub/errno.$(OBJEXT) common/sub/expr.$(OBJEXT)
rm -f common/sub/expr_gram.gen.c common/sub/expr_gram.gen.h
rm -f common/sub/expr_gram.gen.$(OBJEXT)
rm -f common/sub/expr_lex.$(OBJEXT) common/sub/ident.$(OBJEXT)
rm -f common/sub/left.$(OBJEXT) common/sub/length.$(OBJEXT)
rm -f common/sub/plural.$(OBJEXT) common/sub/progname.$(OBJEXT)
rm -f common/sub/right.$(OBJEXT) common/sub/upcase.$(OBJEXT)
rm -f common/sub/zero_pad.$(OBJEXT) common/symtab.$(OBJEXT)
rm -f common/timing.$(OBJEXT) common/trace.$(OBJEXT)
rm -f common/ts.$(OBJEXT) common/verbose.$(OBJEXT)
rm -f common/version-stmp.$(OBJEXT) common/version.$(OBJEXT)
rm -f common/wstr.$(OBJEXT) common/wstr_list.$(OBJEXT)
rm -f cook/archive.$(OBJEXT) cook/builtin.$(OBJEXT)
rm -f cook/builtin/addprefix.$(OBJEXT)
rm -f cook/builtin/addsuffix.$(OBJEXT)
rm -f cook/builtin/basename.$(OBJEXT)
rm -f cook/builtin/boolean.$(OBJEXT)
rm -f cook/builtin/cando.$(OBJEXT)
rm -f cook/builtin/collect.$(OBJEXT) cook/builtin/cook.$(OBJEXT)
rm -f cook/builtin/defined.$(OBJEXT) cook/builtin/dos.$(OBJEXT)
rm -f cook/builtin/execute.$(OBJEXT)
rm -f cook/builtin/exists.$(OBJEXT) cook/builtin/expr.$(OBJEXT)
rm -f cook/builtin/expr_lex.$(OBJEXT)
rm -f cook/builtin/expr_parse.gen.c
rm -f cook/builtin/expr_parse.gen.h
rm -f cook/builtin/expr_parse.gen.$(OBJEXT)
rm -f cook/builtin/filter_out.$(OBJEXT)
rm -f cook/builtin/find_command.$(OBJEXT)
rm -f cook/builtin/findstring.$(OBJEXT)
rm -f cook/builtin/getenv.$(OBJEXT) cook/builtin/glob.$(OBJEXT)
rm -f cook/builtin/home.$(OBJEXT)
rm -f cook/builtin/interi_files.$(OBJEXT)
rm -f cook/builtin/join.$(OBJEXT) cook/builtin/match.$(OBJEXT)
rm -f cook/builtin/mtime.$(OBJEXT) cook/builtin/opsys.$(OBJEXT)
rm -f cook/builtin/options.$(OBJEXT)
rm -f cook/builtin/pathname.$(OBJEXT)
rm -f cook/builtin/positional.$(OBJEXT)
rm -f cook/builtin/print.$(OBJEXT)
rm -f cook/builtin/private.$(OBJEXT) cook/builtin/read.$(OBJEXT)
rm -f cook/builtin/readlink.$(OBJEXT)
rm -f cook/builtin/relati_dirna.$(OBJEXT)
rm -f cook/builtin/resolve.$(OBJEXT)
rm -f cook/builtin/sort_newest.$(OBJEXT)
rm -f cook/builtin/split.$(OBJEXT)
rm -f cook/builtin/stringset.$(OBJEXT)
rm -f cook/builtin/strip.$(OBJEXT)
rm -f cook/builtin/stripdot.$(OBJEXT)
rm -f cook/builtin/strlen.$(OBJEXT) cook/builtin/subst.$(OBJEXT)
rm -f cook/builtin/substr.$(OBJEXT)
rm -f cook/builtin/suffix.$(OBJEXT) cook/builtin/text.$(OBJEXT)
rm -f cook/builtin/thread-id.$(OBJEXT)
rm -f cook/builtin/unsplit.$(OBJEXT)
rm -f cook/builtin/uptodate.$(OBJEXT)
rm -f cook/builtin/word.$(OBJEXT)
rm -f cook/builtin/wordlist.$(OBJEXT)
rm -f cook/builtin/write.$(OBJEXT) cook/cascade.$(OBJEXT)
rm -f cook/cook.$(OBJEXT) cook/desist.$(OBJEXT)
rm -f cook/dir_part.$(OBJEXT) cook/expr.$(OBJEXT)
rm -f cook/expr/catenate.$(OBJEXT) cook/expr/constant.$(OBJEXT)
rm -f cook/expr/function.$(OBJEXT) cook/expr/list.$(OBJEXT)
rm -f cook/expr/position.$(OBJEXT) cook/fingerprint.$(OBJEXT)
rm -f cook/fingerprint/calc_string.$(OBJEXT)
rm -f cook/fingerprint/calculate.$(OBJEXT)
rm -f cook/fingerprint/filename.$(OBJEXT)
rm -f cook/fingerprint/find.$(OBJEXT)
rm -f cook/fingerprint/gram.gen.c cook/fingerprint/gram.gen.h
rm -f cook/fingerprint/gram.gen.$(OBJEXT)
rm -f cook/fingerprint/ingredients.$(OBJEXT)
rm -f cook/fingerprint/lex.$(OBJEXT)
rm -f cook/fingerprint/record.$(OBJEXT)
rm -f cook/fingerprint/subdir.$(OBJEXT)
rm -f cook/fingerprint/sync.$(OBJEXT)
rm -f cook/fingerprint/value.$(OBJEXT) cook/flag.$(OBJEXT)
rm -f cook/function.$(OBJEXT) cook/graph.$(OBJEXT)
rm -f cook/graph/build.$(OBJEXT) cook/graph/check.$(OBJEXT)
rm -f cook/graph/edge_type.$(OBJEXT) cook/graph/file.$(OBJEXT)
rm -f cook/graph/file_list.$(OBJEXT)
rm -f cook/graph/file_pair.$(OBJEXT) cook/graph/leaf.$(OBJEXT)
rm -f cook/graph/pairs.$(OBJEXT) cook/graph/recipe.$(OBJEXT)
rm -f cook/graph/recipe_list.$(OBJEXT) cook/graph/run.$(OBJEXT)
rm -f cook/graph/script.$(OBJEXT) cook/graph/stats.$(OBJEXT)
rm -f cook/graph/walk.$(OBJEXT) cook/graph/web.$(OBJEXT)
rm -f cook/hashline.gen.c cook/hashline.gen.h
rm -f cook/hashline.gen.$(OBJEXT) cook/id.$(OBJEXT)
rm -f cook/id/builtin.$(OBJEXT) cook/id/function.$(OBJEXT)
rm -f cook/id/global.$(OBJEXT) cook/id/nothing.$(OBJEXT)
rm -f cook/id/private.$(OBJEXT) cook/id/variable.$(OBJEXT)
rm -f cook/lex.$(OBJEXT) cook/lex/filename.$(OBJEXT)
rm -f cook/lex/filenamelist.$(OBJEXT) cook/listing.$(OBJEXT)
rm -f cook/main.$(OBJEXT) cook/match.$(OBJEXT)
rm -f cook/match/cook.$(OBJEXT) cook/match/new.$(OBJEXT)
rm -f cook/match/new_by_recip.$(OBJEXT)
rm -f cook/match/private.$(OBJEXT) cook/match/regex.$(OBJEXT)
rm -f cook/match/stack.$(OBJEXT) cook/match/wl.$(OBJEXT)
rm -f cook/meter.$(OBJEXT) cook/opcode.$(OBJEXT)
rm -f cook/opcode/assign.$(OBJEXT)
rm -f cook/opcode/assign_appen.$(OBJEXT)
rm -f cook/opcode/assign_local.$(OBJEXT)
rm -f cook/opcode/cascade.$(OBJEXT)
rm -f cook/opcode/catenate.$(OBJEXT)
rm -f cook/opcode/command.$(OBJEXT)
rm -f cook/opcode/context.$(OBJEXT) cook/opcode/fail.$(OBJEXT)
rm -f cook/opcode/function.$(OBJEXT) cook/opcode/gosub.$(OBJEXT)
rm -f cook/opcode/goto.$(OBJEXT) cook/opcode/jmpf.$(OBJEXT)
rm -f cook/opcode/jmpt.$(OBJEXT) cook/opcode/label.$(OBJEXT)
rm -f cook/opcode/list.$(OBJEXT) cook/opcode/postlude.$(OBJEXT)
rm -f cook/opcode/prelude.$(OBJEXT)
rm -f cook/opcode/private.$(OBJEXT) cook/opcode/push.$(OBJEXT)
rm -f cook/opcode/recipe.$(OBJEXT) cook/opcode/set.$(OBJEXT)
rm -f cook/opcode/setenv.$(OBJEXT)
rm -f cook/opcode/setenv_appen.$(OBJEXT)
rm -f cook/opcode/status.$(OBJEXT) cook/opcode/string.$(OBJEXT)
rm -f cook/opcode/thread-id.$(OBJEXT)
rm -f cook/opcode/touch.$(OBJEXT) cook/opcode/unsetenv.$(OBJEXT)
rm -f cook/option.$(OBJEXT) cook/os.$(OBJEXT)
rm -f cook/os/below_dir.$(OBJEXT) cook/os/dirnam_relat.$(OBJEXT)
rm -f cook/os/pathname.$(OBJEXT) cook/os/rel_if_poss.$(OBJEXT)
rm -f cook/os/symlink.$(OBJEXT) cook/os/wait.$(OBJEXT)
rm -f cook/parse.gen.c cook/parse.gen.h cook/parse.gen.$(OBJEXT)
rm -f cook/recipe.$(OBJEXT) cook/recipe/list.$(OBJEXT)
rm -f cook/stat.cache.$(OBJEXT) cook/stmt.$(OBJEXT)
rm -f cook/stmt/append.$(OBJEXT) cook/stmt/assign.$(OBJEXT)
rm -f cook/stmt/command.$(OBJEXT) cook/stmt/compound.$(OBJEXT)
rm -f cook/stmt/fail.$(OBJEXT) cook/stmt/gosub.$(OBJEXT)
rm -f cook/stmt/if.$(OBJEXT) cook/stmt/list.$(OBJEXT)
rm -f cook/stmt/loop.$(OBJEXT) cook/stmt/loopvar.$(OBJEXT)
rm -f cook/stmt/nop.$(OBJEXT) cook/stmt/recipe.$(OBJEXT)
rm -f cook/stmt/return.$(OBJEXT) cook/stmt/set.$(OBJEXT)
rm -f cook/stmt/touch.$(OBJEXT) cook/stmt/unsetenv.$(OBJEXT)
rm -f cook/strip_dot.$(OBJEXT) cook/tempfilename.$(OBJEXT)
rm -f cook_bom/main.$(OBJEXT) cook_bom/sniff.$(OBJEXT)
rm -f cookfp/main.$(OBJEXT) cooktime/date.gen.c
rm -f cooktime/date.gen.h cooktime/date.gen.$(OBJEXT)
rm -f cooktime/main.$(OBJEXT) file_check/file_check.$(OBJEXT)
rm -f file_check/main.$(OBJEXT) find_libs/main.$(OBJEXT)
rm -f find_libs/os.$(OBJEXT) fstrcmp/main.$(OBJEXT) lib/.datadir
rm -f lib/en/LC_MESSAGES/.libdir lib/en/.libdir lib/.libdir
rm -f lib/en/man1/.mandir lib/en/.mandir lib/en/man1/.datadir
rm -f lib/en/.datadir lib/en/refman.ps lib/en/refman.dvi
rm -f lib/en/refman.txt lib/en/tutorial.ps lib/en/tutorial.dvi
rm -f lib/en/tutorial.txt lib/en/user-guide.ps
rm -f lib/en/user-guide.dvi lib/en/user-guide.txt
rm -f make2cook/blob.$(OBJEXT) make2cook/emit.$(OBJEXT)
rm -f make2cook/gram.gen.c make2cook/gram.gen.h
rm -f make2cook/gram.gen.$(OBJEXT) make2cook/lex.$(OBJEXT)
rm -f make2cook/main.$(OBJEXT) make2cook/stmt.$(OBJEXT)
rm -f make2cook/stmt/assign.$(OBJEXT)
rm -f make2cook/stmt/blank.$(OBJEXT)
rm -f make2cook/stmt/command.$(OBJEXT)
rm -f make2cook/stmt/comment.$(OBJEXT)
rm -f make2cook/stmt/compound.$(OBJEXT)
rm -f make2cook/stmt/define.$(OBJEXT)
rm -f make2cook/stmt/export.$(OBJEXT)
rm -f make2cook/stmt/if.$(OBJEXT)
rm -f make2cook/stmt/include.$(OBJEXT)
rm -f make2cook/stmt/rule.$(OBJEXT)
rm -f make2cook/stmt/unexport.$(OBJEXT)
rm -f make2cook/stmt/vpath.$(OBJEXT) make2cook/vargram.gen.c
rm -f make2cook/vargram.gen.h make2cook/vargram.gen.$(OBJEXT)
rm -f make2cook/variable.$(OBJEXT) roffpp/main.$(OBJEXT)
rm -f roffpp/preprocess.$(OBJEXT)
clean: clean-obj
rm -f bin/cook_rsh$(EXEEXT) bin/c_incl$(EXEEXT)
rm -f bin/cook$(EXEEXT) bin/cook_bom$(EXEEXT)
rm -f bin/cookfp$(EXEEXT) bin/cooktime$(EXEEXT)
rm -f bin/file_check$(EXEEXT) bin/find_libs$(EXEEXT)
rm -f bin/fstrcmp$(EXEEXT) bin/make2cook$(EXEEXT)
rm -f bin/roffpp$(EXEEXT)
rm -f $(po_files_yes)
rm -f $(groff_all_yes)
distclean: clean
rm -f Makefile common/config.h etc/libdir.so etc/libdir-h
rm -f config.status config.cache config.log
install-bin: \
$(bindir)/$(PROGRAM_PREFIX)cook_rsh$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)c_incl$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)cook$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)cook_bom$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)cookfp$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)cooktime$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)find_libs$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)make2cook$(PROGRAM_SUFFIX)$(EXEEXT) \
$(bindir)/$(PROGRAM_PREFIX)roffpp$(PROGRAM_SUFFIX)$(EXEEXT)
install-man: $(datadir)/en/man1/c_incl.1 $(mandir)/man1/c_incl.1 \
$(datadir)/en/man1/cook.1 $(mandir)/man1/cook.1 \
$(datadir)/en/man1/cook_bom.1 $(mandir)/man1/cook_bom.1 \
$(datadir)/en/man1/cook_lic.1 $(mandir)/man1/cook_lic.1 \
$(datadir)/en/man1/cook_rsh.1 $(mandir)/man1/cook_rsh.1 \
$(datadir)/en/man1/cookfp.1 $(mandir)/man1/cookfp.1 \
$(datadir)/en/man1/cooktime.1 $(mandir)/man1/cooktime.1 \
$(datadir)/en/man1/find_libs.1 \
$(mandir)/man1/find_libs.1 \
$(datadir)/en/man1/make2cook.1 \
$(mandir)/man1/make2cook.1 $(datadir)/en/man1/roffpp.1 \
$(mandir)/man1/roffpp.1
po_install_files_yes = $(libdir)/en/LC_MESSAGES/c_incl.mo \
$(libdir)/en/LC_MESSAGES/cook.mo \
$(libdir)/en/LC_MESSAGES/cook_bom.mo \
$(libdir)/en/LC_MESSAGES/cookfp.mo \
$(libdir)/en/LC_MESSAGES/cooktime.mo \
$(libdir)/en/LC_MESSAGES/file_check.mo \
$(libdir)/en/LC_MESSAGES/find_libs.mo \
$(libdir)/en/LC_MESSAGES/make2cook.mo \
$(libdir)/en/LC_MESSAGES/roffpp.mo
po_install_files_no =
install-po: $(po_install_files_@po_files@)
groff_install_yes = $(datadir)/en/refman.ps $(datadir)/en/refman.dvi \
$(datadir)/en/refman.txt $(datadir)/en/tutorial.ps \
$(datadir)/en/tutorial.dvi $(datadir)/en/tutorial.txt \
$(datadir)/en/user-guide.ps $(datadir)/en/user-guide.dvi \
$(datadir)/en/user-guide.txt
groff_install_no =
install-groff: $(groff_install_@have_groff@)
install-lib: $(datadir)/as $(datadir)/bison $(datadir)/c $(datadir)/c++ \
$(datadir)/f77 $(datadir)/functions $(datadir)/g77 \
$(datadir)/gcc $(datadir)/home $(datadir)/host_lists.pl \
$(datadir)/java $(datadir)/lex $(datadir)/library \
$(datadir)/print $(datadir)/program $(datadir)/rcs \
$(datadir)/recursive $(datadir)/sccs $(datadir)/text \
$(datadir)/usr $(datadir)/usr.local $(datadir)/yacc \
$(datadir)/yacc_many install-po install-groff
install: install-bin install-man install-lib
cook-2.33/aegis.conf 644 0 0 13040 11313350040 13552 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1993-1995, 1997-1999, 2001, 2005-2009 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
configuration_directory = "aegis.conf.d";
/*
* how to build the project
* (actually, how to do an integration build)
* mandatory
*/
build_command =
"cook -b ${source etc/Howto.cook} project=$project \
change=$change version=$version arch=$arch -nl -st search_path=$search_path";
/*
* When do -Integrate_Begin, link the baseline to the integration directory,
* rather than copying it.. This should be much faster.
*
* There is a gotcha: all the recipes in Howto.cook must unlink their targets
* before re-creating them, otherwise the baseline will be trashed.
*/
link_integration_directory = true;
/* don't link/copy the bin dir */
integrate_begin_exceptions = [ "linux-x86_64/bin/*" ];
/*
* At integrate pass time, the modification times of the files are
* updated. This commands gives cook a channce to get the fingerprints
* back in sync, which in turn speeds up development builds.
*/
build_time_adjust_notify_command =
"set +e; \
find . -name .cook.fp -print | xargs rm; \
cook -nl -st --fp-update";
/*
* create a new history
* always executed as the project owner
*/
history_create_command =
"fhist ${b $history} -cr -cu -i $input -p ${d $history} -r";
/*
* get a file from history
* may be executed by developers
*/
history_get_command =
"fhist ${b $history} -e '$edit' -o $output -p ${d $history}";
/*
* add a new change to the history
* always executed as the project owner
*/
history_put_command =
"fhist ${b $history} -cu -cr -i $input -p ${d $history} -r";
/*
* query the topmost edit of a history file
* Result to be printed on stdout.
* may be executed by developers
*/
history_query_command =
"fhist ${b $history} -l 0 -p ${d $history} -q";
/*
* difference of 2 files
*/
diff_command =
"fcomp -w -s $original $input -o $output";
/*
* merge two competing edits
*
* fmerge -iic <-- ignore identical conflicts
*/
merge_command =
"fmerge -iic $original $mostRecent $input -o $output -c $input,C";
/*
* whenever files are added to or removed from the change,
* execute the following command.
*
* The project files are wiped, too, because a removed file will alter
* the project file list.
*/
change_file_command =
"rm -f etc/cook/change_files.$version etc/cook/project_files.$version";
project_file_command = "rm -f etc/cook/project_files.$version";
/*
*o new file templates
*/
file_template =
[
{
pattern = [ "*.[cyl]" ];
body = "${read_file ${source etc/template/c abs}}";
},
{
pattern = [ "*.h" ];
body = "${read_file ${source etc/template/h abs}}";
},
{
pattern = [ "test/*/*.sh" ];
body = "${read_file ${source etc/template/test abs}}";
},
{
pattern = [ "*.sh" ];
body = "${read_file ${source etc/template/sh abs}}";
},
{
pattern = [ "*.man", "*.[12345678]" ];
body = "${read_file ${source etc/template/man abs}}";
},
{
pattern = [ "*.so", "*.ms", "*.me" ];
body = "${read_file ${source etc/template/ms abs}}";
},
{
pattern = [ "*" ];
body = "${read_file ${source etc/template/generic abs}}";
}
];
/*
* Create a symbolic link to the baseline.
* Note that Howto.cook now assumes its existence.
*/
develop_begin_command = "ln -s $baseline bl";
/*
* Remove these files before we start integrating, to ensure that they
* will be rebuild containing the correct version information.
*/
integrate_begin_command =
"rm -f \
.cook.fp \
etc/cook/change_files* \
etc/cook/project_files* \
etc/version.so \
common/patchlevel.h \
bl blbl blblbl blblblbl \
";
symlink_exceptions =
[
".cook.fp",
"etc/cook/change_files",
"etc/cook/project_files",
"etc/version.so",
"common/patchlevel.h",
"install-sh",
"bl", "blbl", "blblbl", "blblblbl",
];
/*
* how to run tests
* they need to know which arctitecture
*/
test_command = "$shell $filename $arch";
/*
* limitations on project filenames
*/
maximum_filename_length = 14;
/*
* The develop_end_policy_command may be used to impose additional
* policy before the aede command will complete successfully.
*/
develop_end_policy_command = "aede-policy";
project_specific =
[
{
name = "aede-policy";
value =
"copyright "
"crlf "
"description "
"fsf-address "
"gpl-version "
"line-length "
"merge-fhist "
"merge-rcs "
"no-tabs "
"printable "
"text "
"white-space"
;
}
];
cook-2.33/aegis.conf.d/architecture 644 0 0 2067 11313350040 16445 0 ustar Peter Miller 0 0 #
# cook - file construction tool
# Copyright (C) 2009 Peter Miller
#
# 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 3 of the License, 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.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#
/*
* list of architectures on which each change must build and test
*/
architecture =
[
{
name = "linux-x86_64";
pattern = "Linux-*-*-x86_64";
},
{
name = "linux-i486";
pattern = "Linux-*-*-i[4-9]86";
mode = optional;
},
{
name = "unspecified";
pattern = "*";
mode = optional;
},
];
cook-2.33/aegis.conf.d/rss 644 0 0 2504 11313350040 14566 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 2007 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
project_specific =
[
{
name = "rss:feedfilename-completed.xml";
value = "completed";
},
{
name = "rss:feeddescription-completed.xml";
value =
"This feed provides you with a way to subscribe to new "
"Cook change sets, if you are interested in tracking Cook "
"development."
;
},
{
name = "rss:feedtitle-completed.xml";
value = "Developments";
},
{
name = "rss:feedlanguage-completed.xml";
value = "en-AU";
},
];
cook-2.33/c_incl/cache.c 644 0 0 31072 11313350040 14256 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1992-1994, 1997-1999, 2001, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
static int need_to_write;
static symtab_ty *symtab;
static void
reap(void *p)
{
cache_ty *cp;
cp = p;
string_list_destructor(&cp->ingredients);
mem_free(cp);
}
/*
* NAME
* cache_initialize - start up cache
*
* SYNOPSIS
* void cache_initialize(void);
*
* DESCRIPTION
* The cache_initialize function is used to create the hash table.
*
* RETURNS
* void
*
* CAVEAT
* Assumes the str_initialize function has been called already.
*/
void
cache_initialize(void)
{
trace(("init\n"));
symtab = symtab_alloc(100);
symtab->reap = reap;
}
/*
* NAME
* cache_search - search for a variable
*
* SYNOPSIS
* int cache_search(string_ty *filename);
*
* DESCRIPTION
* The cache_search function is used to search for
* a filename in the cache.
*
* RETURNS
* If the variable has been defined, the function returns a non-zero value
* and the value is returned through the 'value' pointer.
* If the variable has not been defined, it returns zero,
* and 'value' is unaltered.
*
* CAVEAT
* The value returned from this function, when returned, is allocated
* in dynamic memory (it is a copy of the value remembered by this module).
* It is the responsibility of the caller to free it when finished with,
* by a string_list_destructor() call.
*/
cache_ty *
cache_search(string_ty *filename)
{
cache_ty *cp;
assert(symtab);
cp = symtab_query(symtab, filename);
if (!cp)
{
cp = mem_alloc(sizeof(cache_ty));
memset(&cp->st, 0, sizeof(cp->st));
string_list_constructor(&cp->ingredients);
symtab_assign(symtab, filename, cp);
}
return cp;
}
/*
* NAME
* build_filename - for cache file
*
* SYNOPSIS
* void build_filename(char *buffer);
*
* DESCRIPTION
* The build_filename function is used to build
* the name of the cache file.
*
* ARGUMENTS
* buffer - where to put the file name
*
* CAVEATS
* The cache file is in the current directory.
*/
static char *
build_filename(void)
{
static string_ty *s;
if (!s)
s = str_format(".%.11src", progname_get());
return s->str_text;
}
/*
* NAME
* fread_sane - a saner version of fread
*
* SYNOPSIS
* int fread_sane(FILE *fp, void *buf, size_t buflen);
*
* DESCRIPTION
* The fread_sane function is used to read from a standard stream.
*
* ARGUMENTS
* fp - the stream to read from
* buf - where to place the bytes read
* buflen - number of bytes to read
*
* RETURNS
* 0 on no error, -1 on any error
*
* CAVEATS
* This version considers it to be an error if end-of-file is reached.
*/
static int
fread_sane(FILE *fp, void *buf, size_t buflen)
{
if (fread(buf, 1, buflen, fp) != buflen)
return -1;
return 0;
}
/*
* NAME
* cache_read_string - read a string from a file
*
* SYNOPSIS
* string_ty *cache_read_string(FILE *fp));
*
* DESCRIPTION
* The cache_read_string function is used to read a string
* from a file.
*
* ARGUMENTS
* fp - file to read string from
*
* RETURNS
* pointer to string if successful, 0 if not.
*
* CAVEATS
* Must be symmetric with cache_write string below.
*/
static string_ty *
cache_read_string(FILE *fp)
{
static size_t buflen;
static char *buf;
size_t len;
if (fread_sane(fp, &len, sizeof(len)))
return 0;
if (len > buflen)
{
buflen = (len + 0xFF) & ~0xFF;
buf = mem_change_size(buf, buflen);
}
if (fread_sane(fp, buf, len))
return 0;
return str_n_from_c(buf, len);
}
/*
* NAME
* cache_read_item - read a cache item from a file
*
* SYNOPSIS
* int cache_read_item(FILE *fp);
*
* DESCRIPTION
* The cache_read_item function is used to read an item from
* the cache file and installit into the cache.
*
* ARGUMENTS
* fp - the file to read the item from
*
* RETURNS
* 0 in success, -1 on any error
*
* CAVEATS
* Must be symmetric with cache_write_item below.
*/
static int
cache_read_item(FILE *fp)
{
string_ty *s;
cache_ty *cp;
size_t nitems;
size_t j;
s = cache_read_string(fp);
if (!s)
return -1;
cp = cache_search(s);
assert(cp);
if (fread_sane(fp, &cp->st, sizeof(cp->st)))
return -1;
if (fread_sane(fp, &nitems, sizeof(nitems)))
return -1;
for (j = 0; j < nitems; ++j)
{
s = cache_read_string(fp);
if (!s)
return -1;
string_list_append_unique(&cp->ingredients, s);
str_free(s);
}
return 0;
}
static void
flock_shared(int fd, char *fn)
{
struct flock p;
memset(&p, 0, sizeof(p));
p.l_type = F_RDLCK;
p.l_whence = SEEK_SET;
p.l_start = 0;
p.l_len = 1;
if (fcntl(fd, F_SETLKW, &p))
{
sub_context_ty *scp;
scp = sub_context_new();
sub_errno_set(scp);
sub_var_set(scp, "File_Name", "%s", fn);
fatal_intl(scp, i18n("lock \"$filename\" shared: $errno"));
/* NOTREACHED */
}
}
static void
flock_exclusive(int fd, char *fn)
{
struct flock p;
memset(&p, 0, sizeof(p));
p.l_type = F_WRLCK;
p.l_whence = SEEK_SET;
p.l_start = 0;
p.l_len = 1;
if (fcntl(fd, F_SETLKW, &p))
{
sub_context_ty *scp;
scp = sub_context_new();
sub_errno_set(scp);
sub_var_set(scp, "File_Name", "%s", fn);
fatal_intl(scp, i18n("lock \"$filename\" exclusive: $errno"));
/* NOTREACHED */
}
}
static void
flock_release(int fd, char *fn)
{
struct flock p;
memset(&p, 0, sizeof(p));
p.l_type = F_UNLCK;
p.l_whence = SEEK_SET;
p.l_start = 0;
p.l_len = 1;
if (fcntl(fd, F_SETLKW, &p))
{
sub_context_ty *scp;
scp = sub_context_new();
sub_errno_set(scp);
sub_var_set(scp, "File_Name", "%s", fn);
fatal_intl(scp, i18n("unlock \"$filename\": $errno"));
/* NOTREACHED */
}
}
/*
* NAME
* cache_read - read the cache file into the cache
*
* SYNOPSIS
* void cache_read(void);
*
* DESCRIPTION
* The cache_read function is used to read the cache file into the cache.
*
* CAVEATS
* If the cache file is not there, it is as iff the cache file
* contained an image of an empty cache. I.e. nothing happens,
* but it is not an error.
*/
void
cache_read(void)
{
str_hash_ty nitems;
str_hash_ty j;
FILE *fp;
char *filename;
/*
* open the cache file.
* if it's not there, quietly slink away
*/
filename = build_filename();
if (!os_exists(filename))
return;
fp = fopen_and_check(filename, "rb");
/*
* Take a shared lock: many processes may read simultaneously.
*/
flock_shared(fileno(fp), filename);
/*
* get the number of entries in the file
*/
if (fread_sane(fp, &nitems, sizeof(nitems)))
fatal_intl_read(filename);
/*
* read each entry in the file
*/
for (j = 0; j < nitems; ++j)
{
if (cache_read_item(fp))
fatal_intl_read(filename);
}
/*
* Release the file lock.
*/
flock_release(fileno(fp), filename);
/*
* all done
*/
fclose_and_check(fp, filename);
}
/*
* NAME
* fwrite_sane - a saner version of fwrite
*
* SYNOPSIS
* int fwrite_sane(FILE *fp, void *buf, size_t buflen);
*
* DESCRIPTION
* The fwrite_sane function is used to write data to a file.
*
* ARGUMENTS
* fp - file to write to
* buf - pointer to data to write
* buflen - number of bytes in data
*
* RETURNS
* 0 on success, -1 on any error
*/
static int
fwrite_sane(FILE *fp, void *buf, size_t buflen)
{
if (fwrite(buf, 1, buflen, fp) != buflen)
return -1;
return 0;
}
/*
* NAME
* cache_write_string - write a string to a file
*
* SYNOPSIS
* int cache_write_string(FILE *fp, string_ty *s);
*
* DESCRIPTION
* The cache_write_string function is used to write a string to a file.
*
* ARGUMENTS
* fp - file to write
* s - string to be written
*
* RETURNS
* 0 on success, -1 on any error
*
* CAVEATS
* Must be symmetric with cache_read_string above.
*/
static int
cache_write_string(FILE *fp, string_ty *s)
{
if (fwrite_sane(fp, &s->str_length, sizeof(s->str_length)))
return -1;
if (fwrite_sane(fp, s->str_text, s->str_length))
return -1;
return 0;
}
/*
* NAME
* cache_write_item - write cache item to cache file
*
* SYNOPSIS
* int cache_write_item(FILE *fp, cache_ty *cp);
*
* DESCRIPTION
* The cache_write_item function is used to write a cache
* item to a cache file.
*
* ARGUMENTS
* fp - file to write
* cp - pointer to cache item to write
*
* RETURNS
* 0 on success, -1 on any error
*
* CAVEATS
* Must be symmetric with cache_read_item above.
*/
static int
cache_write_item(FILE *fp, string_ty *key, cache_ty *cp)
{
size_t j;
if (cache_write_string(fp, key))
return -1;
if (fwrite_sane(fp, &cp->st, sizeof(cp->st)))
return -1;
if
(
fwrite_sane
(
fp,
&cp->ingredients.nstrings,
sizeof(cp->ingredients.nstrings)
)
)
return -1;
for (j = 0; j < cp->ingredients.nstrings; ++j)
if (cache_write_string(fp, cp->ingredients.string[j]))
return -1;
return 0;
}
static void
walk(symtab_ty *stp, string_ty *key, void *data, void *arg)
{
cache_ty *cp;
FILE *fp;
(void)stp;
cp = data;
fp = arg;
cache_write_item(fp, key, cp);
}
/*
* NAME
* cache_write - write cache to file
*
* SYNOPSIS
* void cache_write(void);
*
* DESCRIPTION
* The cache_write function is used to write the memory image
* of the cache into a disk file.
*
* CAVEATS
* The cache file is in the current directory.
*/
void
cache_write(void)
{
FILE *fp;
char *filename;
/*
* don't change the file if we don't have to
*/
if (!need_to_write)
return;
need_to_write = 0;
/*
* open the cache file
*/
filename = build_filename();
fp = fopen_and_check(filename, "wb");
/*
* Take an exclusive lock: only one process may take the lock at
* a time. (Potentially, we can miss updates if there are
* several parallel updates. We will simply do them again, next
* time.)
*/
flock_exclusive(fileno(fp), filename);
/*
* write the number of entries to the file
*/
if (fwrite_sane(fp, &symtab->hash_load, sizeof(symtab->hash_load)))
fatal_intl_write(filename);
/*
* write each cache entry to the file
*/
symtab_walk(symtab, walk, fp);
fflush_and_check(fp, filename);
/*
* Release the file lock.
*/
flock_release(fileno(fp), filename);
/*
* close the cache file
*/
fclose_and_check(fp, filename);
}
/*
* NAME
* cache_update_notify - cache has changed
*
* SYNOPSIS
* void cache_update_nitify(void);
*
* DESCRIPTION
* The cache_update_notify function is called whenever the contents
* of the cache is changed. This notifies the cache_write function
* that it needs to rewrite the cache file.
*/
void
cache_update_notify(void)
{
need_to_write = 1;
}
cook-2.33/c_incl/cache.h 644 0 0 2334 11313350040 14242 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1991-1994, 1997, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#ifndef CACHE_H
#define CACHE_H
#include
#include
#include
#include
typedef struct cache_ty cache_ty;
struct cache_ty
{
struct stat st;
string_list_ty ingredients;
};
void cache_initialize(void);
cache_ty *cache_search(string_ty *filename);
void cache_read(void);
void cache_write(void);
void cache_update_notify(void);
#endif /* CACHE_H */
cook-2.33/c_incl/flatten.c 644 0 0 7065 11313350040 14635 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 2000, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
static void
string_list_remove_nth(string_list_ty * slp, size_t n)
{
if (n >= slp->nstrings)
return;
str_free(slp->string[n]);
slp->nstrings--;
while (n < slp->nstrings)
{
slp->string[n] = slp->string[n + 1];
++n;
}
}
string_ty *
flatten(string_ty *filename)
{
string_list_ty sl;
static string_ty *root;
static string_ty *dot;
static string_ty *dotdot;
size_t pos;
size_t start;
size_t j;
string_ty *s;
/*
* Create some things we are going to need.
*/
if (!root)
{
root = str_from_c("");
dot = str_from_c(".");
dotdot = str_from_c("..");
}
/*
* leading slash is special
*/
pos = 0;
string_list_constructor(&sl);
if (filename->str_text[0] == '/')
{
++pos;
string_list_append(&sl, root);
}
/*
* Break it into slash-separaed words.
*/
for (;;)
{
while (pos < filename->str_length && filename->str_text[pos] == '/')
++pos;
if (pos >= filename->str_length)
break;
start = pos;
for (;;)
{
++pos;
if (pos >= filename->str_length || filename->str_text[pos] == '/')
break;
}
/*
* remember each word (except ".")
*/
s = str_n_from_c(filename->str_text + start, pos - start);
if (!str_equal(s, dot))
string_list_append(&sl, s);
str_free(s);
}
/*
* Try as hard as possible to chuck out redundant stuff.
*/
for (;;)
{
int changed = 0;
/*
* "/.." -> "/"
*/
if
(
sl.nstrings >= 2
&&
str_equal(sl.string[0], root)
&&
str_equal(sl.string[1], dotdot)
)
{
string_list_remove_nth(&sl, 1);
++changed;
}
/*
* "name/.." -> ""
*/
for (j = 0; j + 1 < sl.nstrings; ++j)
{
if (str_equal(sl.string[j], root))
continue;
if (str_equal(sl.string[j], dotdot))
continue;
if (!str_equal(sl.string[j + 1], dotdot))
continue;
string_list_remove_nth(&sl, j);
string_list_remove_nth(&sl, j);
++changed;
--j;
}
/*
* loop if anything changed,
* bail if we can't find more to do
*/
if (!changed)
break;
}
/*
* reassemble the "cleaned" path
*/
s = wl2str_respect_empty(&sl, 0, sl.nstrings, "/", 1);
string_list_destructor(&sl);
return s;
}
cook-2.33/c_incl/flatten.h 644 0 0 1657 11313350040 14643 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 2000, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#ifndef C_INCL_FLATTEN_H
#define C_INCL_FLATTEN_H
#include
string_ty *flatten(string_ty *);
#endif /* C_INCL_FLATTEN_H */
cook-2.33/c_incl/lang.c 644 0 0 5511 11313350040 14113 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 1998, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
#include
#include
#include
#include
#include
#include
typedef struct table_ty table_ty;
struct table_ty
{
char *name;
sniff_ty *sniff;
};
static table_ty table[] =
{
/* name must be lower case */
{ "c", &lang_c },
{ "c++", &lang_c },
{ "ditroff", &lang_roff },
{ "groff", &lang_roff },
{ "m4", &lang_m4 },
{ "nroff", &lang_roff },
{ "optimistic", &lang_optimistic },
{ "roff", &lang_roff },
{ "troff", &lang_roff },
};
static symtab_ty *stp;
sniff_ty *
lang_from_name(char *name)
{
table_ty *tp;
string_ty *s;
string_ty *s2;
sniff_ty *result;
sub_context_ty *scp;
/*
* OK, so building a symbol table is over-kill, but it allows
* some simple manipulations.
*/
if (!stp)
{
stp = symtab_alloc(SIZEOF(table));
for (tp = table; tp < ENDOF(table); ++tp)
{
s = str_from_c(tp->name);
symtab_assign(stp, s, tp->sniff);
str_free(s);
}
}
/*
* look for the name
*/
s = str_from_c(name);
s2 = str_downcase(s);
str_free(s);
result = symtab_query(stp, s2);
if (result)
{
str_free(s2);
return result;
}
/*
* Complain if we don't understand.
*/
if (symtab_query_fuzzy(stp, s2, &s))
{
scp = sub_context_new();
sub_var_set_charstar(scp, "Name", name);
sub_var_set_string(scp, "Guess", s);
fatal_intl
(
scp,
i18n("input language $name unknown, closest is $guess")
);
/* NOTREACHED */
sub_context_delete(scp);
return 0;
}
scp = sub_context_new();
sub_var_set_charstar(scp, "Name", name);
fatal_intl(scp, i18n("input language $name unknown"));
/* NOTREACHED */
sub_context_delete(scp);
return 0;
}
cook-2.33/c_incl/lang.h 644 0 0 1657 11313350040 14127 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#ifndef C_INCL_LANG_H
#define C_INCL_LANG_H
#include
struct sniff_ty *lang_from_name(char *);
#endif /* C_INCL_LANG_H */
cook-2.33/c_incl/lang_c.c 644 0 0 11675 11313350040 14445 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1992-1994, 1997, 1998, 2001, 2006-2009 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
#include
#include
#include
#include
#include
/*
* NAME
* directive
*
* SYNOPSIS
* void directive(char *line, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The directive function is used to scan a # control line for an
* include directive. If one is found, the filename
* is resolved, and the path appended to the appropriate list.
*
* ARGUMENTS
* line - the line of text from the program
* type1 - list of
* type2 - list of "filenames"
*
* CAVEATS
* Just ignore anything we don't understand.
*/
static void
directive(char *s, string_list_ty * type1, string_list_ty * type2)
{
int right;
char *filename;
string_ty *path;
/*
* see if it is a #include directive
*/
trace(("directive(s = \"%s\", type1 = %p, type2 = %p)\n{\n", s, type1,
type2));
assert(*s == '#');
s++;
while (isspace(*s))
++s;
if (memcmp(s, "include", 7))
goto done;
s += 7;
while (isspace(*s))
++s;
/*
* figure which type
*/
switch (*s++)
{
default:
goto done;
case '"':
right = '"';
break;
case '<':
right = '>';
break;
}
/*
* find the end of the filename
* (ignore anything on the end of the line)
*/
filename = s;
while (*s != right)
{
if (!*s)
goto done;
++s;
}
/*
* extract the path
*/
if (s == filename)
goto done;
path = str_n_from_c(filename, s - filename);
/*
* dispatch the path to the appropriate list
*/
if (right != '"' || absolute_filename_test(path->str_text))
{
trace(("type1 %s\n", path->str_text));
string_list_append_unique(type1, path);
}
else
{
trace(("type2 %s\n", path->str_text));
string_list_append_unique(type2, path);
}
str_free(path);
/*
* here for all exits
*/
done:
trace(("}\n"));
}
/*
* NAME
* lang_c_scan
*
* SYNOPSIS
* int lang_c_scan(input_ty *fp, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The lang_c_scan function is used to scan a file looking
* for nclude files. It does not walk the children.
* The names of any include files encountered are appended
* to the appropriate list.
*
* ARGUMENTS
* fp - file stream to scan
* type1 - list of
* type2 - list of "filenames"
*
* RETURNS
* int; 0 on success
* -1 on file errors
*/
static int
lang_c_scan(input_ty *fp, string_list_ty *type1, string_list_ty *type2)
{
size_t pos;
size_t max;
char *line;
int result;
int c;
char *cp;
trace(("lang_c_scan(fp = %p, type1 = %p, type2 = %p)\n{\n", fp, type1,
type2));
pos = 0;
max = 100;
line = mem_alloc(max);
result = 0;
for (;;)
{
if (pos >= max)
{
max += 80;
line = mem_change_size(line, max);
}
c = input_getc(fp);
switch (c)
{
case INPUT_EOF:
if (!pos)
break;
/* fall through... */
case '\n':
line[pos] = 0;
pos = 0;
/*
* see if it is a hash line
*/
for (cp = line; isspace(*cp); ++cp)
;
if (*cp == '#')
directive(cp, type1, type2);
continue;
default:
line[pos++] = c;
continue;
}
break;
}
mem_free(line);
trace(("return %d;\n", result));
trace(("}\n"));
return result;
}
static void
lang_c_prepare(void)
{
trace(("lang_c_prepare()\n{\n"));
sniff_include("/usr/include");
trace(("}\n"));
}
sniff_ty lang_c =
{
lang_c_scan,
lang_c_prepare,
};
cook-2.33/c_incl/lang_c.h 644 0 0 1645 11313350040 14426 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#ifndef C_INCL_LANG_C_H
#define C_INCL_LANG_C_H
#include
extern sniff_ty lang_c;
#endif /* C_INCL_LANG_C_H */
cook-2.33/c_incl/lang_m4.c 644 0 0 13337 11313350040 14540 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 1998, 2001, 2006-2009 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
#include
#include
#include
#include
#include
/*
* NAME
* directive
*
* SYNOPSIS
* void directive(char *line, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The directive function is used to scan a . line for an
* include directive. If one is found, the filename
* is resolved, and the path appended to the appropriate list.
*
* ARGUMENTS
* line - the line of text from the program
* type1 - list of
* type2 - list of "filenames"
*
* CAVEATS
* Just ignore anything we don't understand.
*/
static void
directive(char *s, string_list_ty *type1, string_list_ty *type2)
{
string_ty *path;
size_t s_len;
char **kwpp;
static char *keyword[] =
{
"include",
"m4_include", /* -P */
"sinclude",
"m4_sinclude", /* -P */
};
/*
* gnaw off any leading white space
*/
trace(("directive(s = \"%s\", type1 = %p, type2 = %p)\n{\n", s, type1,
type2));
(void)type2;
s_len = strlen(s);
while (isspace((unsigned char)*s))
{
++s;
--s_len;
}
/*
* see if it is a keyword we like
*/
for (kwpp = keyword;; ++kwpp)
{
char *kwp;
size_t nbytes;
if (kwpp >= ENDOF(keyword))
{
trace(("}\n"));
return;
}
kwp = *kwpp;
nbytes = strlen(kwp);
if (s_len >= nbytes && 0 == memcmp(s, kwp, nbytes))
{
s += nbytes;
s_len -= nbytes;
break;
}
}
/*
* The M4 definition says the paren is always immediately after
* the keyword.
*/
if (*s != '(')
{
trace(("}\n"));
return;
}
++s;
--s_len;
while (isspace((unsigned char)*s))
{
++s;
--s_len;
}
/*
* assume the default openning quote
*/
if (*s != '`')
{
trace(("}\n"));
return;
}
++s;
--s_len;
/*
* gnaw off any trailing white space
*/
while (s_len > 0 && isspace((unsigned char)s[s_len - 1]))
--s_len;
/*
* look for the closing paren
*/
if (s_len < 1 || s[s_len - 1] != ')')
{
trace(("}\n"));
return;
}
--s_len;
while (s_len > 0 && isspace((unsigned char)s[s_len - 1]))
--s_len;
/*
* look for the closing quote
*/
if (s_len < 1 || s[s_len - 1] != '\'')
{
trace(("}\n"));
return;
}
--s_len;
/*
* there should be something left
*/
if (s_len < 1)
{
trace(("}\n"));
return;
}
/*
* extract the path
*/
path = str_n_from_c(s, s_len);
/*
* dispatch the path to the appropriate list
*/
string_list_append_unique(type1, path);
str_free(path);
trace(("}\n"));
}
/*
* NAME
* lang_m4_scan
*
* SYNOPSIS
* int lang_m4_scan(input_ty *fp, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The lang_m4_scan function is used to scan a file looking
* for nclude files. It does not walk the children.
* The names of any include files encountered are appended
* to the appropriate list.
*
* ARGUMENTS
* fp - file stream to scan
* type1 - list of
* type2 - list of "filenames"
*
* RETURNS
* int; 0 on success
* -1 on file errors
*/
static int
lang_m4_scan(input_ty *fp, string_list_ty *type1, string_list_ty *type2)
{
size_t pos;
size_t max;
char *line;
int result;
int c;
trace(("lang_m4_scan(fp = %p, type1 = %p, type2 = %p)\n{\n", fp, type1,
type2));
pos = 0;
max = 100;
line = mem_alloc(max);
result = 0;
for (;;)
{
if (pos >= max)
{
max += 80;
line = mem_change_size(line, max);
}
c = input_getc(fp);
switch (c)
{
case INPUT_EOF:
if (!pos)
break;
/* fall through... */
case '\n':
line[pos] = 0;
pos = 0;
/*
* see if it is an include line
*/
directive(line, type1, type2);
continue;
default:
line[pos++] = c;
continue;
}
break;
}
mem_free(line);
trace(("return %d;\n", result));
trace(("}\n"));
return result;
}
static void
lang_m4_prepare(void)
{
trace(("lang_m4_prepare()\n{\n"));
if (sniff_include_count() == 0)
sniff_include(".");
trace(("}\n"));
}
sniff_ty lang_m4 =
{
lang_m4_scan,
lang_m4_prepare,
};
cook-2.33/c_incl/lang_m4.h 644 0 0 1651 11313350040 14521 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#ifndef C_INCL_LANG_M4_H
#define C_INCL_LANG_M4_H
#include
extern sniff_ty lang_m4;
#endif /* C_INCL_LANG_M4_H */
cook-2.33/c_incl/lang_optimis.c 644 0 0 13211 11313350040 15673 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 1998, 2001, 2006-2009 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
#include
#include
#include
#include
#include
/*
* NAME
* directive
*
* SYNOPSIS
* void directive(char *line, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The directive function is used to scan a . line for an
* include directive. If one is found, the filename
* is resolved, and the path appended to the appropriate list.
*
* ARGUMENTS
* line - the line of text from the program
* type1 - list of
* type2 - list of "filenames"
*
* CAVEATS
* Just ignore anything we don't understand.
*/
static void
directive(char *s, string_list_ty *type1, string_list_ty *type2)
{
char *filename;
string_ty *path;
/*
* Gnaw off any leading white space
* and some optional punctuation characters.
*/
trace(("directive(s = \"%s\", type1 = %p, type2 = %p)\n{\n", s, type1,
type2));
(void)type2;
while (*s && isspace((unsigned char)*s))
++s;
if (*s && ispunct((unsigned char)*s))
++s;
while (*s && isspace((unsigned char)*s))
++s;
/*
* See if it is a keyword we like.
* It must end in a space or punctuation character.
*/
if (*s != 'i' && *s != 'I')
goto done;
++s;
if (*s != 'n' && *s != 'N')
goto done;
++s;
if (*s != 'c' && *s != 'C')
goto done;
++s;
if (*s != 'l' && *s != 'L')
goto done;
++s;
if (*s != 'u' && *s != 'U')
goto done;
++s;
if (*s != 'd' && *s != 'D')
goto done;
++s;
if (*s != 'e' && *s != 'E')
goto done;
++s;
if (!isspace((unsigned char)*s) && !ispunct((unsigned char)*s))
goto done;
/*
* Skip any dross between the keyword and the filename. We
* assume the filename does not start with any of the junk we
* are skipping. (Optimistic, remember.)
*/
while (isspace((unsigned char)*s) || ispunct((unsigned char)*s))
++s;
filename = s;
/*
* Hunt for the next white space. This assumes the the filename
* does not contain white space. (Optimistic, again.)
*/
while (*s && !isspace(*s))
++s;
/*
* Strip any trailing dross from the filename. We assume the
* filename does not end with any of the junk we are skipping.
* (Optimistic, aren't we?)
*/
while (s > filename && ispunct((unsigned char)s[-1]))
--s;
if (s <= filename)
goto done;
/*
* extract the path
*/
path = str_n_from_c(filename, s - filename);
/*
* dispatch the path to the appropriate list
*/
string_list_append_unique(type1, path);
str_free(path);
/*
* here for all exits
*/
done:
trace(("}\n"));
}
/*
* NAME
* lang_optimistic_scan
*
* SYNOPSIS
* int lang_optimistic_scan(input_ty *fp, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The lang_optimistic_scan function is used to scan a file looking
* for nclude files. It does not walk the children.
* The names of any include files encountered are appended
* to the appropriate list.
*
* ARGUMENTS
* fp - file stream to scan
* type1 - list of
* type2 - list of "filenames"
*
* RETURNS
* int; 0 on success
* -1 on file errors
*/
static int
lang_optimistic_scan(input_ty *fp, string_list_ty *type1, string_list_ty *type2)
{
size_t pos;
size_t max;
char *line;
int result;
int c;
trace(("lang_optimistic_scan(fp = %p, type1 = %p, type2 = %p)\n{\n", fp,
type1, type2));
pos = 0;
max = 100;
line = mem_alloc(max);
result = 0;
for (;;)
{
if (pos >= max)
{
max += 80;
line = mem_change_size(line, max);
}
c = input_getc(fp);
switch (c)
{
case INPUT_EOF:
if (!pos)
break;
/* fall through... */
case '\n':
line[pos] = 0;
pos = 0;
/*
* see if it is an include line
*/
directive(line, type1, type2);
continue;
default:
line[pos++] = c;
continue;
}
break;
}
mem_free(line);
trace(("return %d;\n", result));
trace(("}\n"));
return result;
}
static void
lang_optimistic_prepare(void)
{
trace(("lang_optimistic_prepare()\n{\n"));
if (sniff_include_count() == 0)
sniff_include(".");
trace(("}\n"));
}
sniff_ty lang_optimistic =
{
lang_optimistic_scan,
lang_optimistic_prepare,
};
cook-2.33/c_incl/lang_optimis.h 644 0 0 1700 11313350040 15660 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#ifndef C_INCL_LANG_OPTIMIS_H
#define C_INCL_LANG_OPTIMIS_H
#include
extern sniff_ty lang_optimistic;
#endif /* C_INCL_LANG_OPTIMIS_H */
cook-2.33/c_incl/lang_roff.c 644 0 0 12362 11313350040 15151 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1992-1994, 1997, 1998, 2001, 2006-2009 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
#include
#include
#include
#include
#include
/*
* NAME
* directive
*
* SYNOPSIS
* void directive(char *line, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The directive function is used to scan a . line for an
* include directive. If one is found, the filename
* is resolved, and the path appended to the appropriate list.
*
* ARGUMENTS
* line - the line of text from the program
* type1 - list of
* type2 - list of "filenames"
*
* CAVEATS
* Just ignore anything we don't understand.
*/
static void
directive(const char *s, string_list_ty *type1, string_list_ty *type2)
{
string_list_ty args;
/*
* Dismantle the directive.
*/
trace(("directive(s = \"%s\", type1 = %p, type2 = %p)\n{\n", s, type1,
type2));
(void)type2;
string_list_constructor(&args);
assert(*s == '.');
s++;
for (;;)
{
unsigned char c;
const char *start;
for (;;)
{
c = *s;
if (!c)
break;
if (!isspace(c))
break;
++s;
}
if (!c)
break;
start = s;
++s;
for (;;)
{
c = *s;
if (!c)
break;
if (isspace(c))
break;
++s;
}
string_list_append(&args, str_n_from_c(start, s - start));
}
/*
* see if it is a .so directive
*/
if (args.nstrings >= 2 && 0 == strcmp("so", args.string[0]->str_text))
{
string_list_append_unique(type1, args.string[1]);
}
else if
(
args.nstrings >= 2
&&
0 == strcmp("PSPIC", args.string[0]->str_text)
)
{
size_t j;
j = 1;
if
(
j < args.nstrings
&&
(
0 == strcmp("-L", args.string[j]->str_text)
||
0 == strcmp("-R", args.string[j]->str_text)
)
)
++j;
else if
(
j < args.nstrings
&&
0 == strcmp("-I", args.string[j]->str_text)
)
j += 2;
if (j < args.nstrings)
string_list_append_unique(type1, args.string[j]);
}
string_list_destructor(&args);
trace(("}\n"));
}
/*
* NAME
* lang_roff_scan
*
* SYNOPSIS
* int lang_roff_scan(input_ty *fp, string_list_ty *type1,
* string_list_ty *type2);
*
* DESCRIPTION
* The lang_roff_scan function is used to scan a file looking
* for nclude files. It does not walk the children.
* The names of any include files encountered are appended
* to the appropriate list.
*
* ARGUMENTS
* fp - file stream to scan
* type1 - list of
* type2 - list of "filenames"
*
* RETURNS
* int; 0 on success
* -1 on file errors
*/
static int
lang_roff_scan(input_ty *fp, string_list_ty *type1, string_list_ty *type2)
{
size_t pos;
size_t max;
char *line;
int result;
int c;
trace(("lang_roff_scan(fp = %p, type1 = %p, type2 = %p)\n{\n", fp, type1,
type2));
pos = 0;
max = 100;
line = mem_alloc(max);
result = 0;
for (;;)
{
if (pos >= max)
{
max += 80;
line = mem_change_size(line, max);
}
c = input_getc(fp);
switch (c)
{
case INPUT_EOF:
if (!pos)
break;
/* fall through... */
case '\n':
line[pos] = 0;
pos = 0;
/*
* see if it is a control line
*/
if (line[0] == '.')
directive(line, type1, type2);
continue;
default:
line[pos++] = c;
continue;
}
break;
}
mem_free(line);
trace(("return %d;\n", result));
trace(("}\n"));
return result;
}
static void
lang_roff_prepare(void)
{
trace(("lang_roff_prepare()\n{\n"));
if (sniff_include_count() == 0)
sniff_include(".");
trace(("}\n"));
}
sniff_ty lang_roff =
{
lang_roff_scan,
lang_roff_prepare,
};
cook-2.33/c_incl/lang_roff.h 644 0 0 1661 11313350040 15136 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1997, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#ifndef C_INCL_LANG_ROFF_H
#define C_INCL_LANG_ROFF_H
#include
extern sniff_ty lang_roff;
#endif /* C_INCL_LANG_ROFF_H */
cook-2.33/c_incl/main.c 644 0 0 36243 11313350040 14144 0 ustar Peter Miller 0 0 /*
* cook - file construction tool
* Copyright (C) 1994, 1995, 1997-2002, 2006-2008 Peter Miller
*
* 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 3 of the License, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
static void
usage(void)
{
char *progname;
progname = progname_get();
fprintf(stderr, "usage: %s [