Commit | Line | Data |
---|---|---|
31690700 JM |
1 | # |
2 | # mal (Make Lisp) trimmed and namespaced GMSL functions/definitions | |
3 | # - derived from the GMSL 1.1.3 | |
4 | # | |
5 | ||
6 | ifndef __mal_gmsl_included | |
7 | __mal_gmsl_included := true | |
8 | ||
9 | # ---------------------------------------------------------------------------- | |
10 | # | |
11 | # GNU Make Standard Library (GMSL) | |
12 | # | |
13 | # A library of functions to be used with GNU Make's $(call) that | |
14 | # provides functionality not available in standard GNU Make. | |
15 | # | |
16 | # Copyright (c) 2005-2013 John Graham-Cumming | |
17 | # | |
18 | # This file is part of GMSL | |
19 | # | |
20 | # Redistribution and use in source and binary forms, with or without | |
21 | # modification, are permitted provided that the following conditions | |
22 | # are met: | |
23 | # | |
24 | # Redistributions of source code must retain the above copyright | |
25 | # notice, this list of conditions and the following disclaimer. | |
26 | # | |
27 | # Redistributions in binary form must reproduce the above copyright | |
28 | # notice, this list of conditions and the following disclaimer in the | |
29 | # documentation and/or other materials provided with the distribution. | |
30 | # | |
31 | # Neither the name of the John Graham-Cumming nor the names of its | |
32 | # contributors may be used to endorse or promote products derived from | |
33 | # this software without specific prior written permission. | |
34 | # | |
35 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
36 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
37 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |
38 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | |
39 | # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
40 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |
41 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
42 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
43 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
44 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | |
45 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
46 | # POSSIBILITY OF SUCH DAMAGE. | |
47 | # | |
48 | # ---------------------------------------------------------------------------- | |
49 | ||
31690700 JM |
50 | # Strings |
51 | ||
f4c8a091 JM |
52 | gmsl_characters := A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
53 | gmsl_characters += a b c d e f g h i j k l m n o p q r s t u v w x y z | |
54 | gmsl_characters += 0 1 2 3 4 5 6 7 8 9 | |
55 | gmsl_characters += ` ~ ! @ \# $$ % ^ & * ( ) - _ = + | |
56 | gmsl_characters += { } [ ] \ : ; ' " < > , . / ? | | |
31690700 JM |
57 | |
58 | gmsl_pairmap = $(strip \ | |
59 | $(if $2$3,$(call $1,$(word 1,$2),$(word 1,$3)) \ | |
60 | $(call gmsl_pairmap,$1,$(wordlist 2,$(words $2),$2),$(wordlist 2,$(words $3),$3)))) | |
61 | ||
62 | endif |