1 # Copyright (C) 1991-2020 Free Software Foundation, Inc.
2 # This file is part of the GNU C Library.
4 # The GNU C Library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License, or (at your option) any later version.
9 # The GNU C Library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with the GNU C Library; if not, see
16 # <https://www.gnu.org/licenses/>.
19 # Makefile for time routines
25 headers
:= time.h sys
/time.h sys
/timeb.h bits
/time.h \
26 bits
/types
/clockid_t.h bits
/types
/clock_t.h \
27 bits
/types
/struct_itimerspec.h \
28 bits
/types
/struct_timespec.h bits
/types
/struct_timeval.h \
29 bits
/types
/struct_tm.h bits
/types
/timer_t.h \
32 routines
:= offtime asctime clock ctime ctime_r difftime \
33 gmtime localtime mktime time \
34 gettimeofday settimeofday settimezone \
35 adjtime tzset tzfile getitimer setitimer \
36 stime dysize timegm ftime \
37 getdate strptime strptime_l \
38 strftime wcsftime strftime_l wcsftime_l \
40 clock_getcpuclockid clock_getres \
41 clock_gettime clock_settime clock_nanosleep
43 aux
:= era alt_digit lc-time-cleanup
45 tests
:= test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
46 tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \
47 tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \
48 tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime \
49 tst-tzname tst-y2039 bug-mktime4 tst-strftime2 tst-strftime3 \
50 tst-clock tst-clock2 tst-clock_nanosleep tst-cpuclock1
54 ifeq ($(run-built-tests
),yes
)
55 LOCALES
:= de_DE.ISO-8859-1 en_US.ISO-8859-1 ja_JP.EUC-JP fr_FR.UTF-8 \
56 es_ES.UTF-8 pl_PL.UTF-8 ru_RU.UTF-8 \
57 ja_JP.UTF-8 lo_LA.UTF-8 th_TH.UTF-8 \
58 zh_TW.UTF-8 cmn_TW.UTF-8 hak_TW.UTF-8 \
59 nan_TW.UTF-8 lzh_TW.UTF-8
60 include ..
/gen-locales.mk
62 $(objpfx
)tst-ftime_l.out
: $(gen-locales
)
63 $(objpfx
)tst-strptime.out
: $(gen-locales
)
64 $(objpfx
)tst-strftime2.out
: $(gen-locales
)
65 $(objpfx
)tst-strftime3.out
: $(gen-locales
)
68 tz-cflags
= -DTZDIR
='"$(zonedir)"' \
69 -DTZDEFAULT
='"$(localtime-file)"' \
70 -DTZDEFRULES
='"$(posixrules-file)"'
72 CFLAGS-tzfile.c
+= $(tz-cflags
)
73 CFLAGS-tzset.c
+= $(tz-cflags
)
74 CFLAGS-getdate.c
+= -fexceptions
75 CFLAGS-clock_nanosleep.c
+= -fexceptions
-fasynchronous-unwind-tables
76 CFLAGS-nanosleep.c
+= -fexceptions
-fasynchronous-unwind-tables
78 # Don't warn about Y2k problem in strftime format string.
79 CFLAGS-test_time.c
+= -Wno-format
81 tst-getdate-ENV
= DATEMSK
=datemsk TZDIR
=${common-objpfx
}timezone
/testdata
82 test_time-ARGS
= EST5EDT CST
84 tst-tzname-ENV
= TZDIR
=${common-objpfx
}timezone
/testdata
85 CPPFLAGS-tst-tzname.c
+= -DTZDEFRULES
='"$(posixrules-file)"'
87 bug-getdate1-ARGS
= ${objpfx}bug-getdate1-fmt