1254225Speter#	$Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $
219304Speter
3254225SpeterCAT=	dutch english french german polish ru_RU.KOI8-R spanish swedish \
4254225Speter	uk_UA.KOI8-U zh_CN.GB2312
5254225SpeterFILES=	../cl/*.c ../common/*.c ../ex/*.c ../vi/*.c
619304Speter
719304Speterall: dump ${CAT}
819304Speter
919304Speter${CAT}: english.base
1019304Speter	@echo "... $@";							\
1119304Speter	rm -f $@;							\
1219304Speter	sort -u $@.base |						\
1319304Speter	awk '{								\
1419304Speter		if ($$1 == 1) {						\
1519304Speter			print "\nMESSAGE NUMBER 1 IS NOT LEGAL";	\
1619304Speter			exit 1;						\
1719304Speter		}							\
1819304Speter		if (++nline > $$1) {					\
1919304Speter			print "DUPLICATE MESSAGE NUMBER " $$1;		\
2019304Speter			exit 1;						\
2119304Speter		}							\
2219304Speter		print $0;						\
2319304Speter	}' |								\
24254225Speter	sed -e '1s/^/$$set 1~$$quote "~/; 1y/~/\n/' |			\
25254225Speter	gencat $@ /dev/stdin;						\
2619304Speter	chmod 444 $@;							\
2719304Speter	if grep DUPLICATE $@ > /dev/null; then				\
2819304Speter		grep DUPLICATE $@;					\
2919304Speter	fi;								\
3019304Speter	if grep 'NOT LEGAL' $@ > /dev/null; then			\
3119304Speter		grep 'NOT LEGAL' $@;					\
3219304Speter	fi
3319304Speter
3419304SpeterCHK=	dutch.check english.check french.check german.check \
35254225Speter	polish.check ru_RU.KOI8-R.check spanish.check swedish.check \
36254225Speter	uk_UA.KOI8-U.check zh_CN.GB2312.check
3719304Spetercheck: ${CHK}
3819304Speter${CHK}: ${CAT}
3919304Speter	@echo "... $@";							\
4019304Speter	f=`basename $@ .check`;						\
4119304Speter	(echo "Unused message id's (this is okay):";			\
4219304Speter	awk '{								\
4319304Speter		while (++nline < $$1)					\
4419304Speter			printf "%03d\n", nline;				\
4519304Speter	}' < $$f.base;							\
4619304Speter	echo =========================;					\
4719304Speter	echo "MISSING ERROR MESSAGES (Please add!):";			\
4819304Speter	awk '{print $$1}' < $$f.base | sort -u > __ck1;			\
4919304Speter	awk '{print $$1}' < english.base | sort -u > __ck2;		\
5019304Speter	comm -13 __ck1 __ck2;						\
5119304Speter	echo =========================;					\
5219304Speter	echo "Extra error messages (just delete them):";		\
5319304Speter	comm -23 __ck1 __ck2;						\
5419304Speter	echo =========================;					\
5519304Speter	echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):";		\
5619304Speter	for j in							\
5719304Speter	    `sed '/^$$/d' < $$f.base | sort -u |			\
5819304Speter	    awk '{print $$1}' | uniq -d`; do				\
5919304Speter		egrep $$j $$f.base;					\
6019304Speter	done;								\
6119304Speter	echo =========================;					\
6219304Speter	echo "Duplicate messages, both id and message (this is okay):";	\
6319304Speter	sed '/^$$/d' < $$f.base | sort | uniq -c |			\
6419304Speter	awk '$$1 != 1 { print $$0 }' | sort -n;				\
6519304Speter	echo =========================) > $@
6619304Speter
6719304Speterenglish.base: dump ${FILES} #Makefile
6819304Speter	./dump ${FILES} |\
6919304Speter	sed -e '/|/!d' \
7019304Speter	    -e 's/|/ "/' \
71254225Speter	    -e 's/^"//' |\
72254225Speter	sort -nu > $@
7319304Speter
7419304Speterdump: dump.c
7519304Speter	${CC} -O -o dump dump.c
7619304Speter
7719304Speterclean:
7819304Speter	rm -f dump dump.o ${CAT} english.base *.check __ck1 __ck2
79