I seem to be having some strange problems when using the LinuxDoc document class. With the document I send attached to this message I only get a whole bunch of errors when trying to export any kind of output (errors like "end tag for "TT" omitted, but its declaration does not permit this"). The postscript output is also completely jumbled. From LyX the document seems to be quite fine and all the necessary elements should be in there in the right order. Any ideas how to fix the situation? I am using LyX 1.1.4fix2. Replies to my email address aswell as the mailing list, please (I'm not on it). - ---------- = = ---------//--+ | / Kristoffer Lawson | www.fishpool.fi|.com +-> | [EMAIL PROTECTED] | - - --+------ |-- Fishpool Creations Ltd - / | +-------- = - - - = --------- /~setok/
#LyX 1.1 created this file. For more info see http://www.lyx.org/ \lyxformat 2.15 \textclass linuxdoc \language english \inputencoding latin1 \fontscheme default \graphics default \paperfontsize default \spacing single \papersize a4paper \paperpackage a4 \use_geometry 0 \use_amsmath 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle default \layout Title \added_space_top vfill \added_space_bottom vfill \family typewriter smake \family default --- Building makefiles in TCL \layout Author \noun on Kristoffer Lawson \noun default , \begin_inset LatexCommand \url{mailto:[EMAIL PROTECTED]} \end_inset \layout Date 4th April 2000 \layout Section Description \layout Standard Traditional UNIX makefiles are quite limited in their possibilities. Dealing with large projects is difficult and you have only very basic ways of structuring elements in the makefile. \family typewriter smake \family default 's Smakefiles (so as not to cause conflicts with \family typewriter make \family default 's Makefiles) are based on TCL scripts. TCL is a free script language with a very simple syntax which is easy to use but infinitely extendible. \layout Standard Smakefiles themselves are 100% TCL. You can load TCL modules and packages (such as ones for using OO scripts), use namespaces, replace the action for checking dependencies and other TCL-specific things in your makefiles. \layout Standard For more information on TCL see \begin_inset LatexCommand \url{http://www.scriptics.com/} \end_inset . However, to build simple Smakefiles no deep knowledge of TCL is required. This document assumes some basic knowledge of TCL. \layout Section Usage \layout Code smake [-f Smakefile] [target] \layout Standard If the target is not specified it is 'all'. \layout Subsection Options \layout Description -f Specify Smakefile to use. Defaults to \family typewriter Smakefile \family default in the current working directory. \layout Section Format of the Smakefile \layout Standard Targets in Smakefiles are based on TCL procedures. A target is specified simply by creating a procedure with the code to be executed inside it. \layout Standard \family typewriter smake \family default extends TCL with several commands that can be used in Smakefiles. These commands can be replaced to suite the user's needs in the normal TCL way. The list of commands is: \layout Description compile Compiles a file. \layout Description depend Specifies a list of targets that the current target depends on. \layout Description link Links several object files together. \layout Subsection \family typewriter compile \family default command \layout Subsubsection Synopsis \layout Code compile file1 file2 ... \layout Subsubsection Description \layout Standard Compiles specified files. \layout Standard The version provided by \family typewriter smake \family default executes the C compiler \family typewriter cc \family default and generates object files from the compiled files. The global variable \family typewriter c_options \family default can be used to specify options used by the C compiler. \layout Standard If the user wishes to compile other kinds of files then they must replace this command with their own routine. \layout Subsection \family typewriter depend \family default command \layout Subsubsection Synopsis \layout Code depend <target-list> <TCL-script> \layout Subsubsection Description \layout Standard Specifies that the target in wish it was used depends on the targets specified in \family typewriter target-list \family default . If any of the targets in the list have been updated it will execute \family typewriter TCL-script \family default . \layout Subsection \family typewriter link \family default command \layout Subsubsection Synopsis \layout Code link <target> <object-list> <library-list> \layout Subsubsection Description \layout Standard Links the specified objects to become \family typewriter target \family default using any possible libraries specied in \family typewriter library-list \family default . \layout Standard The version provided by \family typewriter smake \family default calls \family typewriter cc \family default with the -o specified to \family typewriter target \family default , followed by the list of objects. The list of libraries is specified with \family typewriter -l \family default before each filename. The global variable \family typewriter l_options \family default can be used to give a list of options used by the linker. \layout Standard If the user wishes to compile other kinds of files then they must replace this command with their own routine. \layout Section Example \layout Standard Here is an example Smakefile that can be used with \family typewriter smake \family default . It assumes the C files \family typewriter hello.c \family default and \family typewriter hello.h \family default exist. \layout Verbatim proc hello.o {} { \newline \protected_separator \protected_separator depend {foo.h main.c} { \newline \protected_separator \protected_separator \protected_separator \protected_separator compile main.c \newline \protected_separator \protected_separator } \newline } \layout Verbatim proc .o {} { \newline \protected_separator \protected_separator depend {foo.c foo.h} { \newline \protected_separator \protected_separator \protected_separator \protected_separator compile foo.c \newline \protected_separator \protected_separator } \newline } \layout Verbatim proc testiprg {} { \newline \protected_separator \protected_separator depend {foo.o main.o} { \newline \protected_separator \protected_separator \protected_separator \protected_separator link testiprg {foo.o main.o} tcl8.0 \newline \protected_separator \protected_separator } \newline } \layout Verbatim proc all {} { \newline \protected_separator \protected_separator depend testiprg {} \newline } \the_end