1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
<html>
<body>
<h1> pcb-rnd hacking - plugin Plug.tmpasm variables </h1>
<p>
Plug.tmpasm is used for coordinating the build of the plugin. It is
written in <a href="http://repo.hu/projects/scconfig/doc/tmpasm.txt">tmpasm</a>
and is processed by scconfig while generating the Makefile. For core (src/)
and core plugins (src_plugins/) there is a single central Makefile generated
in src/Makefile. The plugin's own Makefile is just a call to the central
Makefile for convenience.
<p>
Plug.tmpasm is a generic template, its output directly ends up in src/Makefile.
This provides the plugin developer some flexibility, but using this feature
needs deep understanding of the build system.
<p>
For the features that are most commonly needed, the system offers
prewritten, turn key solutions. It is strongly recommended to use these
features only. These features are accessible through setting /local/rnd/mod/*
tmpasm variables (typically with the put and append instructions). The
rest of this document lists and explains these variables.
<table border=1 cellspacing=0>
<tr><th> variable <th> description
<tr>
<td>/local/rnd/mod
<td>the name of the plugin
<tr>
<td>/local/rnd/mod/OBJS
<td> a whitespace separated list of local object files to compile,
e.g. foo.o
<tr>
<td>/local/rnd/mod/OBJS_C99
<td>same as OBJS, but for sources that can be compiled only with a C99
compiler; plugins <b>must not use this variable</b> unless the source
depends on 3rd party library which comes with a header that absolutely
can not compiled with C89
<tr>
<td>/local/rnd/mod/CFLAGS
<td>
<tr>
<td>/local/rnd/mod/LDFLAGS
<td>
<tr>
<td>/local/rnd/mod/CONF
<td>optional: the name of the <a href="plugin_conf.h"> conf struct
header </a> - if the plugin doesn't have runtime configuration
settings, remove this line
<tr>
<td>/local/rnd/mod/CONFFILE
<td>optional: conf file's internal version: the file name of the conf
file (without path) that should be encoded in conf_internal.c
<tr>
<td>/local/rnd/mod/CONFVAR
<td>optional: conf file's internal version: the variable name to use
in conf_internal.c
<tr>
<td>/local/rnd/mod/YACC
<td>optional: if you have files for yacc-processing, list them without
the .y suffix here (whitespace separated list)
<tr>
<td>/local/rnd/mod/LEX
<td>optional: if you have files for lex-processing, list them without
the .l suffix here (whitespace separated list)
<tr>
<td>/local/rnd/mod/SPHASH
<td>optional: if the plugin uses an sphash (compile time perfect hash),
the sphash source file name should be specified in this field
</body>
</html>
|