2006-02-02 Roland McGrath <roland@redhat.com>
[kopensolaris-gnu/glibc.git] / timezone / Makefile
index e5cd8e2..9947d45 100644 (file)
@@ -1,20 +1,20 @@
-# Copyright (C) 1998 Free Software Foundation, Inc.
+# Copyright (C) 1998,1999,2000,2002,2005 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
-# modify it under the terms of the GNU Library General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
 
 # The GNU C Library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
+# Lesser General Public License for more details.
 
-# You should have received a copy of the GNU Library General Public
-# License along with the GNU C Library; see the file COPYING.LIB.  If not,
-# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307 USA.
 
 #
 #      Makefile for timezone information
@@ -31,9 +31,9 @@ others        := zdump zic
 tests  := test-tz tst-timezone
 
 tzbases := africa antarctica asia australasia europe northamerica \
-          southamerica etcetera factory systemv \
+          southamerica etcetera factory \
           solar87 solar88 solar89
-tzlinks := backward
+tzlinks := backward systemv
 tzfiles := $(tzbases) $(tzlinks)
 # pacificnew doesn't compile; if it is to be used, it should be included in
 # northamerica.
@@ -48,6 +48,8 @@ all: # Make this the default target; it will be defined in Rules.
 
 include ../Makeconfig  # Get objpfx defined so we can use it below.
 
+CPPFLAGS-zic = -DNOT_IN_libc
+
 # z.* use this variable.
 define nl
 
@@ -77,7 +79,7 @@ endif
 
 ifeq ($(have-ksh),yes)
 install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab
-install-bin += tzselect
+install-bin-script = tzselect
 generated += tzselect
 endif
 
@@ -90,6 +92,7 @@ $(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile
 # the files.
 # The extra kludge for the $(tzlinks) files is necessary since running zic
 # this file requires all other files to exist.  Blech!
+       $(make-target-directory)
        (echo 'define $*-zones'                                             ;\
         $(AWK) '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\
         echo 'endef'                                                       ;\
@@ -103,13 +106,13 @@ $(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile
           echo '$$(addprefix $$(inst_zonedir)/,$$($*-zones)): \'           ;\
           echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/,$$($$t-zones)))' ;\
         fi                                                                 ;\
-        echo '$$(addprefix $$(inst_datadir)/zone%/right/,$$($*-zones)): \' ;\
+        echo '$$(addprefix $$(dir $$(inst_zonedir))zone%/right/,$$($*-zones)): \' ;\
         echo '$< $$(objpfx)zic leapseconds yearistype'                     ;\
         echo ' $$(tzcompile)'                                              ;\
-        echo '$$(addprefix $$(inst_datadir)/zone%/posix/,$$($*-zones)): \' ;\
+        echo '$$(addprefix $$(dir $$(inst_zonedir))zone%/posix/,$$($*-zones)): \' ;\
         echo '$< $$(objpfx)zic /dev/null yearistype'                       ;\
         echo ' $$(tzcompile)'                                              ;\
-        echo '$$(addprefix $$(inst_datadir)/zone%/,$$($*-zones)): \'       ;\
+        echo '$$(addprefix $$(dir $$(inst_zonedir))zone%/,$$($*-zones)): \' ;\
         echo '$< $$(objpfx)zic $$(leapseconds) yearistype'                 ;\
         echo ' $$(tzcompile)'                                              ;\
         echo 'endif'                                                       ;\
@@ -163,50 +166,48 @@ tz-cflags = -DTZDIR='"$(zonedir)"' \
            -DTZDEFRULES='"$(posixrules-file)"' \
            -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone
 
-CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
-CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
-CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID
-CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID
+CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID $(tz-cflags) -DHAVE_GETTEXT
+CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags) -DHAVE_GETTEXT
+CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID -DHAVE_GETTEXT
+CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID -DHAVE_GETTEXT
 
 # We have to make sure the data for testing the tz functions is available.
 # Don't add leapseconds here since test-tz made checks that work only without
 # leapseconds.
 testdata = $(objpfx)testdata
 define build-testdata
-$(built-program-cmd) -d $(testdata) -y ./yearistype $<
+GCONV_PATH=${common-objpfx}iconvdata LANGUAGE=C LC_ALL=C \
+  $(built-program-cmd) -d $(testdata) -y ./yearistype $<
 endef
 
 $(objpfx)test-tz.out: $(addprefix $(testdata)/, America/New_York Etc/UTC UTC)
 $(objpfx)tst-timezone.out: $(addprefix $(testdata)/, \
                                       Europe/Berlin Universal \
                                       Australia/Melbourne \
-                                      America/Sao_Paulo Asia/Tokyo GB)
+                                      America/Sao_Paulo Asia/Tokyo \
+                                      Europe/London)
 
 test-tz-ENV = TZDIR=$(testdata)
 tst-timezone-ENV = TZDIR=$(testdata)
 
-$(testdata)/America/New_York: northamerica $(objpfx)zic $(leapseconds) \
-                             yearistype
-       $(build-testdata)
-$(testdata)/Etc/UTC: etcetera $(objpfx)zic $(leapseconds) yearistype
-       $(build-testdata)
-$(testdata)/UTC: simplebackw $(objpfx)zic $(testdata)/Etc/UTC \
-                $(leapseconds) yearistype
+# Note this must come second in the deps list for $(built-program-cmd) to work.
+zic-deps = $(objpfx)zic $(leapseconds) yearistype
+
+$(testdata)/America/New_York: northamerica $(zic-deps)
        $(build-testdata)
-$(testdata)/Europe/Berlin: europe $(objpfx)zic $(leapseconds) yearistype
+$(testdata)/Etc/UTC: etcetera $(zic-deps)
        $(build-testdata)
-$(testdata)/Universal: simplebackw $(objpfx)zic $(testdata)/Etc/UTC \
-                      $(leapseconds) yearistype
+# Use a pattern rule to indicate the command produces both targets at once.
+# Two separate targets built separately can collide if in parallel.
+%/UTC %/Universal: simplebackw $(zic-deps) %/Etc/UTC
        $(build-testdata)
-$(testdata)/Australia/Melbourne: australasia $(objpfx)zic $(leapseconds) \
-                                yearistype
+$(testdata)/%/Berlin $(testdata)/%/London: europe $(zic-deps)
        $(build-testdata)
-$(testdata)/America/Sao_Paulo: southamerica $(objpfx)zic $(leapseconds) \
-                              yearistype
+$(testdata)/Australia/Melbourne: australasia $(zic-deps)
        $(build-testdata)
-$(testdata)/Asia/Tokyo: asia $(objpfx)zic $(leapseconds) yearistype
+$(testdata)/America/Sao_Paulo: southamerica $(zic-deps)
        $(build-testdata)
-$(testdata)/GB: europe $(objpfx)zic $(leapseconds) yearistype
+$(testdata)/Asia/Tokyo: asia $(zic-deps)
        $(build-testdata)