1rulesdir = $(xkb_base)/rules
2xmldir = $(rulesdir)
3
4EXTRA_DIST =
5CLEANFILES =
6BUILT_SOURCES =
7
8if CREATE_RULES_SYMLINK
9#  extra_rules_file = $(xkb_rules_symlink)
10#  extra_dir_file   = $(extra_rules_file).xml
11#  extra_lst_file   = $(extra_rules_file).lst
12
13install-data-hook:
14	for file in `echo "$(xkb_rules_symlink)" | sed 's/,/ /'` ; do \
15		extra_rules_file=$$file ; \
16		extra_dir_file=$$extra_rules_file.xml ; \
17		extra_lst_file=$$extra_rules_file.lst ; \
18		ln -sf base     $(DESTDIR)$(rulesdir)/$$extra_rules_file ; \
19		ln -sf base.lst $(DESTDIR)$(rulesdir)/$$extra_lst_file ; \
20		ln -sf base.xml $(DESTDIR)$(rulesdir)/$$extra_dir_file ; \
21	done
22
23else
24install-data-hook:
25
26endif
27
28# rules/compat parts
29# Because we rely on the generated sources of that file, we need to keep these
30# in the same Makefile.am
31
32layout_mappings=$(srcdir)/compat/layoutsMapping.lst
33variant_mappings=$(srcdir)/compat/variantsMapping.lst
34
35compat_dist_parts = \
36    compat/0003-lists.part \
37    compat/0028-lv_c.part   \
38    compat/0029-l1v1_c.part \
39    compat/0030-l2v2_c.part \
40    compat/0031-l3v3_c.part \
41    compat/0032-l4v4_c.part \
42    compat/0041-o_s.part \
43    compat/0041-o_s.part \
44    compat/0028-lv_c.part \
45    compat/0029-l1v1_c.part \
46    compat/0030-l2v2_c.part \
47    compat/0031-l3v3_c.part \
48    compat/0032-l4v4_c.part \
49    $(NULL)
50
51compat_generated_parts = \
52    compat/0012-ml_s.part \
53    compat/0014-ml1_s.part \
54    compat/0017-ml2_s.part \
55    compat/0019-ml3_s.part \
56    compat/0021-ml4_s.part \
57    compat/0010-mlv_s.part \
58    compat/0016-ml1v1_s.part \
59    compat/0023-ml2v2_s.part \
60    compat/0024-ml3v3_s.part \
61    compat/0025-ml4v4_s.part \
62    $(NULL)
63
64compat_parts = $(compat_generated_parts) $(compat_dist_parts)
65if USE_COMPAT_RULES
66BUILT_SOURCES += $(compat_parts)
67endif
68
69map_script = $(srcdir)/compat/map-variants.py
70
71compat/0014-ml1_s.part: $(map_script) $(layout_mappings) $(variant_mappings)
72	$(map_script) --want=mls --number=1 $@ $(layout_mappings) $(variant_mappings)
73
74compat/0017-ml2_s.part: $(map_script) $(layout_mappings) $(variant_mappings)
75	$(map_script) --want=mls --number=2 $@ $(layout_mappings) $(variant_mappings)
76
77compat/0019-ml3_s.part: $(map_script) $(layout_mappings) $(variant_mappings)
78	$(map_script) --want=mls --number=3 $@ $(layout_mappings) $(variant_mappings)
79
80compat/0021-ml4_s.part: $(map_script) $(layout_mappings) $(variant_mappings)
81	$(map_script) --want=mls --number=4 $@ $(layout_mappings) $(variant_mappings)
82
83compat/0016-ml1v1_s.part: $(map_script) $(variant_mappings)
84	$(map_script) --want=mlvs --number=1 $@ $(variant_mappings)
85
86compat/0023-ml2v2_s.part: $(map_script) $(variant_mappings)
87	$(map_script) --want=mlvs --number=2 $@ $(variant_mappings)
88
89compat/0024-ml3v3_s.part: $(map_script) $(variant_mappings)
90	$(map_script) --want=mlvs --number=3 $@ $(variant_mappings)
91
92compat/0025-ml4v4_s.part: $(map_script) $(variant_mappings)
93	$(map_script) --want=mlvs --number=4 $@ $(variant_mappings)
94
95compat/0012-ml_s.part: $(map_script) $(layout_mappings) $(variant_mappings)
96	$(map_script) --want=mls $@ $(layout_mappings) $(variant_mappings)
97
98compat/0010-mlv_s.part: $(map_script) $(layout_mappings) $(variant_mappings)
99	$(map_script) --want=mlvs $@ $(variant_mappings)
100
101EXTRA_DIST += $(layout_mappings) $(variant_mappings) $(compat_dist_parts) $(map_script)
102CLEANFILES += $(compat_generated_parts)
103
104# end of the rules/compat parts, now for the parts in rules/
105
106parts = \
107	0000-hdr.part \
108	0001-lists.part \
109	0002-RULESET.lists.part \
110	0004-RULESET.m_k.part \
111	0005-l1_k.part \
112	0006-l_k.part \
113	0007-o_k.part \
114	0008-ml_g.part \
115	0009-m_g.part \
116	0011-mlv_s.part \
117	0013-ml_s.part \
118	0015-ml1_s.part \
119	0018-ml2_s.part  \
120	0020-ml3_s.part  \
121	0022-ml4_s.part  \
122	0026-RULESET.m_s.part \
123	0027-RULESET.ml_s1.part \
124	0033-ml_c.part \
125	0034-ml1_c.part \
126	0035-m_t.part \
127	0036-lo_s.part \
128	0037-l1o_s.part \
129	0038-l2o_s.part \
130	0039-l3o_s.part \
131	0040-l4o_s.part \
132	0042-o_s.part \
133	0043-o_c.part \
134	0044-o_t.part
135
136if USE_COMPAT_RULES
137parts += $(compat_parts)
138endif
139
140rules_files = base evdev xfree98
141
142lst_files = base.lst evdev.lst
143
144SUFFIXES = .xml .lst
145
146.xml.lst:
147	perl $(srcdir)/xml2lst.pl < $< > $@
148
149base_parts=$(subst RULESET,base,$(parts))
150base: $(base_parts) merge.py
151	$(srcdir)/merge.py --srcdir=$(srcdir) --builddir=$(builddir) $(base_parts) > $@
152
153evdev_parts=$(subst RULESET,evdev,$(parts))
154evdev: $(evdev_sources) merge.py
155	$(srcdir)/merge.py --srcdir=$(srcdir) --builddir=$(builddir) $(evdev_parts) > $@
156
157dist_files = xkb.dtd README
158
159rules_DATA = $(rules_files) $(lst_files) $(dist_files)
160
161xml_DATA = base.xml evdev.xml base.extras.xml evdev.extras.xml
162
163$(srcdir)/evdev.xml: base.xml
164	cp $(srcdir)/base.xml $@
165
166$(srcdir)/evdev.extras.xml: base.extras.xml
167	cp $(srcdir)/base.extras.xml $@
168
169EXTRA_DIST += $(xml_DATA) xfree98 \
170              $(base_parts) $(evdev_parts) $(compat_parts) \
171              xml2lst.pl merge.py xkb.its $(dist_files)
172
173CLEANFILES += base base.lst evdev evdev.lst
174