File: tmpasm_vars.html

package info (click to toggle)
pcb-rnd 3.1.7b-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,108 kB
  • sloc: ansic: 213,400; yacc: 6,241; sh: 4,698; awk: 3,016; makefile: 2,254; lex: 1,166; python: 519; xml: 261; lisp: 154; tcl: 67; perl: 34; javascript: 6; ruby: 5
file content (70 lines) | stat: -rw-r--r-- 2,668 bytes parent folder | download | duplicates (2)
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>