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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
maindir ?= $(shell pwd)
kbddir := $(maindir)/Keyboard
fntdir := $(maindir)/Fonts
include rules.mk
include Keyboard/Makefile
include Fonts/Makefile
# The following two shortcuts will be redefined, so they can not be
# used in recipes and target specific variables.
. := $(maindir)
~ := main
prefix := /usr/local
# etcdir must be either /etc or
etcdir := $(prefix)/etc
bootprefix := $(patsubst %/usr,%/,$(prefix:%/=%))
mandir := $(prefix)/share/man
acmfiles := $(wildcard $./acm/*.acm)
gzipped_acmfiles := $(addsuffix .gz, $(acmfiles))
gzipped-acmfiles : $(gzipped_acmfiles)
build-common: gzipped-acmfiles
.PHONY: install-common
install-common: build-common
install -d $(bootprefix)/bin/
install setupcon $(bootprefix)/bin/
install -d $(etcdir)/default
install -m 644 config/keyboard $(etcdir)/default/
install -m 644 config/console-setup $(etcdir)/default/
install -d $(mandir)/man1/
install -m 644 man/setupcon.1 $(mandir)/man1/
install -d $(mandir)/man5/
install -m 644 man/keyboard.5 $(mandir)/man5/
install -m 644 man/console-setup.5 $(mandir)/man5/
.PHONY: install-common-linux
install-common-linux: build-linux
install -d $(prefix)/share/consolefonts/
install -m 644 Fonts/*.psf.gz $(prefix)/share/consolefonts/
install -d $(prefix)/share/consoletrans
install -m 644 acm/*.acm.gz $(prefix)/share/consoletrans/
install -d $(etcdir)/console-setup
install -m 644 Keyboard/compose.*.inc $(etcdir)/console-setup/
install -m 644 Keyboard/remap.inc $(etcdir)/console-setup/
.PHONY: install-common-freebsd
install-common-freebsd: build-freebsd
install -d $(prefix)/share/syscons/fonts/
install -m 644 Fonts/*.fnt $(prefix)/share/syscons/fonts/
install -d $(prefix)/share/syscons/scrnmaps/
install -m 644 Fonts/*.scm $(prefix)/share/syscons/scrnmaps/
install -d $(prefix)/share/consoletrans
install -m 644 acm/*.acm $(prefix)/share/consoletrans/
install -d $(etcdir)/console-setup
install -m 644 Fonts/terminfo $(etcdir)/console-setup/
install -m 644 Fonts/termcap $(etcdir)/console-setup/
install -m 644 Keyboard/dkey.*.inc $(etcdir)/console-setup/
install -m 644 Keyboard/remap.inc $(etcdir)/console-setup/
.PHONY: install-ckbcomp
install-ckbcomp:
if [ -z "$(xkbdir)" ]; then \
mkdir -p $(etcdir)/console-setup \
&& cp -r Keyboard/ckb/ $(etcdir)/console-setup/ckb; \
fi
install -d $(prefix)/bin/
install -m 755 Keyboard/ckbcomp $(prefix)/bin/
install -d $(mandir)/man1/
install -m 644 man/ckbcomp.1 $(mandir)/man1/
.PHONY : install-ckbcomp-mini
install-ckbcomp-mini: build-mini-linux build-mini-freebsd
install -d $(prefix)/share/console-setup/
-install -m 644 Keyboard/*.ekmap.gz $(prefix)/share/console-setup/
-install -m 644 Keyboard/*.ekbd.gz $(prefix)/share/console-setup/
install -m 644 Keyboard/charmap_functions.sh $(prefix)/share/console-setup/
install -d $(prefix)/bin/
install -m 755 Keyboard/ckbcomp-mini $(prefix)/bin/
ln -s ckbcomp-mini $(prefix)/bin/ckbcomp
install -d $(mandir)/man1/
install -m 644 man/ckbcomp.1 $(mandir)/man1/
ln -s ckbcomp.1 $(mandir)/man1/ckbcomp-mini.1
.PHONY: install-linux
install-linux: install-common install-common-linux install-ckbcomp
.PHONY: install-freebsd
install-freebsd: install-common install-common-freebsd install-ckbcomp
.PHONY : install-mini-linux
install-mini-linux: install-common install-common-linux install-ckbcomp-mini
.PHONY : install-mini-freebsd
install-mini-freebsd: install-common install-common-freebsd install-ckbcomp-mini
common-uninstall: | build-linux build-mini-linux build-freebsd build-mini-freebsd
-for font in Fonts/*.psf.gz; do \
rm $(prefix)/share/consolefonts/$${font##*/}; \
done
-for acm in acm/*.acm.gz acm/*.acm; do \
rm $(prefix)/share/consoletrans/$${acm##*/}; \
done
-for font in Fonts/*.fnt; do \
rm $(prefix)/share/syscons/fonts/$${font##*/}; \
done
-for scm in Fonts/*.scm; do \
rm $(prefix)/share/syscons/scrnmaps/$${scm##*/}; \
done
-rm -r $(prefix)/share/console-setup/
-rm $(prefix)/share/man/man1/ckbcomp.1
-rm $(prefix)/share/man/man1/setupcon.1
-rm $(prefix)/share/man/man5/keyboard.5
-rm $(prefix)/share/man/man5/console-setup.5
-rm -r $(etcdir)/console-setup/
-rm $(etcdir)/default/keyboard
-rm $(etcdir)/default/console-setup
-rm $(prefix)/bin/ckbcomp
-rm $(bootprefix)/bin/setupcon
.PHONY: uninstall-linux
uninstall-linux: build-linux common-uninstall
.PHONY: uninstall-mini-linux
uninstall-mini-linux: build-mini-linux common-uninstall
.PHONY: uninstall-freebsd
uninstall-freebsd: build-freebsd common-uninstall
.PHONY: uninstall-mini-freebsd
uninstall-mini-freebsd: build-mini-freebsd common-uninstall
%.txt : %
groff -mandoc -Tascii $< | col -bx >$@
txtmanpages := $./man/bdf2psf.1.txt $./man/console-setup.5.txt \
$./man/setupcon.1.txt $./man/ckbcomp.1.txt $./man/keyboard.5.txt
clean .PHONY : $~clean
$~clean:
-rm -f $(maindir)/acm/*.acm.gz
-rm -f $(maindir)/*~
maintainer-clean .PHONY : $~maintainer-clean
$~maintainer-clean: $~clean
-rm -f $(txtmanpages)
$(MAKE) $(txtmanpages)
|