aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkeyboard-config')
-rw-r--r--xorg-server/xkeyboard-config/compat/makefile20
-rw-r--r--xorg-server/xkeyboard-config/geometry/digital_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/geometry/makefile25
-rw-r--r--xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile13
-rw-r--r--xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/keycodes/makefile33
-rw-r--r--xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/makefile9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1_s.bat9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat7
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml1v_s.bat7
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/ml_s.bat9
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mln_s.bat10
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat8
-rwxr-xr-xxorg-server/xkeyboard-config/rules/bin/mlv_s.bat7
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/.gitignore10
-rw-r--r--xorg-server/xkeyboard-config/rules/compat/makefile56
-rw-r--r--xorg-server/xkeyboard-config/rules/makefile197
-rw-r--r--xorg-server/xkeyboard-config/rules/merge.py13
-rw-r--r--xorg-server/xkeyboard-config/symbols/cd.in (renamed from xorg-server/xkeyboard-config/symbols/cd)0
-rw-r--r--xorg-server/xkeyboard-config/symbols/digital_vndr/makefile13
-rw-r--r--xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/hp_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile16
-rw-r--r--xorg-server/xkeyboard-config/symbols/makefile56
-rw-r--r--xorg-server/xkeyboard-config/symbols/nec_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile14
-rw-r--r--xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile16
-rw-r--r--xorg-server/xkeyboard-config/symbols/sony_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/symbols/sun_vndr/makefile18
-rw-r--r--xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile12
-rw-r--r--xorg-server/xkeyboard-config/types/default.in (renamed from xorg-server/xkeyboard-config/types/default)0
-rw-r--r--xorg-server/xkeyboard-config/types/makefile17
-rw-r--r--xorg-server/xkeyboard-config/xkbrules.mak26
35 files changed, 717 insertions, 0 deletions
diff --git a/xorg-server/xkeyboard-config/compat/makefile b/xorg-server/xkeyboard-config/compat/makefile
new file mode 100644
index 000000000..d8dc5d8c4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/compat/makefile
@@ -0,0 +1,20 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=compat
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_xkbdata_compat_DATA = \
+accessx basic caps complete \
+iso9995 \
+japan ledcaps \
+lednum ledscroll level5 \
+misc mousekeys \
+olpc pc pc98 xfree86 \
+xtest README
+
+DATA_FILES=$(dist_xkbdata_compat_DATA:%=$(DESTDIR)\%)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/geometry/digital_vndr/makefile b/xorg-server/xkeyboard-config/geometry/digital_vndr/makefile
new file mode 100644
index 000000000..12d4c37fc
--- /dev/null
+++ b/xorg-server/xkeyboard-config/geometry/digital_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\geometry\digital_vndr
+
+dist_geom_DATA = \
+lk pc unix
+
+DATA_FILES=$(dist_geom_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/geometry/makefile b/xorg-server/xkeyboard-config/geometry/makefile
new file mode 100644
index 000000000..896e186f4
--- /dev/null
+++ b/xorg-server/xkeyboard-config/geometry/makefile
@@ -0,0 +1,25 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=geometry
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_xkbdata_geometry_DATA = \
+amiga ataritt chicony \
+dell everex fujitsu \
+hhk hp keytronic kinesis \
+macintosh microsoft nec nokia \
+northgate pc sanwa sony thinkpad \
+sun typematrix winbook README
+
+DATA_FILES=$(dist_xkbdata_geometry_DATA:%=$(DESTDIR)\%)
+
+SUBDIRS = digital_vndr sgi_vndr
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+extrastuff: $(SUBDIRS:%=%\all)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile b/xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile
new file mode 100644
index 000000000..285067802
--- /dev/null
+++ b/xorg-server/xkeyboard-config/geometry/sgi_vndr/makefile
@@ -0,0 +1,13 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\geometry\sgi_vndr
+
+
+dist_geom_DATA = \
+indigo indy O2
+
+DATA_FILES=$(dist_geom_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile b/xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile
new file mode 100644
index 000000000..9cf1180e5
--- /dev/null
+++ b/xorg-server/xkeyboard-config/keycodes/digital_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\keycodes\digital_vndr
+
+dist_keycodes_DATA = \
+lk pc
+
+DATA_FILES=$(dist_keycodes_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/keycodes/makefile b/xorg-server/xkeyboard-config/keycodes/makefile
new file mode 100644
index 000000000..f22e67a93
--- /dev/null
+++ b/xorg-server/xkeyboard-config/keycodes/makefile
@@ -0,0 +1,33 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=keycodes
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+SUBDIRS = digital_vndr sgi_vndr
+
+dist_xkbdata_keycodes_DATA = \
+aliases \
+amiga \
+ataritt \
+empty \
+evdev \
+fujitsu \
+hp \
+ibm \
+macintosh \
+sony \
+sun \
+xfree86 \
+xfree98 \
+README
+
+DATA_FILES=$(dist_xkbdata_keycodes_DATA:%=$(DESTDIR)\%)
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+extrastuff: $(SUBDIRS:%=%\all)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile b/xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile
new file mode 100644
index 000000000..e6c1defda
--- /dev/null
+++ b/xorg-server/xkeyboard-config/keycodes/sgi_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\keycodes\sgi_vndr
+
+dist_keycodes_DATA = \
+indigo indy iris
+
+DATA_FILES=$(dist_keycodes_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/makefile b/xorg-server/xkeyboard-config/makefile
new file mode 100644
index 000000000..47ce6dd7b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/makefile
@@ -0,0 +1,9 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+SUBDIRS = compat geometry keycodes rules symbols types
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+all: $(SUBDIRS:%=%\all)
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat
new file mode 100755
index 000000000..b09459a5d
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1_s.bat
@@ -0,0 +1,9 @@
+@echo off
+
+set OUTFILE=base.ml1_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ if (index($2, """(""") == 0) { printf """ * %%s = pc+%%s%%%%(v[1])\n""", $1, $2; } else { printf """ * %%s = pc+%%s\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat
new file mode 100755
index 000000000..4d492e02b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1v1_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.ml1v1_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat
new file mode 100755
index 000000000..cec1334c0
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml1v_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.ml1v_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/ml_s.bat b/xorg-server/xkeyboard-config/rules/bin/ml_s.bat
new file mode 100755
index 000000000..b7f0d9c46
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/ml_s.bat
@@ -0,0 +1,9 @@
+@echo off
+
+set OUTFILE=base.ml_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s = pc+%%s\n""", $1, $2; }" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mln_s.bat b/xorg-server/xkeyboard-config/rules/bin/mln_s.bat
new file mode 100755
index 000000000..15e0629be
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mln_s.bat
@@ -0,0 +1,10 @@
+@echo off
+set variant=%1
+
+set OUTFILE=base.ml%variant%_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+echo "{ if (index($2, """(""") == 0) { printf """ * %%s = +%%s%%%%(v[%variant%]):%variant%\n""", $1, $2; } else { printf """ * %%s = +%%s:%variant%\n""", $1, $2; }}" < layoutsMapping.lst >> %OUTFILE%
+
+gawk "{ printf """ * %%s(%%s) = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat
new file mode 100755
index 000000000..78119bcc7
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mlnvn_s.bat
@@ -0,0 +1,8 @@
+@echo off
+set variant=%1
+
+set OUTFILE=base.ml%variant%v%variant%_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = +%%s(%%s):%variant%\n""", $1, $2, $3, $4;}" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat b/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat
new file mode 100755
index 000000000..573cb930f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/bin/mlv_s.bat
@@ -0,0 +1,7 @@
+@echo off
+
+set OUTFILE=base.mlv_s.part
+
+if exist %OUTFILE% del %OUTFILE%
+
+gawk "{ printf """ * %%s %%s = pc+%%s(%%s)\n""", $1, $2, $3, $4; }" < variantsMapping.lst >> %OUTFILE%
diff --git a/xorg-server/xkeyboard-config/rules/compat/.gitignore b/xorg-server/xkeyboard-config/rules/compat/.gitignore
index bd274090a..077356fbb 100644
--- a/xorg-server/xkeyboard-config/rules/compat/.gitignore
+++ b/xorg-server/xkeyboard-config/rules/compat/.gitignore
@@ -1,6 +1,16 @@
+base.ml1_s.part
+base.ml1v1_s.part
base.ml2_s.part
base.ml2v2_s.part
base.ml3_s.part
base.ml3v3_s.part
base.ml4_s.part
base.ml4v4_s.part
+base.ml_s.part
+base.mlv_s.part
+ml1_s.bat
+ml1v1_s.bat
+ml_s.bat
+mln_s.bat
+mlnvn_s.bat
+mlv_s.bat \ No newline at end of file
diff --git a/xorg-server/xkeyboard-config/rules/compat/makefile b/xorg-server/xkeyboard-config/rules/compat/makefile
new file mode 100644
index 000000000..e14430c74
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/compat/makefile
@@ -0,0 +1,56 @@
+transform_files=layoutsMapping.lst variantsMapping.lst
+
+scripts_dir=..\bin
+
+SCRIPTS= \
+base.ml2_s.part \
+base.ml3_s.part \
+base.ml4_s.part \
+base.ml2v2_s.part \
+base.ml3v3_s.part \
+base.ml4v4_s.part \
+base.ml_s.part \
+base.ml1_s.part \
+base.mlv_s.part \
+base.ml1v1_s.part
+
+# Here we make a distinction when compiling from cygwin or from cmd
+ifdef SHLVL
+SH=sh
+SHEXT=.sh
+else
+SH=cmd /c
+SHEXT=.bat
+endif
+
+base.ml2_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 2 .
+
+base.ml3_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 3 .
+
+base.ml4_s.part: $(scripts_dir)\mln_s$(SHEXT) $(transform_files)
+ $(SH) $< 4 .
+
+base.ml2v2_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 2 .
+
+base.ml3v3_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 3 .
+
+base.ml4v4_s.part: $(scripts_dir)\mlnvn_s$(SHEXT) $(transform_files)
+ $(SH) $< 4 .
+
+base.ml_s.part: $(scripts_dir)\ml_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.ml1_s.part: $(scripts_dir)\ml1_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.mlv_s.part: $(scripts_dir)\mlv_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+base.ml1v1_s.part: $(scripts_dir)\ml1v1_s$(SHEXT) $(transform_files)
+ $(SH) $< .
+
+all: $(SCRIPTS)
diff --git a/xorg-server/xkeyboard-config/rules/makefile b/xorg-server/xkeyboard-config/rules/makefile
new file mode 100644
index 000000000..4e2786734
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/makefile
@@ -0,0 +1,197 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+load_makefile compat\makefile MAKESERVER=0 DEBUG=$(DEBUG)
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\rules
+
+USE_COMPAT_RULES = 1
+
+if USE_COMPAT_RULES
+
+base_parts = base.hdr.part base.lists.part \
+compat/base.lists.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR base.m_s.part \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+compat/base.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR base.o_k.part \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR compat/base.mlv_s.part base.mlv_s.part \
+HDR compat/base.ml_s.part base.ml_s.part \
+HDR compat/base.ml1_s.part base.ml1_s.part \
+HDR compat/base.ml1v1_s.part \
+HDR compat/base.ml2_s.part base.ml2_s.part \
+HDR compat/base.ml3_s.part base.ml3_s.part \
+HDR compat/base.ml4_s.part base.ml4_s.part \
+HDR compat/base.ml2v2_s.part \
+HDR compat/base.ml3v3_s.part \
+HDR compat/base.ml4v4_s.part \
+HDR evdev.m_s.part \
+HDR compat/base.lv_c.part \
+HDR compat/base.l1v1_c.part \
+HDR compat/base.l2v2_c.part \
+HDR compat/base.l3v3_c.part \
+HDR compat/base.l4v4_c.part \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR base.lo_s.part \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR compat/base.o_s.part base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+else
+
+base_parts = base.hdr.part base.lists.part \
+HDR base.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR base.m_s.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+evdev_parts = base.hdr.part base.lists.part \
+HDR evdev.m_k.part \
+HDR base.l1_k.part \
+HDR base.l_k.part \
+HDR \
+HDR base.ml_g.part \
+HDR base.m_g.part \
+HDR base.mlv_s.part \
+HDR base.ml_s.part \
+HDR base.ml1_s.part \
+HDR \
+HDR base.ml2_s.part \
+HDR base.ml3_s.part \
+HDR base.ml4_s.part \
+HDR \
+HDR \
+HDR \
+HDR evdev.m_s.part \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR \
+HDR base.ml_c.part \
+HDR base.ml1_c.part \
+HDR base.m_t.part \
+HDR \
+HDR base.l1o_s.part \
+HDR base.l2o_s.part \
+HDR base.l3o_s.part \
+HDR base.l4o_s.part \
+HDR base.o_s.part \
+HDR base.o_c.part \
+HDR base.o_t.part
+
+endif
+rules_files = base evdev xfree98
+
+lst_files = base.lst evdev.lst
+
+$(DESTDIR)\%.lst: $(DESTDIR)\%.xml
+ perl xml2lst.pl < $< > $@
+
+$(DESTDIR)\base: compat\all $(base_parts)
+ merge $@ $(base_parts)
+
+$(DESTDIR)\evdev: compat\all $(evdev_parts)
+ merge $@ $(evdev_parts)
+
+dist_files = xkb.dtd README
+
+rules_DATA = $(rules_files) $(lst_files) $(dist_files)
+
+COMPATFILES=xorg xorg.xml xorg.lst
+$(DESTDIR)\xorg: $(DESTDIR)\base
+ copy $< $@
+$(DESTDIR)\xorg%: $(DESTDIR)\base%
+ copy $< $@
+
+rules_DATA := $(rules_DATA) $(COMPATFILES)
+
+xml_in_files = base.xml.in evdev.xml.in base.extras.xml.in evdev.extras.xml.in
+xml_DATA = $(xml_in_files:.xml.in=.xml)
+
+$(DESTDIR)\%.xml: %.xml.in
+ copy $< $@
+
+$(DESTDIR)\evdev.xml: base.xml.in
+ copy $< $@
+
+$(DESTDIR)\evdev.extras.xml: base.extras.xml.in
+ copy $< $@
+
+DATA_FILES=$(rules_DATA:%=$(DESTDIR)\%) $(xml_DATA:%=$(DESTDIR)\%)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/rules/merge.py b/xorg-server/xkeyboard-config/rules/merge.py
new file mode 100644
index 000000000..442a866f2
--- /dev/null
+++ b/xorg-server/xkeyboard-config/rules/merge.py
@@ -0,0 +1,13 @@
+import sys
+
+pOUT=open(sys.argv[1],"wb")
+pHDR=open("HDR","r")
+for item in sys.argv[2:]:
+ if item == 'HDR':
+ pOUT.write("\n")
+ pOUT.write(pHDR.readline())
+ else:
+ pOUT.write(open(item,"rb").read())
+
+pOUT.close()
+
diff --git a/xorg-server/xkeyboard-config/symbols/cd b/xorg-server/xkeyboard-config/symbols/cd.in
index a4f2fa2d2..a4f2fa2d2 100644
--- a/xorg-server/xkeyboard-config/symbols/cd
+++ b/xorg-server/xkeyboard-config/symbols/cd.in
diff --git a/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile b/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile
new file mode 100644
index 000000000..cdfa2ef28
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/digital_vndr/makefile
@@ -0,0 +1,13 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\digital_vndr
+
+dist_symbols_DATA = \
+lk pc us \
+vt
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile
new file mode 100644
index 000000000..841c123d8
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/fujitsu_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\fujitsu_vndr
+
+dist_symbols_DATA = \
+jp us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile b/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile
new file mode 100644
index 000000000..3e6a64f47
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/hp_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\hp_vndr
+
+dist_symbols_DATA = \
+us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile
new file mode 100644
index 000000000..0c54d7bdd
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/macintosh_vndr/makefile
@@ -0,0 +1,16 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\macintosh_vndr
+
+dist_symbols_DATA = \
+apple ch de dk \
+fi fr \
+gb is it jp \
+latam nl no pt \
+se us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/makefile b/xorg-server/xkeyboard-config/symbols/makefile
new file mode 100644
index 000000000..54b1ac1c3
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/makefile
@@ -0,0 +1,56 @@
+SUBDIRS = digital_vndr fujitsu_vndr hp_vndr macintosh_vndr nec_vndr nokia_vndr sharp_vndr sgi_vndr sony_vndr sun_vndr xfree68_vndr
+
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=symbols
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_symbols_DATA = \
+af al \
+am apl ara \
+at az \
+ba bd be \
+bg br brai \
+bt bw by \
+ca cd ch \
+cm cn cz \
+de dk \
+ee es et epo \
+fi fo fr \
+gb ge gh gn \
+gr hr hu \
+ie il in iq \
+ir is it jp \
+ke kg kh \
+kr kz \
+la latam latin \
+lk lt lv \
+ma mao md me \
+mk ml mm \
+mn mt mv \
+ng nl no np \
+pc ph pk pl pt \
+ro rs ru \
+se si sk sn \
+sy th \
+terminate \
+tj tm tr tw tz \
+ua us uz vn \
+za \
+altwin capslock compose ctrl empty eurosign rupeesign group inet \
+keypad kpdl level3 level5 nbsp olpc shift srvr_ctrl typo
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+load_makefile $(SUBDIRS:%=%\makefile MAKESERVER=0 DEBUG=$(DEBUG);)
+
+extrastuff: $(SUBDIRS:%=%\all)
+
+include ..\xkbrules.mak
+
+$(DESTDIR)\cd: cd.in
+ copy $< $@
+
diff --git a/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile b/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile
new file mode 100644
index 000000000..6ab523a2b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nec_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\nec_vndr
+
+dist_symbols_DATA = \
+jp
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile b/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile
new file mode 100644
index 000000000..f3719bbac
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nokia_vndr/makefile
@@ -0,0 +1,14 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\nokia_vndr
+
+dist_symbols_DATA = \
+rx-44 \
+rx-51 \
+su-8w
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile
new file mode 100644
index 000000000..79a27fead
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sgi_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sgi_vndr
+
+dist_symbols_DATA = \
+jp
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile
new file mode 100644
index 000000000..2174000bd
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sharp_vndr/makefile
@@ -0,0 +1,16 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sharp_vndr
+
+dist_symbols_DATA = \
+sl-c3x00 \
+ws003sh \
+ws007sh \
+ws011sh \
+ws020sh
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile
new file mode 100644
index 000000000..c2c1fa757
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sony_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sony_vndr
+
+dist_symbols_DATA = \
+us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile b/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile
new file mode 100644
index 000000000..a1329d15f
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/sun_vndr/makefile
@@ -0,0 +1,18 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\sun_vndr
+
+dist_symbols_DATA = \
+ ara be br ca ch \
+ cz de dk ee es \
+ fi fr gb gr it \
+ jp kr lt lv nl \
+ no pl pt ro ru \
+ se sk solaris tr \
+ tw ua us
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile
new file mode 100644
index 000000000..c9c1b3ede
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/xfree68_vndr/makefile
@@ -0,0 +1,12 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\xfree68_vndr
+
+dist_symbols_DATA = \
+amiga ataritt
+
+DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%)
+
+include ..\..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/types/default b/xorg-server/xkeyboard-config/types/default.in
index 140208ccc..140208ccc 100644
--- a/xorg-server/xkeyboard-config/types/default
+++ b/xorg-server/xkeyboard-config/types/default.in
diff --git a/xorg-server/xkeyboard-config/types/makefile b/xorg-server/xkeyboard-config/types/makefile
new file mode 100644
index 000000000..ef03746ed
--- /dev/null
+++ b/xorg-server/xkeyboard-config/types/makefile
@@ -0,0 +1,17 @@
+ifeq ($(MAKESERVER),1)
+$(error Please do not specify MAKESERVER=1)
+endif
+
+THISDIR=types
+
+DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
+
+dist_xkbdata_types_DATA = \
+basic cancel caps \
+complete default extra \
+iso9995 level5 mousekeys nokia numpad \
+pc README
+
+DATA_FILES=$(dist_xkbdata_types_DATA:%=$(DESTDIR)\%)
+
+include ..\xkbrules.mak
diff --git a/xorg-server/xkeyboard-config/xkbrules.mak b/xorg-server/xkeyboard-config/xkbrules.mak
new file mode 100644
index 000000000..50e38298b
--- /dev/null
+++ b/xorg-server/xkeyboard-config/xkbrules.mak
@@ -0,0 +1,26 @@
+DIRFILE=$(THISDIR:%=$(DESTDIR)\..\%.dir)
+
+.PHONY: destdir
+destdir: $(DESTDIR)
+
+all: destdir $(DATA_FILES) $(DIRFILE)
+
+$(DESTDIR)\default: default.in
+ copy $< $@
+
+$(DESTDIR)\%: %
+ copy $< $@
+
+ifneq ($(DIRFILE),)
+.PHONY: extrastuff
+
+#bdftopcf is dependent on libX11.dll, so we need to add the directory of the libX11 dll to the path env variable
+PATH:=$(relpath $(MHMAKECONF)\libxcb\src\$(OBJDIR))\;$(relpath $(MHMAKECONF)\libX11\$(OBJDIR))\;$(relpath $(MHMAKECONF)\libXau\$(OBJDIR))\;$(PATH)
+export PATH
+
+load_makefile ..\..\..\xkbcomp\makefile MAKESERVER=0 DEBUG=0
+
+$(DIRFILE): extrastuff $(DATA_FILES) ..\..\..\xkbcomp\obj$(OBJDIREXTRA)\release\xkbcomp.exe
+ -del -e $@
+ cd $(DESTDIR) & ..\..\..\xkbcomp\obj$(OBJDIREXTRA)\release\xkbcomp.exe -lfhlpR -o $(relpath $@) *
+endif