]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - usr.sbin/sysinstall/Makefile
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / usr.sbin / sysinstall / Makefile
1 # $FreeBSD$
2
3 .if ${MACHINE_CPUARCH} != "ia64"
4 _wizard=        wizard.c
5 .endif
6
7 PROG=   sysinstall
8 MAN=    sysinstall.8
9 SRCS=   anonFTP.c cdrom.c command.c config.c devices.c dhcp.c \
10         disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \
11         ftp.c globals.c http.c httpdirect.c index.c install.c \
12         installUpgrade.c keymap.c label.c main.c makedevs.c media.c menus.c \
13         misc.c modules.c mouse.c msg.c network.c nfs.c options.c package.c \
14         system.c tcpip.c termcap.c ttys.c ufs.c usb.c user.c \
15         variable.c ${_wizard} keymap.h countries.h
16
17 CFLAGS+= -DUSE_GZIP=1 
18 .if ${MACHINE} == "pc98"
19 CFLAGS+= -DPC98
20 .endif
21 CFLAGS+= -I${.CURDIR}/../../gnu/lib/libodialog -I.
22
23 WARNS?=  2      
24
25 DPADD=  ${LIBODIALOG} ${LIBNCURSES} ${LIBUTIL} ${LIBDISK} ${LIBFTPIO}
26 LDADD=  -lodialog -lncurses -lutil -ldisk -lftpio
27
28 CLEANFILES=     makedevs.c rtermcap
29 CLEANFILES+=    keymap.tmp keymap.h countries.tmp countries.h
30
31 .if exists(${.CURDIR}/../../share/termcap/termcap.src)
32 RTERMCAP=       TERMCAP=${.CURDIR}/../../share/termcap/termcap.src ./rtermcap
33 .else
34 RTERMCAP=       ./rtermcap
35 .endif
36
37 makedevs.c:     Makefile rtermcap
38         echo '#include <sys/types.h>' > makedevs.c
39         ${RTERMCAP} ansi | \
40                 file2c 'const char termcap_ansi[] = {' ',0};' \
41                 >> makedevs.c
42         ${RTERMCAP} cons25w | \
43                 file2c 'const char termcap_cons25w[] = {' ',0};' \
44                 >> makedevs.c
45         ${RTERMCAP} cons25 | \
46                 file2c 'const char termcap_cons25[] = {' ',0};' \
47                 >> makedevs.c
48         ${RTERMCAP} cons25-m | \
49                 file2c 'const char termcap_cons25_m[] = {' ',0};' \
50                 >> makedevs.c
51         ${RTERMCAP} cons25r | \
52                 file2c 'const char termcap_cons25r[] = {' ',0};' \
53                 >> makedevs.c
54         ${RTERMCAP} cons25r-m | \
55                 file2c 'const char termcap_cons25r_m[] = {' ',0};' \
56                 >> makedevs.c
57         ${RTERMCAP} cons25l1 | \
58                 file2c 'const char termcap_cons25l1[] = {' ',0};' \
59                 >> makedevs.c
60         ${RTERMCAP} cons25l1-m | \
61                 file2c 'const char termcap_cons25l1_m[] = {' ',0};' \
62                 >> makedevs.c
63         ${RTERMCAP} vt100 | \
64                 file2c 'const char termcap_vt100[] = {' ',0};' \
65                 >> makedevs.c
66         ${RTERMCAP} xterm | \
67                 file2c 'const char termcap_xterm[] = {' ',0};' \
68                 >> makedevs.c
69
70 build-tools:    rtermcap
71
72 rtermcap:       rtermcap.c
73         ${CC} -o ${.TARGET} ${.ALLSRC} -ltermcap
74
75 .if ${MACHINE} == "pc98"
76 KEYMAPS= jp.pc98 jp.pc98.iso
77 .else
78 KEYMAPS= be.iso bg.bds.ctrlcaps bg.phonetic.ctrlcaps br275.iso \
79         ce.iso2 cs.latin2.qwertz danish.iso el.iso07 \
80         estonian.cp850 estonian.iso estonian.iso15 finnish.iso fr.iso \
81         german.iso gr.elot.acc gr.us101.acc  hr.iso hu.iso2.101keys \
82         it.iso icelandic.iso jp.106 latinamerican latinamerican.iso.acc \
83         norwegian.iso pl_PL.ISO8859-2 \
84         pt.iso ru.koi8-r si.iso sk.iso2 spanish.iso spanish.iso.acc swedish.iso \
85         swissfrench.iso \
86         swissgerman.iso ua.koi8-u ua.koi8-u.shift.alt uk.iso us.dvorak \
87         us.iso us.pc-ctrl us.unix
88 .endif
89
90 keymap.h:
91         rm -f keymap.tmp
92         for map in ${KEYMAPS} ; do \
93                 KEYMAP_PATH=${.CURDIR}/../../share/syscons/keymaps \
94                         kbdcontrol -L $$map | \
95                         sed -e '/^static accentmap_t/,$$d' >> keymap.tmp ; \
96         done
97         echo "static struct keymapInfo keymapInfos[] = {" >> keymap.tmp
98         for map in ${KEYMAPS} ; do \
99                 echo -n '       { "'$$map'", ' >> keymap.tmp ; \
100                 echo "&keymap_$$map }," | tr '[-.]' '_' >> keymap.tmp ; \
101         done
102         ( echo "        { NULL, NULL }"; echo "};" ; echo "" ) >> keymap.tmp
103         mv keymap.tmp keymap.h
104
105 countries.h: ${.CURDIR}/../../share/misc/iso3166
106         rm -f countries.tmp
107         awk 'BEGIN { \
108             FS = "\t"; \
109             num = 1; \
110             print "DMenu MenuCountry = {"; \
111             print "    DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,"; \
112             print "    \"Country Selection\","; \
113             print "    \"Please choose a country, region, or group.\\n\""; \
114             print "    \"Select an item using [SPACE] or [ENTER].\","; \
115             printf "    NULL,\n    NULL,\n    { "; \
116         } \
117         /^[[:space:]]*#/ {next;} \
118         {if (num > 1) {printf "      ";} \
119             print "{ \"" num "\", \"" $$4 "\"" \
120             ", dmenuVarCheck, dmenuSetCountryVariable" \
121             ", NULL, VAR_COUNTRY \"=" tolower($$1) "\" },"; \
122             ++num;} \
123         END {print "      { NULL } }\n};\n";}' < ${.ALLSRC} > countries.tmp
124         mv countries.tmp ${.TARGET}
125
126 .include <bsd.prog.mk>