diff --git a/bin/csh/Makefile b/bin/csh/Makefile index 4bc79fd8dc35..ccbdb9316f84 100644 --- a/bin/csh/Makefile +++ b/bin/csh/Makefile @@ -10,7 +10,6 @@ TCSHDIR= ${.CURDIR}/../../contrib/tcsh .PATH: ${TCSHDIR} PROG= csh -SUBDIR= nls DFLAGS= -D_PATH_TCSHELL='"/bin/${PROG}"' CFLAGS+= -I. -I${.CURDIR} -I${TCSHDIR} ${DFLAGS} WARNS= 0 @@ -46,6 +45,34 @@ CLEANFILES= ${GENHDRS} gethost csh.1 FILESDIR= ${SHAREDIR}/examples/tcsh FILES= complete.tcsh csh-mode.el +CATALOGS= et:et_EE.ISO8859-15 \ + finnish:fi_FI.ISO8859-1 \ + french:fr_FR.ISO8859-1 \ + german:de_DE.ISO8859-1 \ + greek:el_GR.ISO8859-7 \ + italian:it_IT.ISO8859-1 \ + ja:ja_JP.eucJP \ + russian:ru_RU.KOI8-R \ + spanish:es_ES.ISO8859-1 \ + ukrainian:uk_UA.KOI8-U + +NLSLINKS_fi_FI.ISO8859-1= fi_FI.ISO8859-15 +NLSLINKS_fr_FR.ISO8859-1= fr_BE.ISO8859-1 fr_BE.ISO8859-15 \ + fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CH.ISO8859-1 \ + fr_CH.ISO8859-15 fr_FR.ISO8859-15 +NLSLINKS_de_DE.ISO8859-1= de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \ + de_CH.ISO8859-15 de_DE.ISO8859-15 +NLSLINKS_it_IT.ISO8859-1= it_CH.ISO8859-1 it_CH.ISO8859-15 it_IT.ISO8859-15 +NLSLINKS_es_ES.ISO8859-1= es_ES.ISO8859-15 + +NLSNAME= tcsh + +.for catalog in ${CATALOGS} +NLS+= ${catalog:C/.*://} +NLSSRCDIR_${catalog:C/.*://}= ${TCSHDIR}/nls/${catalog:C/:.*//} +NLSSRCFILES_${catalog:C/.*://}!= cd ${NLSSRCDIR_${catalog:C/.*://}}; echo set[0-9]* +.endfor + csh.1: tcsh.man ln -sf ${.ALLSRC} ${.TARGET} diff --git a/bin/csh/nls/Makefile b/bin/csh/nls/Makefile deleted file mode 100644 index 54efa4d383e4..000000000000 --- a/bin/csh/nls/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# $FreeBSD$ - -BASESRC= ${.CURDIR}/../../../contrib/tcsh/nls - -CATALOGS= et:et_EE.ISO8859-15 \ - finnish:fi_FI.ISO8859-1 \ - french:fr_FR.ISO8859-1 \ - german:de_DE.ISO8859-1 \ - greek:el_GR.ISO8859-7 \ - italian:it_IT.ISO8859-1 \ - ja:ja_JP.eucJP \ - russian:ru_RU.KOI8-R \ - spanish:es_ES.ISO8859-1 \ - ukrainian:uk_UA.KOI8-U - -NLSLINKS_fi_FI.ISO8859-1= fi_FI.ISO8859-15 -NLSLINKS_fr_FR.ISO8859-1= fr_BE.ISO8859-1 fr_BE.ISO8859-15 \ - fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CH.ISO8859-1 fr_CH.ISO8859-15 \ - fr_FR.ISO8859-15 -NLSLINKS_de_DE.ISO8859-1= de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \ - de_CH.ISO8859-15 de_DE.ISO8859-15 -NLSLINKS_it_IT.ISO8859-1= it_CH.ISO8859-1 it_CH.ISO8859-15 it_IT.ISO8859-15 -NLSLINKS_es_ES.ISO8859-1= es_ES.ISO8859-15 - -NLSNAME= tcsh - -NLSSRCFILES= set[0-9]* - -.for catalog in ${CATALOGS} -NLSSRCDIR_${catalog:C/.*://g}.msg:= ${BASESRC}/${catalog:C/:.*//g} -NLS+=${catalog:C/.*://g}.msg -.endfor - -.include diff --git a/share/mk/bsd.nls.mk b/share/mk/bsd.nls.mk index bbf481b21c5e..34896ccaaf5b 100644 --- a/share/mk/bsd.nls.mk +++ b/share/mk/bsd.nls.mk @@ -1,4 +1,3 @@ -# Based on $NetBSD: bsd.nls.mk,v 1.35 2001/11/28 20:19:08 tv Exp $ # $FreeBSD$ # # This include file handles building and installing Native @@ -21,108 +20,57 @@ # NLSOWN National Language Support files owner. [${SHAREOWN}] # # NO_NLS Do not make or install NLS files. [not set] -# -# +++ targets +++ -# -# install: -# Install compiled NLS files -# -# bsd.obj.mk: cleandir and obj -.include +.if !target(____) +.error bsd.nls.mk cannot be included directly. +.endif GENCAT?= gencat -new -NLSDIR?= ${SHAREDIR}/nls -NLSGRP?= ${SHAREGRP} -NLSMODE?= ${NOBINMODE} -NLSOWN?= ${SHAREOWN} - -NLS?= -NLSLINKS= - .SUFFIXES: .cat .msg .msg.cat: ${GENCAT} ${.TARGET} ${.IMPSRC} +.if defined(NLS) && !empty(NLS) && !defined(NO_NLS) + # # .msg file pre-build rules # +NLSSRCDIR?= ${.CURDIR} .for file in ${NLS} -.if !defined(NLSSRCDIR_${file}) && defined(NLSSRCDIR) -NLSSRCDIR_${file}=${NLSSRCDIR} +.if defined(NLSSRCFILES) +NLSSRCFILES_${file}?= ${NLSSRCFILES} .endif -.if !defined(NLSSRCFILES_${file}) && defined(NLSSRCFILES) -NLSSRCFILES_${file}=${NLSSRCFILES} -.endif - .if defined(NLSSRCFILES_${file}) -${file}: +NLSSRCDIR_${file}?= ${NLSSRCDIR} +${file}.msg: ${NLSSRCFILES_${file}:S/^/${NLSSRCDIR_${file}}\//} @rm -f ${.TARGET} - cat ${NLSSRCDIR_${file}}/${NLSSRCFILES_${file}} > ${.TARGET} -CLEANFILES+= ${file} -.endif - -.if defined(NLSLINKS_${file:C/.msg//g}) && !empty(NLSLINKS_${file:C/.msg//g}) -NLSLINKS+= ${file:C/.msg//g} + cat ${.ALLSRC} > ${.TARGET} +CLEANFILES+= ${file}.msg .endif .endfor # # .cat file build rules # -NLSALL= ${NLS:.msg=.cat} -CLEANFILES+= ${NLSALL} +NLS:= ${NLS:=.cat} +CLEANFILES+= ${NLS} +FILESGROUPS?= FILES +FILESGROUPS+= NLS +NLSDIR?= ${SHAREDIR}/nls # # installation rules # -__nlsinstall: .USE - ${INSTALL} -o ${NLSOWN} -g ${NLSGRP} -m ${NLSMODE} \ - ${.ALLSRC} ${.TARGET} - -.for F in ${NLSALL} -_F:= ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat - -${_F}: ${F} __nlsinstall # install rule -nlsinstall:: ${_F} -.PRECIOUS: ${_F} # keep if install fails -.endfor - -links-nls: -.if defined(NLSLINKS) && !empty(NLSLINKS) -.for src in ${NLSLINKS} -.for dst in ${NLSLINKS_${src}} - ln -fs ../${src}/${NLSNAME}.cat \ - ${DESTDIR}${NLSDIR}/${dst}/${NLSNAME}.cat +.for file in ${NLS} +NLSNAME_${file:T}= ${file:T:R}/${NLSNAME}.cat +.if defined(NLSLINKS_${file:R}) && !empty(NLSLINKS_${file:R}) +NLSLINKS+= ${file:R} +.endif +.for dst in ${NLSLINKS_${file:R}} +SYMLINKS+= ../${file:R}/${NLSNAME}.cat ${NLSDIR}/${dst}/${NLSNAME}.cat .endfor .endfor -.endif -# - -.if !defined(NO_NLS) && !empty(NLS) -all-nls: ${NLSALL} -.else -all-nls: -.endif - -.if !defined(NO_NLS) && !empty(NLS) -realinstall: beforeinstall nlsinstall links-nls -.else -realinstall: beforeinstall -.endif - -all: all-nls -install: realinstall afterinstall - -.if !target(beforeinstall) -beforeinstall: -.endif - -.if !target(afterinstall) -afterinstall: -.endif - -.include +.endif defined(NLS) && !empty(NLS) && !defined(NO_NLS) diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index ad44f1a0da0c..c8dde881dc30 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -145,6 +145,9 @@ _SCRIPTSINS_${script:T}: ${script} .endfor .endif +NLSNAME?= ${PROG} +.include + .include .include .include diff --git a/usr.bin/ee/Makefile b/usr.bin/ee/Makefile index 29f0ae4c7995..8fdc4996fa82 100644 --- a/usr.bin/ee/Makefile +++ b/usr.bin/ee/Makefile @@ -9,7 +9,7 @@ MLINKS= ee.1 ree.1 ee.1 edit.1 DPADD= ${LIBNCURSES} LDADD= -lncurses -LANGS= en_US.US-ASCII fr_FR.ISO8859-1 de_DE.ISO8859-1 pl_PL.ISO8859-2 \ +NLS= en_US.US-ASCII fr_FR.ISO8859-1 de_DE.ISO8859-1 pl_PL.ISO8859-2 \ uk_UA.KOI8-U ru_RU.KOI8-R NLSLINKS_en_US.US-ASCII= en_US.ISO8859-1 en_US.ISO8859-15 @@ -19,14 +19,9 @@ NLSLINKS_fr_FR.ISO8859-1= fr_BE.ISO8859-1 fr_BE.ISO8859-15 \ NLSLINKS_de_DE.ISO8859-1= de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \ de_CH.ISO8859-15 de_DE.ISO8859-15 -NLSNAME=ee - NLSSRCFILES=ee.msg - -.for lang in ${LANGS} -NLSSRCDIR_${lang}.msg=${.CURDIR}/nls/${lang} -NLS+=${lang}.msg +.for lang in ${NLS} +NLSSRCDIR_${lang}= ${.CURDIR}/nls/${lang} .endfor .include -.include