Update "missing" (automake) script to a later version
[geda-pcb/pcjc2.git] / lib / gen_m4.awk
blob544f686b6abfdd348ba4ee1b1be6522e2488e1a5
1 #!/usr/bin/awk -f
3 # COPYRIGHT
5 # PCB, interactive printed circuit board design
6 # Copyright (C) 2003 Dan McMahill
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 # Script to regenerate *.m4 from *.inc
24 # Usage:
26 # awk -f gen_m4.awk name=foo foo.inc > foo.m4
29 BEGIN {
30 printf("divert(-1)\n");
31 printf("#\n");
32 printf("# NOTE: Auto-generated. Do not change.\n");
33 printf("#");
34 do_process = 0;
37 /^\#[ \t]*EXTRACT_BEGIN/ {
38 do_process = 1;
41 /^\#[ \t]*EXTRACT_END/ {
42 do_process = 0;
45 do_process == 0 {
46 next;
49 /^\#\#/ {
50 descr = $0;
51 ind = index(descr, $2);
52 descr = substr(descr, ind);
53 printf("#\n");
54 next;
58 /^[ \t]*define/ {
59 pkg = $1;
60 ind = index(pkg, "PKG");
61 pkg = substr(pkg, ind+4);
62 ind = index(pkg, "'");
63 pkg = substr(pkg, 1, ind-1);
64 printf("define(`Description_%s_%s',\t``%s'')\n", name, pkg, descr);
67 END {
68 printf("divert(0)dnl\n");