File: Makefile

package info (click to toggle)
console-setup 1.221
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 39,720 kB
  • sloc: perl: 11,199; xml: 8,643; sh: 3,972; makefile: 804
file content (88 lines) | stat: -rw-r--r-- 2,956 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
kbddir ?= $(shell pwd)
include $(kbddir)/../rules.mk

# The following two shortcuts will be redefined, so they can not be
# used in recipes and target specific variables.
. := $(kbddir)
~ := kbd

gzipped-ekmaps := $./amiga.ekmap.gz $./ataritt.ekmap.gz		\
		$./pc105.ekmap.gz	\
		$./sun4.ekmap.gz $./sun5.ekmap.gz

gzipped-ekbds := $./pc105.ekbd.gz

xkbdir ?= $(kbddir)/ckb

$./%.ekmap : model = $(notdir $(@:%.ekmap=%))
$./%.ekmap :
	(cd $(kbddir) && \
		./kbdcompiler $(model) ./KeyboardNames.pl $(xkbdir)) >$@

$./%.ekbd : model = $(notdir $(@:%.ekbd=%))
$./%.ekbd :
	(cd $(kbddir) && \
		./kbdcompiler freebsd-$(model) ./KeyboardNames.pl $(xkbdir)) >$@

$./charmap_functions.sh : $(acmfiles)
	$(kbddir)/make_charmap_functions $(kbddir)/../acm $(charmaps) >$@

acmfiles := $(sort $(wildcard $./../acm/*.acm))

charmaps := $(basename $(notdir $(acmfiles)))

compose_files := $(addprefix $./compose.,$(addsuffix .inc, $(charmaps)))
dkey_files := $(addprefix $./dkey.,$(addsuffix .inc, $(charmaps)))

$(compose_files): charmap = $(patsubst compose.%.inc,%, $(notdir $@))
$(dkey_files): charmap = $(patsubst dkey.%.inc,%, $(notdir $@))
$(compose_files) $(dkey_files): acmfile = $(kbddir)/../acm/$(charmap).acm

VISCII-XCOMPOSE := $./locale/vi_VN.viscii/Compose
ISO-8859-1-XCOMPOSE := $./locale/iso8859-1/Compose
ISO-8859-2-XCOMPOSE := $./locale/iso8859-2/Compose
ISO-8859-3-XCOMPOSE := $./locale/iso8859-3/Compose
ISO-8859-4-XCOMPOSE := $./locale/iso8859-4/Compose
ISO-8859-7-XCOMPOSE := $./locale/iso8859-7/Compose
ISO-8859-9-XCOMPOSE := $./locale/iso8859-9/Compose
ISO-8859-13-XCOMPOSE := $./locale/iso8859-13/Compose
ISO-8859-14-XCOMPOSE := $./locale/iso8859-14/Compose
ISO-8859-15-XCOMPOSE := $./locale/iso8859-15/Compose
KOI8-R-XCOMPOSE := $./locale/koi8-c/Compose
KOI8-U-XCOMPOSE := $./locale/koi8-c/Compose

$(compose_files) :
	echo '# Compose sequences for $(charmap)' >$@
	$(if $($(charmap)-XCOMPOSE), \
		$(kbddir)/compose_translator --acm $(acmfile) \
			$($(charmap)-XCOMPOSE) >>$@)

$(dkey_files) : $(kbddir)/dkey_sequences
	$(kbddir)/dkey_bsd $(acmfile) $(kbddir)/dkey_sequences >$@

build-common .PHONY : compose-files dkey-files
compose-files : $(compose_files)
dkey-files : $(dkey_files)
build-mini-linux : gzipped-ekmaps $./charmap_functions.sh
.PHONY : gzipped-ekmaps
gzipped-ekmaps : $(gzipped-ekmaps)
build-mini-freebsd : gzipped-ekbds $./charmap_functions.sh
.PHONY : gzipped-ekbds
gzipped-ekbds : $(gzipped-ekbds)

kbdcleanfiles := $(wildcard $./*~ $./*.ekmap $./*.ekbd)			\
		$./linux-keymaps $./freebsd-keymaps $./keymaps		\
		$./ckbcomp.log $./keymaps.dir $./names.list		\
		$./charmap_functions.sh $./compose $(compose_files)	\
		$(dkey_files) $(gzipped-ekmaps) $(gzipped-ekbds)

clean .PHONY : $~clean
$~clean:
	-rm -rf $(kbdcleanfiles)

maintainer-clean .PHONY : $~maintainer-clean
$~maintainer-clean: $~clean
	cd $(kbddir) && ./xmlreader >KeyboardNames.pl

$./KeyboardNames.pl:
	$(kbddir)/xmlreader $(xkbdir)/rules/base.xml >$@