polygons: Tag circular contours so they can be special-cased when drawing.
[geda-pcb/gde.git] / lib / gen_m4.awk
blob2b16867a3b22203650a48f482939961ff4bff811
1 #!/usr/bin/awk -f
3 # $Id$
5 # COPYRIGHT
7 # PCB, interactive printed circuit board design
8 # Copyright (C) 2003 Dan McMahill
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2 of the License, or
13 # (at your option) any later version.
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 # Script to regenerate *.m4 from *.inc
26 # Usage:
28 # awk -f gen_m4.awk name=foo foo.inc > foo.m4
31 BEGIN {
32 printf("divert(-1)\n");
33 printf("#\n");
34 printf("# NOTE: Auto-generated. Do not change.\n");
35 printf("#");
36 do_process = 0;
39 /^\#[ \t]*EXTRACT_BEGIN/ {
40 do_process = 1;
43 /^\#[ \t]*EXTRACT_END/ {
44 do_process = 0;
47 do_process == 0 {
48 next;
51 /^\#\#/ {
52 descr = $0;
53 ind = index(descr, $2);
54 descr = substr(descr, ind);
55 printf("#\n");
56 next;
60 /^[ \t]*define/ {
61 pkg = $1;
62 ind = index(pkg, "PKG");
63 pkg = substr(pkg, ind+4);
64 ind = index(pkg, "'");
65 pkg = substr(pkg, 1, ind-1);
66 printf("define(`Description_%s_%s',\t``%s'')\n", name, pkg, descr);
69 END {
70 printf("divert(0)dnl\n");