1 TESTS
:= stdc stdc
++ python2 python3 javascript
4 @set
-e
; for fn in
$(TESTS
); do \
10 GEN
:= ..
/tools
/keymap-gen
11 DATA
:= ..
/data
/keymaps.csv
12 SOURCES
:= $(GEN
) $(DATA
)
16 stdc
: stdc.c osx2win32.h osx2win32.c osx2win32_name.h osx2win32_name.c \
17 osx2xkb.h osx2xkb.c osx2xkb_name.h osx2xkb_name.c \
18 html2win32.h html2win32.c html2win32_name.h html2win32_name.c \
19 osx.h osx.c osx_name.h osx_name.c
20 $(CC
) -Wall
-o
$@
$(filter %.c
, $^
)
21 osx2win32.c
: $(SOURCES
)
22 $(GEN
) --lang stdc code-map
$(DATA
) osx win32
> $@
23 osx2win32.h
: $(SOURCES
)
24 $(GEN
) --lang stdc-header code-map
$(DATA
) osx win32
> $@
25 osx2win32_name.c
: $(SOURCES
)
26 $(GEN
) --lang stdc name-map
$(DATA
) osx win32
> $@
27 osx2win32_name.h
: $(SOURCES
)
28 $(GEN
) --lang stdc-header name-map
$(DATA
) osx win32
> $@
30 $(GEN
) --lang stdc code-map
$(DATA
) osx xkb
> $@
32 $(GEN
) --lang stdc-header code-map
$(DATA
) osx xkb
> $@
33 osx2xkb_name.c
: $(SOURCES
)
34 $(GEN
) --lang stdc name-map
$(DATA
) osx xkb
> $@
35 osx2xkb_name.h
: $(SOURCES
)
36 $(GEN
) --lang stdc-header name-map
$(DATA
) osx xkb
> $@
37 html2win32.c
: $(SOURCES
)
38 $(GEN
) --lang stdc code-map
$(DATA
) html win32
> $@
39 html2win32.h
: $(SOURCES
)
40 $(GEN
) --lang stdc-header code-map
$(DATA
) html win32
> $@
41 html2win32_name.c
: $(SOURCES
)
42 $(GEN
) --lang stdc name-map
$(DATA
) html win32
> $@
43 html2win32_name.h
: $(SOURCES
)
44 $(GEN
) --lang stdc-header name-map
$(DATA
) html win32
> $@
46 $(GEN
) --lang stdc code-table
$(DATA
) osx
> $@
48 $(GEN
) --lang stdc-header code-table
$(DATA
) osx
> $@
49 osx_name.c
: $(SOURCES
)
50 $(GEN
) --lang stdc name-table
$(DATA
) osx
> $@
51 osx_name.h
: $(SOURCES
)
52 $(GEN
) --lang stdc-header name-table
$(DATA
) osx
> $@
54 stdc
++: stdc
++.
cc osx2win32.hh osx2win32.
cc osx2win32_name.hh osx2win32_name.
cc \
55 osx2xkb.hh osx2xkb.
cc osx2xkb_name.hh osx2xkb_name.
cc \
56 html2win32.hh html2win32.
cc html2win32_name.hh html2win32_name.
cc \
57 osx.hh osx.
cc osx_name.hh osx_name.
cc
58 $(CXX
) -Wall
-std
=c
++11 -o
$@
$(filter %.
cc, $^
)
59 osx2win32.
cc: $(SOURCES
)
60 $(GEN
) --lang stdc
++ code-map
$(DATA
) osx win32
> $@
61 osx2win32.hh
: $(SOURCES
)
62 $(GEN
) --lang stdc
++-header code-map
$(DATA
) osx win32
> $@
63 osx2win32_name.
cc: $(SOURCES
)
64 $(GEN
) --lang stdc
++ name-map
$(DATA
) osx win32
> $@
65 osx2win32_name.hh
: $(SOURCES
)
66 $(GEN
) --lang stdc
++-header name-map
$(DATA
) osx win32
> $@
67 osx2xkb.
cc: $(SOURCES
)
68 $(GEN
) --lang stdc
++ code-map
$(DATA
) osx xkb
> $@
69 osx2xkb.hh
: $(SOURCES
)
70 $(GEN
) --lang stdc
++-header code-map
$(DATA
) osx xkb
> $@
71 osx2xkb_name.
cc: $(SOURCES
)
72 $(GEN
) --lang stdc
++ name-map
$(DATA
) osx xkb
> $@
73 osx2xkb_name.hh
: $(SOURCES
)
74 $(GEN
) --lang stdc
++-header name-map
$(DATA
) osx xkb
> $@
75 html2win32.
cc: $(SOURCES
)
76 $(GEN
) --lang stdc
++ code-map
$(DATA
) html win32
> $@
77 html2win32.hh
: $(SOURCES
)
78 $(GEN
) --lang stdc
++-header code-map
$(DATA
) html win32
> $@
79 html2win32_name.
cc: $(SOURCES
)
80 $(GEN
) --lang stdc
++ name-map
$(DATA
) html win32
> $@
81 html2win32_name.hh
: $(SOURCES
)
82 $(GEN
) --lang stdc
++-header name-map
$(DATA
) html win32
> $@
84 $(GEN
) --lang stdc
++ code-table
$(DATA
) osx
> $@
86 $(GEN
) --lang stdc
++-header code-table
$(DATA
) osx
> $@
87 osx_name.
cc: $(SOURCES
)
88 $(GEN
) --lang stdc
++ name-table
$(DATA
) osx
> $@
89 osx_name.hh
: $(SOURCES
)
90 $(GEN
) --lang stdc
++-header name-table
$(DATA
) osx
> $@
92 python2
: osx2win32.py osx2win32_name.py \
93 osx2xkb.py osx2xkb_name.py \
94 html2win32.py html2win32_name.py \
96 osx2win32.py
: $(SOURCES
)
97 $(GEN
) --lang python2 code-map
$(DATA
) osx win32
> $@
98 osx2win32_name.py
: $(SOURCES
)
99 $(GEN
) --lang python2 name-map
$(DATA
) osx win32
> $@
100 osx2xkb.py
: $(SOURCES
)
101 $(GEN
) --lang python2 code-map
$(DATA
) osx xkb
> $@
102 osx2xkb_name.py
: $(SOURCES
)
103 $(GEN
) --lang python2 name-map
$(DATA
) osx xkb
> $@
104 html2win32.py
: $(SOURCES
)
105 $(GEN
) --lang python2 code-map
$(DATA
) html win32
> $@
106 html2win32_name.py
: $(SOURCES
)
107 $(GEN
) --lang python2 name-map
$(DATA
) html win32
> $@
109 $(GEN
) --lang python2 code-table
$(DATA
) osx
> $@
110 osx_name.py
: $(SOURCES
)
111 $(GEN
) --lang python2 name-table
$(DATA
) osx
> $@
113 javascript
: node_modules
/babel-core \
114 node_modules
/babel-plugin-transform-es2015-modules-commonjs \
115 osx2win32.js osx2win32_name.js \
116 osx2xkb.js osx2xkb_name.js \
117 html2win32.js html2win32_name.js \
119 node_modules
/babel-core
:
120 npm
install babel-core
121 node_modules
/babel-plugin-transform-es2015-modules-commonjs
:
122 npm
install babel-plugin-transform-es2015-modules-commonjs
123 osx2win32.js
: $(SOURCES
)
124 $(GEN
) --lang js code-map
$(DATA
) osx win32
> $@
125 osx2win32_name.js
: $(SOURCES
)
126 $(GEN
) --lang js name-map
$(DATA
) osx win32
> $@
127 osx2xkb.js
: $(SOURCES
)
128 $(GEN
) --lang js code-map
$(DATA
) osx xkb
> $@
129 osx2xkb_name.js
: $(SOURCES
)
130 $(GEN
) --lang js name-map
$(DATA
) osx xkb
> $@
131 html2win32.js
: $(SOURCES
)
132 $(GEN
) --lang js code-map
$(DATA
) html win32
> $@
133 html2win32_name.js
: $(SOURCES
)
134 $(GEN
) --lang js name-map
$(DATA
) html win32
> $@
136 $(GEN
) --lang js code-table
$(DATA
) osx
> $@
137 osx_name.js
: $(SOURCES
)
138 $(GEN
) --lang js name-table
$(DATA
) osx
> $@
143 rm -f osx2win32_name.
*
147 rm -f html2win32_name.
*