]> sourceware.org Git - glibc.git/blame - stdlib/Makefile
(argp_parse, __argp_parse): Remove __THROW.
[glibc.git] / stdlib / Makefile
CommitLineData
9c7ff11a 1# Copyright (C) 1991-2002, 2003 Free Software Foundation, Inc.
28f540f4
RM
2# This file is part of the GNU C Library.
3
4# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
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.
28f540f4
RM
8
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
41bdb6e2 12# Lesser General Public License for more details.
28f540f4 13
41bdb6e2
AJ
14# You should have received a copy of the GNU Lesser General Public
15# License along with the GNU C Library; if not, write to the Free
16# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17# 02111-1307 USA.
28f540f4
RM
18
19#
20# Makefile for stdlib routines
21#
22subdir := stdlib
23
b9b49b44 24headers := stdlib.h alloca.h monetary.h fmtmsg.h ucontext.h sys/ucontext.h \
739d440d
UD
25 inttypes.h stdint.h bits/wordsize.h bits/wchar.h \
26 errno.h sys/errno.h bits/errno.h
28f540f4
RM
27
28routines := \
7cc27f44 29 atof atoi atol atoll \
28f540f4
RM
30 abort \
31 bsearch qsort msort \
f65fd747 32 getenv putenv setenv secure-getenv \
c08bc50a 33 exit on_exit atexit cxa_atexit cxa_finalize old_atexit \
59dd8641
RM
34 abs labs llabs \
35 div ldiv lldiv \
28f540f4 36 mblen mbstowcs mbtowc wcstombs wctomb \
a18f587d 37 random random_r rand rand_r \
60478656
RM
38 drand48 erand48 lrand48 nrand48 mrand48 jrand48 \
39 srand48 seed48 lcong48 \
40 drand48_r erand48_r lrand48_r nrand48_r mrand48_r jrand48_r \
41 srand48_r seed48_r lcong48_r \
42 drand48-iter \
2f6d1f1b 43 strtol strtoul strtoll strtoull \
0501d603 44 strtol_l strtoul_l strtoll_l strtoull_l \
28f540f4 45 strtof strtod strtold \
0501d603 46 strtof_l strtod_l strtold_l \
fa0bc87c 47 system canonicalize \
857fa1b8 48 a64l l64a \
b9b49b44 49 rpmatch strfmon strfmon_l getsubopt xpg_basename fmtmsg \
af69217f
UD
50 strtoimax strtoumax wcstoimax wcstoumax \
51 getcontext setcontext makecontext swapcontext
9c7ff11a 52aux = grouping groupingwc
28f540f4 53
c08bc50a
UD
54# These routines will be omitted from the libc shared object.
55# Instead the static object files will be included in a special archive
56# linked against when the shared library will be used.
57static-only-routines = atexit
58
3ca97e8f 59distribute := exit.h grouping.h abort-instr.h isomac.c tst-fmtmsg.sh \
d0883b48 60 allocalim.h
9f6c1fc4 61test-srcs := tst-fmtmsg
3ca97e8f
UD
62tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
63 test-canon test-canon2 tst-strtoll tst-environ \
64 tst-xpg-basename tst-random tst-bsearch tst-limits \
65 tst-rand48 bug-strtod tst-setcontext test-a64l tst-qsort \
66 tst-system
28f540f4 67
3ef21326
RM
68
69# Several mpn functions from GNU MP are used by the strtod function.
0e3426bb 70mpn-routines := inlines add_n addmul_1 cmp divmod_1 divrem udiv_qrnnd \
b5a08c5a 71 lshift rshift mod_1 mul mul_1 mul_n sub_n submul_1
3ef21326
RM
72mpn-headers = longlong.h gmp.h gmp-impl.h gmp-mparam.h asm-syntax.h
73
74routines := $(strip $(routines) $(mpn-routines)) \
75 dbl2mpn ldbl2mpn \
76 mpn2flt mpn2dbl mpn2ldbl
9c7ff11a 77aux += fpioconst mp_clz_tab
3ef21326
RM
78distribute := $(distribute) $(mpn-headers) gen-mpn-copy fpioconst.h
79
1eb687d0 80generated += isomac isomac.out
3ef21326 81
dff14448
UD
82CFLAGS-bsearch.c = $(exceptions)
83CFLAGS-msort.c = $(exceptions)
84CFLAGS-qsort.c = $(exceptions)
7a114794 85CFLAGS-system.c = -fexceptions
f1c30c98 86CFLAGS-fmtmsg.c = -fexceptions
dff14448 87
917e27b8
UD
88include ../Makeconfig
89
90ifneq (,$(filter %REENTRANT, $(defines)))
91CFLAGS-strfmon.c = -D_IO_MTSAFE_IO
92CFLAGS-strfmon_l.c = -D_IO_MTSAFE_IO
93endif
94
c08bc50a
UD
95ifeq (yes,$(have-protected))
96CFLAGS-atexit.c = -DHAVE_DOT_HIDDEN
97endif
98
28f540f4 99include ../Rules
3ef21326 100
e25054c4 101# Testdir has to be named stdlib and needs to be writable
9f835f5f 102test-canon-ARGS = --test-dir=${common-objpfx}stdlib
e25054c4 103
98d3e993
UD
104tst-strtod-ENV = LOCPATH=$(common-objpfx)localedata
105
1eb687d0 106# Run a test on the header files we use.
c08bc50a 107tests: $(objpfx)isomac.out
2cca3867
AJ
108
109ifeq (no,$(cross-compiling))
110tests: $(objpfx)tst-fmtmsg.out
111endif
ca41028b
UD
112
113$(objpfx)isomac.out: $(objpfx)isomac
7eff7a05
AJ
114 $(dir $<)$(notdir $<) '$(CC)' \
115 '-I../include -I.. $(+sysdep-includes) $(sysincludes)' > $<.out
1eb687d0 116
e69924e3 117isomac-CFLAGS = -O
1eb687d0
UD
118$(objpfx)isomac: isomac.c
119 $(native-compile)
9f6c1fc4
UD
120
121$(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
2cca3867 122 $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/
This page took 0.262844 seconds and 5 git commands to generate.