Allow model specific multi-layout configuration.
[xorg/xkeyboard-config] / rules / Makefile.am
1 SUBDIRS = bin compat extras
2
3 if CREATE_RULES_SYMLINK
4 #  extra_rules_file = $(xkb_rules_symlink)
5 #  extra_dir_file   = $(extra_rules_file).xml 
6 #  extra_lst_file   = $(extra_rules_file).lst
7
8 install-data-hook:
9         for file in `echo "$(xkb_rules_symlink)" | sed 's/,/ /'` ; do \
10                 extra_rules_file=$$file ; \
11                 extra_dir_file=$$extra_rules_file.xml ; \
12                 extra_lst_file=$$extra_rules_file.lst ; \
13                 ln -sf base     $(DESTDIR)$(rulesdir)/$$extra_rules_file ; \
14                 ln -sf base.lst $(DESTDIR)$(rulesdir)/$$extra_lst_file ; \
15                 ln -sf base.xml $(DESTDIR)$(rulesdir)/$$extra_dir_file ; \
16         done
17
18 else
19 install-data-hook:
20
21 endif
22
23 if USE_COMPAT_RULES
24
25 base_parts = base.hdr.part base.lists.part \
26 compat/base.lists.part \
27 HDR base.m_k.part \
28 HDR base.l1_k.part \
29 HDR base.l_k.part \
30 HDR base.o_k.part \
31 HDR base.ml_g.part \
32 HDR base.m_g.part \
33 HDR compat/base.mlv_s.part   extras/base.mlv_s.part   base.mlv_s.part \
34 HDR compat/base.ml_s.part    extras/base.ml_s.part    base.ml_s.part  \
35 HDR compat/base.ml1_s.part   extras/base.ml1_s.part   base.ml1_s.part \
36 HDR compat/base.ml1v1_s.part extras/base.ml1v1_s.part \
37 HDR compat/base.ml2_s.part    extras/base.ml2_s.part    base.ml2_s.part  \
38 HDR compat/base.ml3_s.part    extras/base.ml3_s.part    base.ml3_s.part  \
39 HDR compat/base.ml4_s.part    extras/base.ml4_s.part    base.ml4_s.part  \
40 HDR compat/base.ml2v2_s.part  extras/base.ml2v2_s.part \
41 HDR compat/base.ml3v3_s.part  extras/base.ml3v3_s.part \
42 HDR compat/base.ml4v4_s.part  extras/base.ml4v4_s.part \
43 HDR base.m_s.part \
44 HDR base.ml_c.part \
45 HDR base.ml1_c.part \
46 HDR base.m_t.part \
47 HDR base.lo_s.part \
48 HDR base.l1o_s.part \
49 HDR base.l2o_s.part \
50 HDR base.l3o_s.part \
51 HDR base.l4o_s.part \
52 HDR compat/base.o_s.part     base.o_s.part \
53 HDR base.o_c.part \
54 HDR base.o_t.part
55
56 evdev_parts = base.hdr.part base.lists.part \
57 compat/base.lists.part \
58 HDR evdev.m_k.part \
59 HDR base.l1_k.part \
60 HDR base.l_k.part \
61 HDR base.o_k.part \
62 HDR base.ml_g.part \
63 HDR base.m_g.part \
64 HDR compat/base.mlv_s.part   extras/base.mlv_s.part   base.mlv_s.part \
65 HDR compat/base.ml_s.part    extras/base.ml_s.part    base.ml_s.part  \
66 HDR compat/base.ml1_s.part   extras/base.ml1_s.part   base.ml1_s.part \
67 HDR compat/base.ml1v1_s.part extras/base.ml1v1_s.part \
68 HDR compat/base.ml2_s.part    extras/base.ml2_s.part    base.ml2_s.part  \
69 HDR compat/base.ml3_s.part    extras/base.ml3_s.part    base.ml3_s.part  \
70 HDR compat/base.ml4_s.part    extras/base.ml4_s.part    base.ml4_s.part  \
71 HDR compat/base.ml2v2_s.part  extras/base.ml2v2_s.part \
72 HDR compat/base.ml3v3_s.part  extras/base.ml3v3_s.part \
73 HDR compat/base.ml4v4_s.part  extras/base.ml4v4_s.part \
74 HDR evdev.m_s.part \
75 HDR base.ml_c.part \
76 HDR base.ml1_c.part \
77 HDR base.m_t.part \
78 HDR base.lo_s.part \
79 HDR base.l1o_s.part \
80 HDR base.l2o_s.part \
81 HDR base.l3o_s.part \
82 HDR base.l4o_s.part \
83 HDR compat/base.o_s.part     base.o_s.part \
84 HDR base.o_c.part \
85 HDR base.o_t.part
86
87 else
88
89 base_parts = base.hdr.part base.lists.part \
90 HDR base.m_k.part \
91 HDR base.l1_k.part \
92 HDR base.l_k.part \
93 HDR \
94 HDR base.ml_g.part \
95 HDR base.m_g.part \
96 HDR extras/base.mlv_s.part   base.mlv_s.part \
97 HDR extras/base.ml_s.part    base.ml_s.part  \
98 HDR extras/base.ml1_s.part   base.ml1_s.part \
99 HDR extras/base.ml1v1_s.part \
100 HDR extras/base.ml2_s.part    base.ml2_s.part  \
101 HDR extras/base.ml3_s.part    base.ml3_s.part  \
102 HDR extras/base.ml4_s.part    base.ml4_s.part  \
103 HDR extras/base.ml2v2_s.part \
104 HDR extras/base.ml3v3_s.part \
105 HDR extras/base.ml4v4_s.part \
106 HDR base.m_s.part \
107 HDR base.ml_c.part \
108 HDR base.ml1_c.part \
109 HDR base.m_t.part \
110 HDR \
111 HDR base.l1o_s.part \
112 HDR base.l2o_s.part \
113 HDR base.l3o_s.part \
114 HDR base.l4o_s.part \
115 HDR base.o_s.part \
116 HDR base.o_c.part \
117 HDR base.o_t.part
118
119 evdev_parts = base.hdr.part base.lists.part \
120 HDR evdev.m_k.part \
121 HDR base.l1_k.part \
122 HDR base.l_k.part  \
123 HDR \
124 HDR base.ml_g.part \
125 HDR base.m_g.part \
126 HDR extras/base.mlv_s.part   base.mlv_s.part \
127 HDR extras/base.ml_s.part    base.ml_s.part  \
128 HDR extras/base.ml1_s.part   base.ml1_s.part \
129 HDR extras/base.ml1v1_s.part \
130 HDR extras/base.ml2_s.part    base.ml2_s.part  \
131 HDR extras/base.ml3_s.part    base.ml3_s.part  \
132 HDR extras/base.ml4_s.part    base.ml4_s.part  \
133 HDR extras/base.ml2v2_s.part \
134 HDR extras/base.ml3v3_s.part \
135 HDR extras/base.ml4v4_s.part \
136 HDR evdev.m_s.part \
137 HDR base.ml_c.part \
138 HDR base.ml1_c.part \
139 HDR base.m_t.part \
140 HDR \
141 HDR base.l1o_s.part \
142 HDR base.l2o_s.part \
143 HDR base.l3o_s.part \
144 HDR base.l4o_s.part \
145 HDR base.o_s.part \
146 HDR base.o_c.part \
147 HDR base.o_t.part
148
149 endif
150
151 all_parts_dist = HDR base.hdr.part \
152 base.lists.part \
153 base.m_k.part \
154 base.l1_k.part \
155 base.l_k.part \
156 base.o_k.part \
157 base.ml_g.part \
158 base.m_g.part \
159 base.mlv_s.part \
160 base.ml_s.part \
161 base.ml1_s.part \
162 base.ml2_s.part \
163 base.ml3_s.part \
164 base.ml4_s.part \
165 base.m_s.part \
166 base.ml_c.part \
167 base.ml1_c.part \
168 base.m_t.part \
169 base.lo_s.part \
170 base.l1o_s.part \
171 base.l2o_s.part \
172 base.l3o_s.part \
173 base.l4o_s.part \
174 base.o_s.part \
175 base.o_c.part \
176 base.o_t.part \
177 evdev.m_k.part \
178 evdev.m_s.part
179
180 rules_files = base evdev xfree98
181
182 lst_files = base.lst evdev.lst
183
184 %.lst: %.xml
185         perl $(srcdir)/xml2lst.pl < $< > $@
186
187 base: $(base_parts)
188         HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(base_parts)
189
190 evdev: $(evdev_parts)
191         HDR="$(srcdir)/HDR" $(srcdir)/merge.sh $@ $(evdev_parts)
192
193 dist_files = xkb.dtd README
194
195 rules_DATA = $(rules_files) $(lst_files) $(dist_files)
196
197 xml_in_files = base.xml.in evdev.xml.in base.extras.xml.in evdev.extras.xml.in
198 xml_DATA = $(xml_in_files:.xml.in=.xml) 
199
200 $(srcdir)/evdev.xml.in: base.xml.in
201         cp $< $@
202
203 $(srcdir)/evdev.extras.xml.in: base.extras.xml.in
204         cp $< $@
205
206 EXTRA_DIST= $(xml_in_files) xfree98 \
207             $(all_parts_dist) \
208             xml2lst.pl merge.sh $(dist_files)
209
210 CLEANFILES = base base.xml base.lst evdev evdev.xml evdev.lst base.extras.xml evdev.extras.xml
211 MAINTAINERCLEANFILES = $(srcdir)/evdev.xml.in $(srcdir)/evdev.extras.xml.in
212
213 rulesdir = $(xkb_base)/rules
214 xmldir = $(rulesdir)
215
216 @INTLTOOL_XML_NOMERGE_RULE@