summaryrefslogtreecommitdiff
path: root/imake/imake.man
diff options
context:
space:
mode:
Diffstat (limited to 'imake/imake.man')
-rw-r--r--imake/imake.man277
1 files changed, 0 insertions, 277 deletions
diff --git a/imake/imake.man b/imake/imake.man
deleted file mode 100644
index bee55f5..0000000
--- a/imake/imake.man
+++ /dev/null
@@ -1,277 +0,0 @@
-.\" $Xorg: imake.man,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $
-.\" Copyright (c) 1993, 1994, 1998 The Open Group
-.\"
-.\" Permission to use, copy, modify, distribute, and sell this software and its
-.\" documentation for any purpose is hereby granted without fee, provided that
-.\" the above copyright notice appear in all copies and that both that
-.\" copyright notice and this permission notice appear in supporting
-.\" documentation.
-.\"
-.\" The above copyright notice and this permission notice shall be included
-.\" in all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-.\" OTHER DEALINGS IN THE SOFTWARE.
-.\"
-.\" Except as contained in this notice, the name of The Open Group shall
-.\" not be used in advertising or otherwise to promote the sale, use or
-.\" other dealings in this Software without prior written authorization
-.\" from The Open Group.
-.\"
-.\" $XFree86: imake.man,v 1.8 2001/12/14 19:53:19 dawes Exp $
-.\"
-.TH IMAKE 1 __xorgversion__
-.SH NAME
-imake \- C preprocessor interface to the make utility
-.SH SYNOPSIS
-\fBimake\fP [ \fB\-D\fP\fIdefine\fP ] [ \fB\-I\fP\fIdir\fP ]
-[ \fB\-U\fP\fIdefine\fP ]
-[ \fB\-T\fP\fItemplate\fP ]
-[ \fB\-f\fP \fIfilename\fP ] [ \fB\-C\fP \fIfilename\fP ]
-[ \fB\-s\fP \fIfilename\fP ] [ \fB\-e\fP ]
-[ \fB\-v\fP ]
-.SH DESCRIPTION
-.I Imake
-is used to
-generate \fIMakefiles\fP from a template, a set of \fIcpp\fP macro functions,
-and a per-directory input file called an \fIImakefile\fP. This allows machine
-dependencies (such as compiler options, alternate command names, and special
-\fImake\fP rules) to be kept separate from the descriptions of the
-various items to be built.
-.SH OPTIONS
-The following command line options may be passed to \fIimake\fP:
-.TP 8
-.B \-D\fIdefine\fP
-This option is passed directly to \fIcpp\fP. It is typically used to set
-directory-specific variables. For example, the X Window System used this
-flag to set \fITOPDIR\fP to the name of the directory containing the top
-of the core distribution and \fICURDIR\fP to the name of the current
-directory, relative to the top.
-.TP 8
-.B \-I\fIdirectory\fP
-This option is passed directly to \fIcpp\fP. It is typically used to
-indicate the directory in which the \fIimake\fP template and configuration
-files may be found.
-.TP 8
-.B \-U\fIdefine\fP
-This option is passed directly to \fIcpp\fP. It is typically used to
-unset variables when debugging \fIimake\fP configuration files.
-.TP 8
-.B \-T\fItemplate\fP
-This option specifies the name of the master template file (which is usually
-located in the directory specified with \fI\-I\fP) used by \fIcpp\fP.
-The default is \fIImake.tmpl\fP.
-.TP 8
-.B \-f \fIfilename\fP
-This option specifies the name of the per-directory input file. The default
-is \fIImakefile\fP.
-.TP 8
-.B \-C \fIfilename\fP
-This option specifies the name of the .c file that is constructed in the
-current directory. The default is \fIImakefile.c\fP.
-.TP 8
-.B \-s \fIfilename\fP
-This option specifies the name of the \fImake\fP description file to be
-generated but \fImake\fP should not be invoked.
-If the \fIfilename\fP is a dash (\-), the
-output is written to \fIstdout\fP. The default is to generate, but
-not execute, a \fIMakefile\fP.
-.TP 8
-.B \-e
-This option indicates the \fIimake\fP should execute the generated
-\fIMakefile\fP. The default is to leave this to the user.
-.TP 8
-.B \-v
-This option indicates that \fIimake\fP should print the \fIcpp\fP command line
-that it is using to generate the \fIMakefile\fP.
-.SH "HOW IT WORKS"
-\fIImake\fP invokes \fIcpp\fP with any \fI\-I\fP or \fI\-D\fP flags passed
-on the command line and passes the name of a file containing the
-following 3 lines:
-.sp
-.nf
-\& #define IMAKE_TEMPLATE "Imake.tmpl"
-\& #define INCLUDE_IMAKEFILE <Imakefile>
-\& #include IMAKE_TEMPLATE
-.fi
-.sp
-where \fIImake.tmpl\fP and \fIImakefile\fP may be overridden by the
-\fI\-T\fP and \fI\-f\fP command options, respectively.
-.PP
-The IMAKE_TEMPLATE typically
-reads in a file containing machine-dependent parameters
-(specified as \fIcpp\fP symbols), a site-specific parameters file,
-a file defining variables,
-a file
-containing \fIcpp\fP macro functions for generating \fImake\fP rules, and
-finally the \fIImakefile\fP (specified by INCLUDE_IMAKEFILE) in the current
-directory. The \fIImakefile\fP uses the macro functions to indicate what
-targets should be built; \fIimake\fP takes care of generating the appropriate
-rules.
-.PP
-.I Imake
-configuration files contain two types of variables, imake variables
-and make variables. The imake variables are interpreted by cpp when
-.I imake
-is run. By convention they are mixed case. The make variables are
-written into the
-.I Makefile
-for later interpretation by
-.I make.
-By convention make variables are upper case.
-.PP
-The rules file (usually named \fIImake.rules\fP in the configuration
-directory) contains a variety of \fIcpp\fP macro functions that are
-configured according to the current platform. \fIImake\fP replaces
-any occurrences of the string ``@@'' with a newline to allow macros that
-generate more than one line of \fImake\fP rules.
-For example, the macro
-.ta 1i 1.6i 5i
-.nf
-
-\& #define program_target(program, objlist) @@\e
- program: objlist @@\e
- $(CC) \-o $@ objlist $(LDFLAGS)
-
-.fi
-when called with
-.I "program_target(foo, foo1.o foo2.o)"
-will expand to
-.nf
-
- foo: foo1.o foo2.o
- $(CC) \-o $@ foo1.o foo2.o $(LDFLAGS)
-
-.fi
-.PP
-\fIImake\fP also replaces any occurrences of the word ``XCOMM'' with
-the character ``#'' to permit placing comments in the Makefile without
-causing ``invalid directive'' errors from the preprocessor.
-.PP
-Some complex \fIimake\fP macros require generated \fImake\fP variables
-local to each invocation of the macro, often because their value
-depends on parameters passed to the macro.
-Such variables can be created by using an \fIimake\fP variable
-of the form \fBXVARdef\fP\fIn\fP, where \fIn\fP is a single digit.
-A unique \fImake\fP variable will be substituted. Later occurrences
-of the variable \fBXVARuse\fP\fIn\fP will
-be replaced by the variable created by the corresponding
-\fBXVARdef\fP\fIn\fP.
-.PP
-On systems whose \fIcpp\fP reduces multiple tabs and spaces to a single
-space, \fIimake\fP attempts to put back any necessary tabs (\fImake\fP is
-very picky about the difference between tabs and spaces). For this reason,
-colons (:) in command lines must be preceded by a backslash (\\).
-.SH "USE WITH THE X WINDOW SYSTEM"
-The X Window System used \fIimake\fP extensively up through the X11R6.9
-release, for both full builds within the source tree and external software.
-X has since moved to GNU autoconf and automake for its build system in
-X11R7.0 and later releases, but still maintains imake for building existing
-external software programs that have not yet converted.
-.PP
-As mentioned above, two special
-variables, \fITOPDIR\fP and \fICURDIR,\fP are set to make referencing files
-using relative path names easier. For example, the following command is
-generated automatically to build the \fIMakefile\fP in the directory
-\fIlib/X/\fP (relative to the top of the sources):
-.sp
-.nf
- % ../.././config/imake \-I../.././config \\
- \-DTOPDIR=../../. \-DCURDIR=./lib/X
-.fi
-.sp
-When building X programs outside the source tree, a special symbol
-\fIUseInstalled\fP is defined and \fITOPDIR\fP and
-\fICURDIR\fP are omitted. If the configuration files have been
-properly installed, the script \fIxmkmf\fP(1) may be used.
-.SH "INPUT FILES"
-Here is a summary of the files read by
-.I imake
-as used by X.
-The indentation shows what files include what other files.
-.nf
-.sp
-.ta 3i
- Imake.tmpl generic variables
- site.def site-specific, BeforeVendorCF defined
- *.cf machine-specific
- *Lib.rules shared library rules
- site.def site-specific, AfterVendorCF defined
- Imake.rules rules
- Project.tmpl X-specific variables
- *Lib.tmpl shared library variables
- Imakefile
- Library.tmpl library rules
- Server.tmpl server rules
- Threads.tmpl multi-threaded rules
-.fi
-.LP
-Note that \fIsite.def\fP gets included twice, once before the
-\fI*.cf\fP file and once after. Although most site customizations
-should be specified after the \fI*.cf\fP file, some, such as the
-choice of compiler, need to be specified before, because other
-variable settings may depend on them.
-.LP
-The first time \fIsite.def\fP is included, the variable BeforeVendorCF
-is defined, and the second time, the variable AfterVendorCF is
-defined. All code in \fIsite.def\fP should be inside an #ifdef for
-one of these symbols.
-.SH FILES
-.ta 3i
-Imakefile.c temporary input file for cpp
-.br
-/tmp/Imf.XXXXXX temporary Makefile for -s
-.br
-/tmp/IIf.XXXXXX temporary Imakefile if specified Imakefile uses # comments
-.br
-__cpp__ default C preprocessor
-.DT
-.SH "SEE ALSO"
-make(1), xmkmf(1)
-.br
-Paul DuBois,
-.I
-imake-Related Software and Documentation,
-http://www.snake.net/software/imake-stuff/
-.br
-Paul DuBois,
-.I
-Software Portability with imake, Second Edition,
-O'Reilly & Associates, 1996.
-.br
-S. I. Feldman,
-.I
-Make \(em A Program for Maintaining Computer Programs
-.SH "ENVIRONMENT VARIABLES"
-The following environment variables may be set, however their use is not
-recommended as they introduce dependencies that are not readily apparent
-when \fIimake\fP is run:
-.TP 5
-.B IMAKEINCLUDE
-If defined, this specifies a ``\-I'' include argument to pass to the
-C preprocessor. E.g., ``\-I/usr/X11/config''.
-.TP 5
-.B IMAKECPP
-If defined, this should be a valid path to a preprocessor program.
-E.g., ``/usr/local/cpp''.
-By default,
-.I imake
-will use cc -E or __cpp__, depending on the OS specific configuration.
-.TP 5
-.B IMAKEMAKE
-If defined, this should be a valid path to a make program,
-such as ``/usr/local/make''.
-By default,
-.I imake
-will use whatever
-.I make
-program is found using
-.I execvp(3).
-This variable is only used if the ``\-e'' option is specified.
-.SH "AUTHOR"
-Todd Brunhoff, Tektronix and MIT Project Athena; Jim Fulton, MIT X Consortium