171143Sjhb# $FreeBSD$
271143Sjhb
3211725Simp.if ${MACHINE_CPUARCH} != "ia64"
4121890Smarcel_wizard=	wizard.c
5121890Smarcel.endif
6121890Smarcel
78097SjkhPROG=	sysinstall
874816SruMAN=	sysinstall.8
987165SmatusitaSRCS=	anonFTP.c cdrom.c command.c config.c devices.c dhcp.c \
1038947Sjkh	disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \
11248313Sdteske	ftp.c globals.c http.c httpdirect.c index.c install.c \
12248313Sdteske	installUpgrade.c keymap.c label.c main.c makedevs.c media.c menus.c \
13248313Sdteske	misc.c modules.c mouse.c msg.c network.c nfs.c options.c package.c \
14194931Scperciva	system.c tcpip.c termcap.c ttys.c ufs.c usb.c user.c \
15156118Sjhb	variable.c ${_wizard} keymap.h countries.h
168097Sjkh
17209359SrandiCFLAGS+= -DUSE_GZIP=1 
1861277Snyan.if ${MACHINE} == "pc98"
1961277SnyanCFLAGS+= -DPC98
2061277Snyan.endif
21217309SnwhitehornCFLAGS+= -I${.CURDIR}/../../gnu/lib/libodialog -I.
228792Sjkh
23209069SrandiWARNS?=  2	
24201390Sed
25217309SnwhitehornDPADD=	${LIBODIALOG} ${LIBNCURSES} ${LIBUTIL} ${LIBDISK} ${LIBFTPIO}
26217309SnwhitehornLDADD=	-lodialog -lncurses -lutil -ldisk -lftpio
2748625Shosokawa
2893324SruCLEANFILES=	makedevs.c rtermcap
29156118SjhbCLEANFILES+=	keymap.tmp keymap.h countries.tmp countries.h
3080029Sobrien
31139136Sru.if exists(${.CURDIR}/../../share/termcap/termcap.src)
32139136SruRTERMCAP=	TERMCAP=${.CURDIR}/../../share/termcap/termcap.src ./rtermcap
33139136Sru.else
34139136SruRTERMCAP=	./rtermcap
35139136Sru.endif
36139136Sru
3771143Sjhbmakedevs.c:	Makefile rtermcap
3892322Sru	echo '#include <sys/types.h>' > makedevs.c
39139136Sru	${RTERMCAP} ansi | \
4027798Sjkh		file2c 'const char termcap_ansi[] = {' ',0};' \
4192322Sru		>> makedevs.c
42139136Sru	${RTERMCAP} cons25w | \
4361277Snyan		file2c 'const char termcap_cons25w[] = {' ',0};' \
4492322Sru		>> makedevs.c
45139136Sru	${RTERMCAP} cons25 | \
468097Sjkh		file2c 'const char termcap_cons25[] = {' ',0};' \
4792322Sru		>> makedevs.c
48139136Sru	${RTERMCAP} cons25-m | \
498097Sjkh		file2c 'const char termcap_cons25_m[] = {' ',0};' \
5092322Sru		>> makedevs.c
51139136Sru	${RTERMCAP} cons25r | \
528278Sjkh		file2c 'const char termcap_cons25r[] = {' ',0};' \
5392322Sru		>> makedevs.c
54139136Sru	${RTERMCAP} cons25r-m | \
558278Sjkh		file2c 'const char termcap_cons25r_m[] = {' ',0};' \
5692322Sru		>> makedevs.c
57139136Sru	${RTERMCAP} cons25l1 | \
588302Sjkh		file2c 'const char termcap_cons25l1[] = {' ',0};' \
5992322Sru		>> makedevs.c
60139136Sru	${RTERMCAP} cons25l1-m | \
618278Sjkh		file2c 'const char termcap_cons25l1_m[] = {' ',0};' \
6292322Sru		>> makedevs.c
63139136Sru	${RTERMCAP} vt100 | \
648097Sjkh		file2c 'const char termcap_vt100[] = {' ',0};' \
6592322Sru		>> makedevs.c
66139136Sru	${RTERMCAP} xterm | \
6763737Sjkh		file2c 'const char termcap_xterm[] = {' ',0};' \
6892322Sru		>> makedevs.c
6992323Sru
7071238Speterbuild-tools:	rtermcap
7171238Speter
7271143Sjhbrtermcap:	rtermcap.c
7371143Sjhb	${CC} -o ${.TARGET} ${.ALLSRC} -ltermcap
748097Sjkh
7578382Snyan.if ${MACHINE} == "pc98"
7678382SnyanKEYMAPS= jp.pc98 jp.pc98.iso
7778382Snyan.else
7887600SroamKEYMAPS= be.iso bg.bds.ctrlcaps bg.phonetic.ctrlcaps br275.iso \
79143832Smurray	ce.iso2 cs.latin2.qwertz danish.iso el.iso07 \
80143832Smurray	estonian.cp850 estonian.iso estonian.iso15 finnish.iso fr.iso \
81122925Sjhb	german.iso gr.elot.acc gr.us101.acc  hr.iso hu.iso2.101keys \
82210255Sgabor	it.iso icelandic.iso jp.106 latinamerican latinamerican.iso.acc \
83210255Sgabor	norwegian.iso pl_PL.ISO8859-2 \
84210255Sgabor	pt.iso ru.koi8-r si.iso sk.iso2 spanish.iso spanish.iso.acc swedish.iso \
85143832Smurray	swissfrench.iso \
86122925Sjhb	swissgerman.iso ua.koi8-u ua.koi8-u.shift.alt uk.iso us.dvorak \
87122925Sjhb	us.iso us.pc-ctrl us.unix
8878382Snyan.endif
8919573Sjoerg
9019586Sjkhkeymap.h:
9119573Sjoerg	rm -f keymap.tmp
9219573Sjoerg	for map in ${KEYMAPS} ; do \
9376644Simp		KEYMAP_PATH=${.CURDIR}/../../share/syscons/keymaps \
9476503Ssobomax			kbdcontrol -L $$map | \
9532823Syokota			sed -e '/^static accentmap_t/,$$d' >> keymap.tmp ; \
9619573Sjoerg	done
9719573Sjoerg	echo "static struct keymapInfo keymapInfos[] = {" >> keymap.tmp
9819573Sjoerg	for map in ${KEYMAPS} ; do \
9919573Sjoerg		echo -n '	{ "'$$map'", ' >> keymap.tmp ; \
10019573Sjoerg		echo "&keymap_$$map }," | tr '[-.]' '_' >> keymap.tmp ; \
10119573Sjoerg	done
102156123Sjhb	( echo "	{ NULL, NULL }"; echo "};" ; echo "" ) >> keymap.tmp
10319573Sjoerg	mv keymap.tmp keymap.h
10419573Sjoerg
105156118Sjhbcountries.h: ${.CURDIR}/../../share/misc/iso3166
106156118Sjhb	rm -f countries.tmp
107156118Sjhb	awk 'BEGIN { \
108156118Sjhb	    FS = "\t"; \
109156118Sjhb	    num = 1; \
110156118Sjhb	    print "DMenu MenuCountry = {"; \
111156118Sjhb	    print "    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,"; \
112156118Sjhb	    print "    \"Country Selection\","; \
113156118Sjhb	    print "    \"Please choose a country, region, or group.\\n\""; \
114156118Sjhb	    print "    \"Select an item using [SPACE] or [ENTER].\","; \
115156118Sjhb	    printf "    NULL,\n    NULL,\n    { "; \
116156118Sjhb	} \
117156118Sjhb	/^[[:space:]]*#/ {next;} \
118156118Sjhb	{if (num > 1) {printf "      ";} \
119156118Sjhb	    print "{ \"" num "\", \"" $$4 "\"" \
120156118Sjhb	    ", dmenuVarCheck, dmenuSetCountryVariable" \
121156118Sjhb	    ", NULL, VAR_COUNTRY \"=" tolower($$1) "\" },"; \
122156118Sjhb	    ++num;} \
123156118Sjhb	END {print "      { NULL } }\n};\n";}' < ${.ALLSRC} > countries.tmp
124156118Sjhb	mv countries.tmp ${.TARGET}
125156118Sjhb
1268097Sjkh.include <bsd.prog.mk>
127