0aeeea8f00
by syscons. - If we are running as init, popup the country menu before the main menu. If a non-default country is chosen, then a second menu is brought up to let the user choose a keymap. By default the default keymap for the country that was selected is highlighted. If the user chooses the default country, then the default keymap is just assumed and the user is not presented with the keymap menu. Currently the default country is set to "United States" except for PC98 which assumes "Japan". PR: bin/93853 Submitted by: Seth Kingsley sethk at magnesium dot net MFC after: 3 days
124 lines
3.8 KiB
Makefile
124 lines
3.8 KiB
Makefile
# $FreeBSD$
|
|
|
|
.if ${MACHINE_ARCH} != "ia64"
|
|
_wizard= wizard.c
|
|
.endif
|
|
|
|
PROG= sysinstall
|
|
MAN= sysinstall.8
|
|
SRCS= anonFTP.c cdrom.c command.c config.c devices.c dhcp.c \
|
|
disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \
|
|
ftp.c globals.c http.c index.c install.c installUpgrade.c keymap.c \
|
|
label.c main.c makedevs.c media.c menus.c misc.c modules.c \
|
|
mouse.c msg.c network.c nfs.c options.c package.c \
|
|
system.c tape.c tcpip.c termcap.c ttys.c ufs.c user.c \
|
|
variable.c ${_wizard} keymap.h countries.h
|
|
|
|
CFLAGS+= -DUSE_GZIP=1
|
|
.if ${MACHINE} == "pc98"
|
|
CFLAGS+= -DPC98
|
|
.endif
|
|
CFLAGS+= -I${.CURDIR}/../../gnu/lib/libdialog -I.
|
|
|
|
DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBUTIL} ${LIBDISK} ${LIBFTPIO}
|
|
LDADD= -ldialog -lncurses -lutil -ldisk -lftpio
|
|
|
|
CLEANFILES= makedevs.c rtermcap
|
|
CLEANFILES+= keymap.tmp keymap.h countries.tmp countries.h
|
|
|
|
.if exists(${.CURDIR}/../../share/termcap/termcap.src)
|
|
RTERMCAP= TERMCAP=${.CURDIR}/../../share/termcap/termcap.src ./rtermcap
|
|
.else
|
|
RTERMCAP= ./rtermcap
|
|
.endif
|
|
|
|
makedevs.c: Makefile rtermcap
|
|
echo '#include <sys/types.h>' > makedevs.c
|
|
${RTERMCAP} ansi | \
|
|
file2c 'const char termcap_ansi[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} cons25w | \
|
|
file2c 'const char termcap_cons25w[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} cons25 | \
|
|
file2c 'const char termcap_cons25[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} cons25-m | \
|
|
file2c 'const char termcap_cons25_m[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} cons25r | \
|
|
file2c 'const char termcap_cons25r[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} cons25r-m | \
|
|
file2c 'const char termcap_cons25r_m[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} cons25l1 | \
|
|
file2c 'const char termcap_cons25l1[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} cons25l1-m | \
|
|
file2c 'const char termcap_cons25l1_m[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} vt100 | \
|
|
file2c 'const char termcap_vt100[] = {' ',0};' \
|
|
>> makedevs.c
|
|
${RTERMCAP} xterm | \
|
|
file2c 'const char termcap_xterm[] = {' ',0};' \
|
|
>> makedevs.c
|
|
|
|
build-tools: rtermcap
|
|
|
|
rtermcap: rtermcap.c
|
|
${CC} -o ${.TARGET} ${.ALLSRC} -ltermcap
|
|
|
|
.if ${MACHINE} == "pc98"
|
|
KEYMAPS= jp.pc98 jp.pc98.iso
|
|
.else
|
|
KEYMAPS= be.iso bg.bds.ctrlcaps bg.phonetic.ctrlcaps br275.iso \
|
|
ce.iso2 cs.latin2.qwertz danish.iso el.iso07 \
|
|
estonian.cp850 estonian.iso estonian.iso15 finnish.iso fr.iso \
|
|
german.iso gr.elot.acc gr.us101.acc hr.iso hu.iso2.101keys \
|
|
it.iso icelandic.iso jp.106 norwegian.iso pl_PL.ISO8859-2 \
|
|
pt.iso ru.koi8-r si.iso sk.iso2 spanish.iso swedish.iso \
|
|
swissfrench.iso \
|
|
swissgerman.iso ua.koi8-u ua.koi8-u.shift.alt uk.iso us.dvorak \
|
|
us.iso us.pc-ctrl us.unix
|
|
.endif
|
|
|
|
keymap.h:
|
|
rm -f keymap.tmp
|
|
for map in ${KEYMAPS} ; do \
|
|
KEYMAP_PATH=${.CURDIR}/../../share/syscons/keymaps \
|
|
kbdcontrol -L $$map | \
|
|
sed -e '/^static accentmap_t/,$$d' >> keymap.tmp ; \
|
|
done
|
|
echo "static struct keymapInfo keymapInfos[] = {" >> keymap.tmp
|
|
for map in ${KEYMAPS} ; do \
|
|
echo -n ' { "'$$map'", ' >> keymap.tmp ; \
|
|
echo "&keymap_$$map }," | tr '[-.]' '_' >> keymap.tmp ; \
|
|
done
|
|
( echo " { 0 }"; echo "};" ; echo "" ) >> keymap.tmp
|
|
mv keymap.tmp keymap.h
|
|
|
|
countries.h: ${.CURDIR}/../../share/misc/iso3166
|
|
rm -f countries.tmp
|
|
awk 'BEGIN { \
|
|
FS = "\t"; \
|
|
num = 1; \
|
|
print "DMenu MenuCountry = {"; \
|
|
print " DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,"; \
|
|
print " \"Country Selection\","; \
|
|
print " \"Please choose a country, region, or group.\\n\""; \
|
|
print " \"Select an item using [SPACE] or [ENTER].\","; \
|
|
printf " NULL,\n NULL,\n { "; \
|
|
} \
|
|
/^[[:space:]]*#/ {next;} \
|
|
{if (num > 1) {printf " ";} \
|
|
print "{ \"" num "\", \"" $$4 "\"" \
|
|
", dmenuVarCheck, dmenuSetCountryVariable" \
|
|
", NULL, VAR_COUNTRY \"=" tolower($$1) "\" },"; \
|
|
++num;} \
|
|
END {print " { NULL } }\n};\n";}' < ${.ALLSRC} > countries.tmp
|
|
mv countries.tmp ${.TARGET}
|
|
|
|
.include <bsd.prog.mk>
|