1<?php
2/*************************************************************************************
3 * make.php
4 * --------
5 * Author: Neil Bird <phoenix@fnxweb.com>
6 * Copyright: (c) 2008 Neil Bird
7 * Release Version: 1.0.9.1
8 * Date Started: 2008/08/26
9 *
10 * make language file for GeSHi.
11 *
12 * (GNU make specific)
13 *
14 * CHANGES
15 * -------
16 * 2008/09/05 (1.0.0)
17 *  -  First Release
18 *
19 *************************************************************************************
20 *
21 *     This file is part of GeSHi.
22 *
23 *   GeSHi is free software; you can redistribute it and/or modify
24 *   it under the terms of the GNU General Public License as published by
25 *   the Free Software Foundation; either version 2 of the License, or
26 *   (at your option) any later version.
27 *
28 *   GeSHi is distributed in the hope that it will be useful,
29 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
30 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
31 *   GNU General Public License for more details.
32 *
33 *   You should have received a copy of the GNU General Public License
34 *   along with GeSHi; if not, write to the Free Software
35 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
36 *
37 ************************************************************************************/
38
39$language_data = array (
40    'LANG_NAME' => 'GNU make',
41    'COMMENT_SINGLE' => array(1 => '#'),
42    'COMMENT_REGEXP' => array(
43        //Escaped String Starters
44        2 => "/\\\\['\"]/siU"
45        ),
46    'COMMENT_MULTI' => array(),
47    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
48    'QUOTEMARKS' => array("'", '"'),
49    'ESCAPE_CHAR' => '\\',
50    'KEYWORDS' => array(
51        1 => array(
52            // core
53            'ifeq', 'else', 'endif', 'ifneq', 'ifdef', 'ifndef',
54            'include', 'vpath', 'export', 'unexport', 'override',
55            'info', 'warning', 'error'
56            ),
57        2 => array(
58            // macros, literals
59            '.SUFFIXES', '.PHONY', '.DEFAULT', '.PRECIOUS', '.IGNORE', '.SILENT', '.EXPORT_ALL_VARIABLES', '.KEEP_STATE',
60            '.LIBPATTERNS', '.NOTPARALLEL', '.DELETE_ON_ERROR', '.INTERMEDIATE', '.POSIX', '.SECONDARY'
61            ),
62        /*
63        3 => array(
64            // funcs - see regex
65            //'subst', 'addprefix', 'addsuffix', 'basename', 'call', 'dir', 'error', 'eval', 'filter-out', 'filter',
66            //'findstring', 'firstword', 'foreach', 'if', 'join', 'notdir', 'origin', 'patsubst', 'shell', 'sort', 'strip',
67            //'suffix', 'warning', 'wildcard', 'word', 'wordlist', 'words'
68            )*/
69        ),
70    'SYMBOLS' => array(
71        '(', ')', '[', ']', '{', '}',
72        '!', '@', '%', '&', '|', '/',
73        '<', '>',
74        '=', '-', '+', '*',
75        '.', ':', ',', ';',
76        '$'
77        ),
78    'CASE_SENSITIVE' => array(
79        GESHI_COMMENTS => false,
80        1 => false,
81        2 => false,
82        //3 => false,
83        ),
84    'STYLES' => array(
85        'KEYWORDS' => array(
86            1 => 'color: #666622; font-weight: bold;',
87            2 => 'color: #990000;',
88            //3 => 'color: #000000; font-weight: bold;'
89            ),
90        'COMMENTS' => array(
91            1 => 'color: #339900; font-style: italic;',
92            2 => 'color: #000099; font-weight: bold;',
93            'MULTI' => ''
94            ),
95        'ESCAPE_CHAR' => array(
96            0 => 'color: #000099; font-weight: bold;'
97            ),
98        'BRACKETS' => array(  # keep same as symbols so as to make ${} and $() equiv.
99            0 => 'color: #004400;'
100            ),
101        'STRINGS' => array(
102            0 => 'color: #CC2200;'
103            ),
104        'NUMBERS' => array(
105            0 => 'color: #CC2200;'
106            ),
107        'SYMBOLS' => array(
108            0 => 'color: #004400;'
109            ),
110        'REGEXPS' => array(
111            0 => 'color: #000088; font-weight: bold;',
112            1 => 'color: #0000CC; font-weight: bold;',
113            2 => 'color: #000088;'
114            ),
115        'SCRIPT' => array(),
116        'METHODS' => array()
117        ),
118    'URLS' => array(
119        1 => '',
120        2 => '',
121        //3 => ''
122        ),
123    'OOLANG' => false,
124    'OBJECT_SPLITTERS' => array(),
125    'REGEXPS' => array(
126        //Simple variables
127        0 => "\\$(?:[^{(&]|&(?:amp|lt|gt);)",
128        //Complex variables/functions [built-ins]
129        1 => array(
130            GESHI_SEARCH => '(\\$[({])(subst|addprefix|addsuffix|basename|call|dir|error|eval|filter-out|filter,|findstring|firstword|foreach|if|join|notdir|origin|patsubst|shell|sort|strip,|suffix|warning|wildcard|word|wordlist|words)([ })])',
131            GESHI_REPLACE => '\\2',
132            GESHI_MODIFIERS => '',
133            GESHI_BEFORE => '\\1',
134            GESHI_AFTER => '\\3'
135            ),
136            //Complex variables/functions [others]
137        2 => array(
138            GESHI_SEARCH => '(\\$[({])([A-Za-z_][A-Za-z_0-9]*)([ })])',
139            GESHI_REPLACE => '\\2',
140            GESHI_MODIFIERS => '',
141            GESHI_BEFORE => '\\1',
142            GESHI_AFTER => '\\3'
143            ),
144        ),
145    'STRICT_MODE_APPLIES' => GESHI_NEVER,
146    'SCRIPT_DELIMITERS' => array(),
147    'HIGHLIGHT_STRICT_BLOCK' => array(),
148    'TAB_WIDTH' => 8
149);
150