-sparcabi is used on SPARC platforms conforming to the SPARC Compliance Definition, i.e. SVR4/Solaris.
-intelabi is used on Intel platforms conforming to the System V Application Binary Interface, i.e. SVR4.
-earlyR6abi may be used in addition to -intelabi for situations where the vendor wishes to maintain binary compatibility between X11R6 public-patch 11 (and earlier) and X11R6 public-patch 12 (and later).
-functionabi generates a functional abi to the string table. This mechanism imposes a severe performance penalty and it's recommended that you not use it.
-arrayperabi results in a separate array for each string. This is the default behavior if makestrs was compiled with -DARRAYPERSTR (it almost never is).
-defaultabi forces the generation of the "normal" string table even if makestrs was compiled with -DARRAYPERSTR. Since makestrs is almost never compiled with -DARRAYPERSTR this is the default behavior if no abioptions are specified.
-i includedir forces the reading of templates from the includedir instead of the local directory. This is useful to have separate source and build directories.
#file
In words you may have one or more #file directives. Each #file may have
one or more #table directives.
The #prefix directive determines the string that makestr will prefix
to each definition.
The #feature directive determines the string that makestr will use
for the feature-test macro, e.g. X[TM]STRINGDEFINES.
The #externref directive determines the string that makestr will use
for the extern clause, typically this will be "extern" but Motif wants
it to be "externalref"
The #externdef directive determines the string that makestr will use
for the declaration, typically this will be the null string (note that
makestrs requires a trailing space in this case, i.e. "#externdef "),
and Motif will use "externaldef(_xmstrings).
The #ctmpl directive determines the name of the file used as a template
for the C source file that is generated
Each #file
The #htmpl directive determines the name of the file used as a template
for the C header file that is generated.
Each #table
The template files specified by the #ctmpl and #htmpl directives
are processed by copying line for line from the template file to
the appropriate output file. The line containing the string
<<
System V Application Binary Interface, Third Edition,
ISBN 0-13-100439-5
UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs,
NJ 07632
System V Application Binary Interface, Third Edition, Intel386
Architecture Processor Supplement
ISBN 0-13-104670-5
UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs,
NJ 07632
System V Application Binary Interface, Third Edition, SPARC
Architecture Processor Supplement
ISBN 0-13-104696-9
UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs,
NJ 07632
BUGS
makestrs is not very forgiving of syntax errors. Sometimes you need
a trailing space after # directives, other times they will mess you
up. No warning messages are emitted.
SEE ALSO
SPARC Compliance Definition 2.2., SPARC International Inc.,
535 Middlefield Road, Suite 210, Menlo Park, CA 94025