cook-2.33/README 644 0 0 12243111313350040 125200ustar PeterMiller 0 0Read 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 5345511313350040 127510ustar PeterMiller 0 0Build(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 11624611313350040 126540ustar PeterMiller 0 0GPL(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 65271211313350040 137170ustar PeterMiller 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 1304011313350040 135520ustar PeterMiller 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 206711313350040 164450ustar PeterMiller 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 250411313350040 145660ustar PeterMiller 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 3107211313350040 142560ustar PeterMiller 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 233411313350040 142420ustar PeterMiller 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 706511313350040 146350ustar PeterMiller 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 165711313350040 146430ustar PeterMiller 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 551111313350040 141130ustar PeterMiller 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 165711313350040 141270ustar PeterMiller 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 1167511313350040 144450ustar PeterMiller 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 164511313350040 144260ustar PeterMiller 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 1333711313350040 145400ustar PeterMiller 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 165111313350040 145210ustar PeterMiller 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 1321111313350040 156730ustar PeterMiller 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 170011313350040 156600ustar PeterMiller 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 1236211313350040 151510ustar PeterMiller 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 166111313350040 151360ustar PeterMiller 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 3624311313350040 141440ustar PeterMiller 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 [