OSDN Git Service

d4311142a769c67bd212f64dd9e8068294cfcbec
[pf3gnuchains/pf3gnuchains4x.git] / newlib / libc / Makefile.am
1 ## Process this file with automake to generate Makefile.in
2
3 AUTOMAKE_OPTIONS = cygnus
4
5 if HAVE_POSIX_DIR
6 POSIX_SUBDIR = posix
7 endif
8
9 if HAVE_SIGNAL_DIR
10 SIGNAL_SUBDIR = signal
11 endif
12
13 if HAVE_SYSCALL_DIR
14 SYSCALLS_SUBDIR = syscalls
15 endif
16
17 if HAVE_UNIX_DIR
18 UNIX_SUBDIR = unix
19 endif
20
21 if HAVE_STDIO_DIR
22 STDIO_SUBDIR = stdio
23 endif
24
25 if HAVE_STDIO64_DIR
26 STDIO64_SUBDIR = stdio64
27 endif
28
29 if ENABLE_NEWLIB_ICONV
30 NEWLIB_ICONV_DIRS = iconv
31 NEWLIB_ICONV_LIBS = iconv/ces/lib.$(aext) iconv/ccs/lib.$(aext) iconv/lib/lib.$(aext)
32 else
33 NEWLIB_ICONV_DIRS =
34 NEWLIB_ICONV_LIBS =
35 endif
36
37 # The order of SUBDIRS is important for the integrated documentation.
38 # Do not change the order without considering the doc impact.
39 SUBDIRS = argz stdlib ctype search $(STDIO_SUBDIR) $(STDIO64_SUBDIR) string $(SIGNAL_SUBDIR) time locale sys reent \
40         $(extra_dir) errno misc machine $(UNIX_SUBDIR) $(POSIX_SUBDIR) $(SYSCALLS_SUBDIR) $(NEWLIB_ICONV_DIRS) .
41
42 noinst_DATA = $(CRT0)
43
44 if USE_LIBTOOL
45 noinst_LTLIBRARIES = libc.la
46 SUBLIBS = \
47         argz/libargz.$(aext) \
48         stdlib/libstdlib.$(aext) \
49         ctype/libctype.$(aext) \
50         search/libsearch.$(aext) \
51         $(LIBC_STDIO_LIB) \
52         $(LIBC_STDIO64_LIB) \
53         string/libstring.$(aext) \
54         $(LIBC_SIGNAL_LIB) \
55         time/libtime.$(aext) \
56         locale/liblocale.$(aext) \
57         reent/libreent.$(aext) \
58         $(LIBC_EXTRA_LIB) \
59         errno/liberrno.$(aext) \
60         misc/libmisc.$(aext) \
61         $(LIBC_UNIX_LIB) \
62         $(LIBC_POSIX_LIB) \
63         $(LIBC_SYSCALL_LIB) \
64         $(LIBC_MACHINE_LIB) \
65         $(LIBC_SYS_LIB)
66 else
67 noinst_LIBRARIES = libc.a
68 SUBLIBS = \
69         argz/lib.$(aext) \
70         stdlib/lib.$(aext) \
71         ctype/lib.$(aext) \
72         search/lib.$(aext) \
73         $(LIBC_STDIO_LIB) \
74         $(LIBC_STDIO64_LIB) \
75         string/lib.$(aext) \
76         $(LIBC_SIGNAL_LIB) \
77         time/lib.$(aext) \
78         locale/lib.$(aext) \
79         reent/lib.$(aext) \
80         $(LIBC_EXTRA_LIB) \
81         errno/lib.$(aext) \
82         misc/lib.$(aext) \
83         $(LIBC_UNIX_LIB) \
84         $(LIBC_POSIX_LIB) \
85         $(LIBC_SYSCALL_LIB) \
86         $(NEWLIB_ICONV_LIBS) \
87         $(LIBC_MACHINE_LIB) \
88         $(LIBC_SYS_LIB)
89 endif
90
91 libc_la_LDFLAGS = -Xcompiler -nostdlib
92
93 if USE_LIBTOOL
94 libc_la_SOURCES =
95 libc_la_LIBADD = $(SUBLIBS)
96 libc_la_DEPENDENCIES = $(SUBLIBS)
97 else
98 libc.a: $(SUBLIBS)
99         rm -f $@
100         rm -rf tmp
101         mkdir tmp
102         cd tmp; \
103          for i in $(SUBLIBS); do \
104            $(AR) x ../$$i; \
105          done; \
106         $(AR) $(AR_FLAGS) ../$@ *.o
107         $(RANLIB) $@
108         rm -rf tmp
109 endif # USE_LIBTOOL
110
111 $(SUBLIBS): ; @true
112
113 crt0.o: sys/crt0.o
114         rm -f $@
115         ln sys/crt0.o $@ >/dev/null 2>/dev/null || cp sys/crt0.o $@
116
117 sys/crt0.o: ; @true
118
119 # This is a list of the stmp-def files in each subdirectory which
120 # builds .def files.  We don't list subdirectories which don't build
121 # .def files; if the list of subdirectories changes, we must change
122 # this as well.
123 SUBDEFS = \
124         stdlib/stmp-def \
125         ctype/stmp-def \
126         $(LIBC_STDIO_DEF) \
127         $(LIBC_STDIO64_DEF) \
128         string/stmp-def \
129         $(LIBC_SIGNAL_DEF) \
130         time/stmp-def \
131         locale/stmp-def \
132         reent/stmp-def \
133         $(LIBC_EXTRA_DEF) \
134         misc/stmp-def
135
136 libc.info: sigset.texi extra.texi stdio64.texi iconvset.texi \
137         targetdep.tex $(SUBDEFS)
138
139 libc.dvi: sigset.texi extra.texi stdio64.texi iconvset.texi \
140         targetdep.tex $(SUBDEFS)
141
142 stmp-sigset: config.status
143         if test -n "$(LIBC_SIGNAL_LIB)"; then \
144           echo "@set SIGNALS" >tmp.texi; \
145         else \
146           echo "@clear SIGNALS" >tmp.texi; \
147         fi
148         $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi sigset.texi
149         touch $@
150
151 sigset.texi: stmp-sigset ; @true
152
153 stmp-iconvset: config.status
154         if test -n "$(NEWLIB_ICONV_LIBS)"; then \
155           echo "@set ICONV" >tmp.texi; \
156         else \
157           echo "@clear ICONV" >tmp.texi; \
158         fi
159         $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi iconvset.texi
160         touch $@
161
162 iconvset.texi: stmp-iconvset ; @true
163
164 stmp-extra: config.status
165         if test -n "$(LIBC_EXTRA_LIB)"; then \
166           echo "@set EXTRA" >tmp.texi; \
167         else \
168           echo "@clear EXTRA" >tmp.texi; \
169         fi
170         $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi extra.texi
171         touch $@
172
173 extra.texi: stmp-extra ; @true
174
175 stmp-stdio64: config.status
176         if test -n "$(LIBC_STDIO64_LIB)"; then \
177           echo "@set STDIO64" >tmp.texi; \
178         else \
179           echo "@clear STDIO64" >tmp.texi; \
180         fi
181         $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi stdio64.texi
182         touch $@
183
184 stdio64.texi: stmp-stdio64 ; @true
185
186 stmp-targetdep: force
187         rm -f tmp.texi
188         targetdoc=`pwd`/tmp.texi; \
189         for d in $(SUBDIRS); do \
190           if test "$$d" != "."; then \
191             (cd $$d && $(MAKE) TARGETDOC=$${targetdoc} doc) || exit 1; \
192           fi; \
193         done
194         cat $(srcdir)/sys.tex >>tmp.texi
195         $(SHELL) $(newlib_basedir)/../move-if-change tmp.texi targetdep.tex
196         touch $@
197
198 targetdep.tex: stmp-targetdep ; @true
199
200 $(SUBDEFS): stmp-targetdep ; @true
201
202 info_TEXINFOS = libc.texinfo
203 libc_TEXINFOS = sigset.texi extra.texi stdio64.texi iconvset.texi \
204         targetdep.tex $(SUBDEFS)
205
206 .PHONY: force
207 force:
208
209 CLEANFILES = $(CRT0) \
210         sigset.texi stmp-sigset extra.texi stmp-extra \
211         stdio64.texi stmp-stdio64 tmp.texi targetdep.tex stmp-targetdep
212
213 ACLOCAL_AMFLAGS = -I ..
214 CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host