Use symbolic links to deduplicate installed files.

* Makefile (TZDIR_BASENAME): New macro.
(TZDIR): Use it.
(other_two): Remove.
(right_posix, posix_right): Use a symbolic link if supported.
This saves about 2 megabytes' worth of installed files.
This commit is contained in:
Paul Eggert
2013-08-11 10:14:18 -07:00
parent 5903db75e5
commit 4e5dbe1bbf
+13 -6
View File
@@ -51,7 +51,8 @@ TOPDIR= /usr/local
# (and subdirectories).
# Use an absolute path name for TZDIR unless you're just testing the software.
TZDIR= $(TOPDIR)/etc/zoneinfo
TZDIR_BASENAME= zoneinfo
TZDIR= $(TOPDIR)/etc/$(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
@@ -390,15 +391,21 @@ right_only: zic leapseconds $(TDATA)
# Therefore, the other two directories are now siblings of $(TZDIR).
# You must replace all of $(TZDIR) to switch from not using leap seconds
# to using them, or vice versa.
other_two: zic leapseconds $(TDATA)
right_posix: right_only
rm -fr $(TZDIR)-leaps
ln -s $(TZDIR_BASENAME) $(TZDIR)-leaps || \
$(ZIC) -y $(YEARISTYPE) \
-d $(TZDIR)-leaps -L leapseconds $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(TZDIR)-posix -L /dev/null $(TDATA)
posix_right: posix_only
rm -fr $(TZDIR)-posix
ln -s $(TZDIR_BASENAME) $(TZDIR)-posix || \
$(ZIC) -y $(YEARISTYPE) \
-d $(TZDIR)-posix -L /dev/null $(TDATA)
$(ZIC) -y $(YEARISTYPE) \
-d $(TZDIR)-leaps -L leapseconds $(TDATA)
posix_right: posix_only other_two
right_posix: right_only other_two
zones: $(REDO)
$(TZLIB): $(LIBOBJS)