diff options
Diffstat (limited to 'time/Makefile')
-rw-r--r-- | time/Makefile | 181 |
1 files changed, 8 insertions, 173 deletions
diff --git a/time/Makefile b/time/Makefile index 87231d7770..d90dbce8d4 100644 --- a/time/Makefile +++ b/time/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. +# Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -22,179 +22,14 @@ subdir := time headers := time.h sys/time.h sys/timeb.h bits/time.h -distribute := tzfile.h private.h scheck.c ialloc.c yearistype \ - iso3166.tab zone.tab tzselect.ksh checktab.awk \ - README -extra-objs = scheck.o ialloc.o $(tzfiles:%=z.%) -routines := offtime asctime clock ctime ctime_r difftime \ - gmtime localtime mktime strftime time tzset \ - tzfile gettimeofday settimeofday adjtime \ - getitimer setitimer \ - stime dysize timegm ftime \ - strptime getdate strfxtime +routines := offtime asctime clock ctime ctime_r difftime \ + gmtime localtime mktime strftime time \ + gettimeofday settimeofday adjtime tzset \ + tzfile getitimer setitimer \ + stime dysize timegm ftime \ + strptime getdate strfxtime -others := ap zdump zic -tests := test_time clocktest test-tz - -tzbases := africa antarctica asia australasia europe northamerica \ - southamerica etcetera factory systemv \ - solar87 solar88 solar89 -tzlinks := backward -tzfiles := $(tzbases) $(tzlinks) -# pacificnew doesn't compile; if it is to be used, it should be included in -# northamerica. -distribute += $(tzfiles) leapseconds pacificnew simplebackw - -install-sbin := zic zdump - -generated-dirs = testdata - -all: # Make this the default target; it will be defined in Rules. - -include ../Makeconfig # Get objpfx defined so we can use it below. - -# z.* use this variable. -define nl - - -endef -ifneq ($(no_deps),t) --include $(addprefix $(objpfx)z.,$(tzfiles)) -endif - -# Make these absolute file names. -installed-localtime-file := $(firstword $(filter /%,$(inst_localtime-file)) \ - $(addprefix $(inst_zonedir)/, \ - $(localtime-file))) -installed-posixrules-file := $(firstword $(filter /%,$(posixrules-file)) \ - $(addprefix $(inst_zonedir)/, \ - $(posixrules-file))) - -ifeq ($(cross-compiling),no) -# Don't try to install the zoneinfo files since we can't run zic. -install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \ - $(zonenames:%=posix/%) \ - $(zonenames:%=right/%)) \ - $(installed-localtime-file) $(installed-posixrules-file) -endif - -ifeq ($(have-ksh),yes) -install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab -install-bin += tzselect -generated += tzselect -endif +tests := test_time clocktest include ../Rules - - -$(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile -# Kludge alert: we use an implicit rule (in what we are generating here) -# because that is the only way to tell Make that the one command builds all -# the files. -# The extra kludge for the $(tzlinks) files is necessary since running zic -# this file requires all other files to exist. Blech! - (echo 'define $*-zones' ;\ - awk '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\ - echo 'endef' ;\ - echo '$*-zones := $$(subst $$(nl), ,$$($*-zones))' ;\ - echo 'ifdef $*-zones' ;\ - if test x$(findstring $*, $(tzlinks)) != x; then \ - echo '$$(addprefix $$(inst_zonedir)/right/,$$($*-zones)): \';\ - echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/right/,$$($$t-zones)))' ;\ - echo '$$(addprefix $$(inst_zonedir)/posix/,$$($*-zones)): \';\ - echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/posix/,$$($$t-zones)))' ;\ - echo '$$(addprefix $$(inst_zonedir)/,$$($*-zones)): \' ;\ - echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/,$$($$t-zones)))' ;\ - fi ;\ - echo '$$(addprefix $$(inst_datadir)/zone%/right/,$$($*-zones)): \' ;\ - echo '$< $$(objpfx)zic leapseconds yearistype' ;\ - echo ' $$(tzcompile)' ;\ - echo '$$(addprefix $$(inst_datadir)/zone%/posix/,$$($*-zones)): \' ;\ - echo '$< $$(objpfx)zic /dev/null yearistype' ;\ - echo ' $$(tzcompile)' ;\ - echo '$$(addprefix $$(inst_datadir)/zone%/,$$($*-zones)): \' ;\ - echo '$< $$(objpfx)zic $$(leapseconds) yearistype' ;\ - echo ' $$(tzcompile)' ;\ - echo 'endif' ;\ - echo 'zonenames := $$(zonenames) $$($*-zones)' ;\ - ) > $@.new - mv $@.new $@ - -.PHONY: echo-zonenames -echo-zonenames: - @echo 'Known zones: $(zonenames)' - - -# We have to use `-d $(inst_zonedir)' to explictly tell zic where to -# place the output files although $(zonedir) is compiled in. But the -# user might have set $(install_root) on the command line of `make install'. -zic-cmd = $(built-program-cmd) -d $(inst_zonedir) -tzcompile = $(zic-cmd)$(target-zone-flavor) -L $(word 3,$^) \ - -y $(dir $(word 4,$^))$(notdir $(word 4,$^)) $< - -# The source files specify the zone names relative to the -d directory, -# so for the posix/ and right/ flavors we need to pass -d $(inst_zonedir)/posix -# and the like. This magic extracts /posix or /right if it's the first -# component after $(inst_zonedir) in the target name $@. -target-zone-flavor = $(filter /posix /right, \ - /$(firstword $(subst /, , \ - $(patsubst $(inst_zonedir)/%,%,$@)))) - -ifdef localtime -$(installed-localtime-file): $(inst_zonedir)/$(localtime) $(objpfx)zic - $(make-target-directory) - if test -r $@; then \ - echo Site timezone NOT reset to Factory.; \ - else \ - rm -f $@T; \ - $(SHELL) $(..)/rellns-sh $< $@T; \ - mv -f $@T $@; \ - fi -endif -ifdef posixrules -$(installed-posixrules-file): $(inst_zonedir)/$(posixrules) $(objpfx)zic - $(zic-cmd) -p $(posixrules) -endif - - -$(objpfx)zic: $(objpfx)scheck.o $(objpfx)ialloc.o - -tz-cflags = -DTZDIR='"$(zonedir)"' \ - -DTZDEFAULT='"$(localtime-file)"' \ - -DTZDEFRULES='"$(posixrules-file)"' - -CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID -CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags) -CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID -CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID -CFLAGS-tzfile.c = $(tz-cflags) -CFLAGS-tzset.c = $(tz-cflags) - -# We have to make sure the data for testing the tz functions is available. -$(objpfx)test-tz.out: $(addprefix $(objpfx)testdata/, America/New_York \ - Etc/UTC UTC) - -$(objpfx)testdata/America/New_York: northamerica $(objpfx)zic \ - $(leapseconds) yearistype - $(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \ - -y yearistype northamerica -$(objpfx)testdata/Etc/UTC: etcetera $(objpfx)zic $(leapseconds) yearistype - $(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \ - -y yearistype etcetera -$(objpfx)testdata/UTC: simplebackw $(objpfx)zic $(objpfx)testdata/Etc/UTC \ - $(leapseconds) yearistype - $(built-program-cmd) -d $(objpfx)testdata -L $(leapseconds) \ - -y yearistype simplebackw - -test-tz-ENV = TZDIR=$(objpfx)testdata - - -$(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make - sed -e 's%@KSH@%$(KSH)%g' \ - -e 's%@TZDIR@%$(zonedir)%g' < $< > $@.new - chmod 555 $@.new - mv -f $@.new $@ - -$(addprefix $(inst_zonedir)/,iso3166.tab zone.tab): $(inst_zonedir)/%: % - $(do-install) |