134ae8beb41c3203276037e2b08e93fea0f81be3
[bpt/emacs.git] / etc / srecode / make.srt
1 ;; make.srt
2
3 ;; Copyright (C) 2009-2013 Free Software Foundation, Inc.
4
5 ;; Author: Eric M. Ludlam <eric@siege-engine.com>
6
7 ;; This file is part of GNU Emacs.
8
9 ;; GNU Emacs is free software: you can redistribute it and/or modify
10 ;; it under the terms of the GNU General Public License as published by
11 ;; the Free Software Foundation, either version 3 of the License, or
12 ;; (at your option) any later version.
13
14 ;; GNU Emacs is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;; GNU General Public License for more details.
18
19 ;; You should have received a copy of the GNU General Public License
20 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
21
22 set mode "makefile-mode"
23 set escape_start "{{"
24 set escape_end "}}"
25 set comment_start "#"
26 set comment_prefix "#"
27 set TAB "\t"
28
29 context file
30
31 template empty :file :user
32 ----
33 {{>:filecomment}}
34
35 all: {{^}}
36
37 {{comment_start}} end
38 ----
39
40 context declaration
41
42 ;; GNU Make has real functions you can define, but semantic uses
43 ;; 'function for rules. This is unfortunate, and should be fixed.
44 template rule :blank
45 ----
46 {{?NAME}}:
47 {{TAB}}{{^}}
48 ----
49 bind "r"
50
51 template inferencerule :blank
52 ----
53 %.{{?SRCEXTENSION}}: %.{{?DESTEXTENSION}}
54 {{TAB}}{{^}}
55 ----
56 bind "i"
57
58 template phonyrule :blank
59 ----
60 .PHONY {{?NAME}}
61 {{NAME}}:
62 {{TAB}}{{^}}
63 ----
64 bind "p"
65
66
67 template variable :blank
68 "Insert a variable declaration."
69 ----
70 {{?NAME}}:= {{^}}
71 ----
72 bind "v"
73
74 template include :blank
75 ----
76 include {{?NAME}}
77 ----
78
79 ;; end