 - Fix up default paths
 - Support env CC
 - Don't build/install libtz.a
 - Don't install man-pages provided by sys-apps/man-pages
 - Move zic, zdump to sbin and tzselect to bin ala glibc
 - Install posix zoneinfo into zoneinfo/posix/ instead of zoneinfo-posix/ ala glibc
 - Install leaps zoneinfo into zoneinfo/right/ ala glibc

--- a/Makefile
+++ b/Makefile
@@ -45,21 +45,21 @@
 
 # Everything gets put in subdirectories of. . .
 
-TOPDIR=		/usr/local
+TOPDIR=		/usr
 
 # "Compiled" time zone information is placed in the "TZDIR" directory
 # (and subdirectories).
 # Use an absolute path name for TZDIR unless you're just testing the software.
 
 TZDIR_BASENAME=	zoneinfo
-TZDIR=		$(TOPDIR)/etc/$(TZDIR_BASENAME)
+TZDIR=		$(TOPDIR)/share/$(TZDIR_BASENAME)
 
 # Types to try, as an alternative to time_t.  int64_t should be first.
 TIME_T_ALTERNATIVES= int64_t int32_t uint32_t uint64_t
 
 # The "tzselect", "zic", and "zdump" commands get installed in. . .
 
-ETCDIR=		$(TOPDIR)/etc
+SBINDIR=		$(TOPDIR)/sbin
 
 # If you "make INSTALL", the "date" command gets installed in. . .
 
@@ -67,7 +67,7 @@
 
 # Manual pages go in subdirectories of. . .
 
-MANDIR=		$(TOPDIR)/man
+MANDIR=		$(TOPDIR)/share/man
 
 # Library functions are put in an archive in LIBDIR.
 
@@ -294,8 +294,10 @@
 
 ###############################################################################
 
-cc=		cc
-CC=		$(cc) -DTZDIR=\"$(TZDIR)\"
+CC+=		-DTZDIR=\"$(TZDIR)\"
+ifeq ($(NLS),1)
+CC+= -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\"
+endif
 
 TZCSRCS=	zic.c localtime.c asctime.c scheck.c ialloc.c
 TZCOBJS=	zic.o localtime.o asctime.o scheck.o ialloc.o
@@ -338,14 +340,16 @@
 
 ALL:		all date
 
-install:	all $(DATA) $(REDO) $(DESTDIR)$(TZLIB) $(MANS)
+install:	all $(DATA) $(REDO) $(MANS)
 		$(ZIC) -y $(YEARISTYPE) \
 			-d $(DESTDIR)$(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES)
 		-rm -f $(DESTDIR)$(TZDIR)/iso3166.tab \
 			$(DESTDIR)$(TZDIR)/zone.tab
 		cp iso3166.tab zone.tab $(DESTDIR)$(TZDIR)/.
-		-mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(ETCDIR)
-		cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
+		-mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(SBINDIR)
+		cp zic zdump $(DESTDIR)$(SBINDIR)/.
+		-mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(BINDIR)
+		cp tzselect $(DESTDIR)$(BINDIR)/.
 		-mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(MANDIR) \
 			$(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
 			$(DESTDIR)$(MANDIR)/man8
@@ -356,8 +360,6 @@
 			$(DESTDIR)$(MANDIR)/man8/zdump.8 \
 			$(DESTDIR)$(MANDIR)/man8/zic.8
 		cp newctime.3 newtzset.3 $(DESTDIR)$(MANDIR)/man3/.
-		cp tzfile.5 $(DESTDIR)$(MANDIR)/man5/.
-		cp tzselect.8 zdump.8 zic.8 $(DESTDIR)$(MANDIR)/man8/.
 
 INSTALL:	ALL install date.1
 		-mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(BINDIR)
@@ -405,17 +407,17 @@
 right_posix:	right_only leapseconds
 		rm -fr $(DESTDIR)$(TZDIR)-leaps
-		ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \
+		ln -s . $(DESTDIR)$(TZDIR)/right || \
-		  $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
+		  $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)/right \
 			-L leapseconds $(TDATA)
-		$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
+		$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)/posix \
 			-L /dev/null $(TDATA)
 
 posix_right:	posix_only leapseconds
 		rm -fr $(DESTDIR)$(TZDIR)-posix
-		ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \
+		ln -s . $(DESTDIR)$(TZDIR)/posix || \
-		  $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
+		  $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)/posix \
 			-L /dev/null $(TDATA)
-		$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
+		$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)/right \
 			-L leapseconds $(TDATA)
 
 zones:		$(REDO)
@@ -442,7 +442,7 @@
 			<$? >$@
 		chmod +x $@
 
-check:		check_character_set check_tables check_web
+check:		check_character_set check_tables
 
 check_character_set: $(ENCHILADA)
 		sharp='#'; ! grep -n $(INVALID_CHAR) $(ENCHILADA)
