OSDN Git Service

* flow.c (mark_used_regs): Improve handling of ASMs.
[pf3gnuchains/gcc-fork.git] / libio / Makefile.in
1 # Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation
2
3 # This file is part of the GNU IO Library.  This library is free
4 # software; you can redistribute it and/or modify it under the
5 # terms of the GNU General Public License as published by the
6 # Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8
9 # This 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
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this library; see the file COPYING.  If not, write to the Free
16 # Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
17
18 srcdir = .
19
20 VERSION = 2.8.0
21 # The config file (overriden by Linux).
22 _G_CONFIG_H=_G_config.h
23 tooldir = $(exec_prefix)/$(target)
24 INSTALLDIR = $(libdir)
25
26 IO_OBJECTS = filedoalloc.o floatconv.o genops.o fileops.o \
27   iovfprintf.o \
28   iovfscanf.o ioignore.o iopadn.o \
29   iofgetpos.o iofread.o iofscanf.o \
30   iofsetpos.o iogetdelim.o iogetline.o \
31   ioprintf.o ioseekoff.o ioseekpos.o \
32   outfloat.o strops.o iofclose.o iopopen.o ioungetc.o peekc.o iogetc.o \
33   ioputc.o iofeof.o ioferror.o
34
35 STDIO_OBJECTS = stdfiles.o
36
37 # These emulate stdio functionality, but with a different name (_IO_ungetc
38 # instead of ungetc), and using _IO_FILE instead of FILE.
39 # They are not needed for C++ iostream, nor stdio, though some stdio
40 # files are build using the same source files (see stdio/configure.in).
41 # They are needed for iostdio.h.  They are needed under Linux to avoid
42 # version incompatibility problems with the C library.
43 # iofclose.o is not here, because it is needed for stdio (by pclose).
44 STDIO_WRAP_OBJECTS =  iofdopen.o iofflush.o iofgets.o iofopen.o iofprintf.o iofputs.o iofwrite.o \
45   iogets.o ioperror.o ioputs.o ioscanf.o iosetbuffer.o iosetvbuf.o \
46   iosprintf.o iosscanf.o ioftell.o iovsscanf.o iovsprintf.o
47
48 IOSTREAM_OBJECTS = builtinbuf.o filebuf.o fstream.o \
49   indstream.o ioassign.o ioextend.o iomanip.o iostream.o \
50   isgetline.o isgetsb.o isscan.o \
51   osform.o procbuf.o sbform.o sbgetline.o sbscan.o \
52   stdiostream.o stdstrbufs.o stdstreams.o stream.o streambuf.o strstream.o \
53   PlotFile.o SFile.o parsestream.o pfstream.o editbuf.o
54
55 # These files define _IO_read etc, which are just wrappers for read(2) etc.
56 # They need to be changed to use name-space-clean (e.g. __read) versions
57 # for each specific libc.
58 OSPRIM_OBJECTS = ioprims.o iostrerror.o cleanup.o
59
60 LIBIOSTREAM_OBJECTS = $(IO_OBJECTS) $(IOSTREAM_OBJECTS) $(OSPRIM_OBJECTS)
61 LIBIO_OBJECTS = $(IO_OBJECTS) $(STDIO_WRAP_OBJECTS) $(OSPRIM_OBJECTS) \
62                 $(STDIO_OBJECTS)
63
64 LIBIOSTREAM_DEP = $(LIBIOSTREAM_OBJECTS)
65 LIBIOSTREAM_USE = $(LIBIOSTREAM_OBJECTS)
66
67 USER_INCLUDES = *.h
68
69 PICFLAG =
70
71 #### package, host, target, and site dependent Makefile fragments come in here.
72 ##
73
74 $(LIBIO_OBJECTS): $(_G_CONFIG_H)
75
76 libio.a: $(_G_CONFIG_H) $(LIBIO_OBJECTS)
77         -rm -rf libio.a
78         $(AR) $(AR_FLAGS) libio.a $(LIBIO_OBJECTS)
79         $(RANLIB) libio.a
80
81 libiostream.a: $(_G_CONFIG_H) $(LIBIOSTREAM_DEP)
82         -rm -rf libiostream.a
83         $(AR) $(AR_FLAGS) libiostream.a $(LIBIOSTREAM_USE)
84         $(RANLIB) libiostream.a
85
86 test: test.o libio.a
87         $(CC) $(CFLAGS) -o test test.o libio.a
88 tpipe: tpipe.o libio.a
89         $(CC) $(CFLAGS) -o tpipe tpipe.o libio.a
90
91 iostream.list: $(_G_CONFIG_H) $(LIBIOSTREAM_DEP)
92         @echo "$(LIBIOSTREAM_USE)"> iostream.list
93
94 # The "pic" subdir must be created before we can put any object
95 # files into it.
96 $(LIBIOSTREAM_DEP) $(LIBIO_OBJECTS): stamp-picdir
97
98 stmp-stdio:
99         @rootme=`pwd`/ ; export rootme; cd stdio ; \
100           $(MAKE) $(FLAGS_TO_PASS) stdio.list
101
102 _G_config.h: ${srcdir}/gen-params
103         rootme=`pwd`/ ; export rootme; \
104         CC="$(CC) $(CINCLUDES)"; export CC; \
105         CXX="$(CXX) $(CXXINCLUDES) $(NOSTDINC) $(CXXFLAGS)"; export CXX; \
106         CONFIG_NM="$(NM)"; export CONFIG_NM; \
107         $(SHELL) ${srcdir}/gen-params LIB_VERSION=$(VERSION) $(G_CONFIG_ARGS) >tmp-params.h
108         mv tmp-params.h _G_config.h
109
110 install:
111         rootme=`pwd`/ ; export rootme ; \
112         if [ -z "$(MULTISUBDIR)" ]; then \
113           if [ "$(_G_CONFIG_H)" != "" ]; then \
114             if [ x$(enable_version_specific_runtime_libs) = xyes ]; then \
115               rm -f $(gxx_include_dir)/_G_config.h ; \
116               $(INSTALL_DATA) _G_config.h $(gxx_include_dir)/_G_config.h || exit 1; \
117             else \
118               rm -f $(tooldir)/include/_G_config.h ; \
119               $(INSTALL_DATA) _G_config.h $(tooldir)/include/_G_config.h || exit 1; \
120             fi; \
121           else true; \
122           fi ; \
123           cd $(srcdir); \
124           for FILE in $(USER_INCLUDES); do if [ $$FILE != _G_config.h ]; then \
125             rm -f $(gxx_include_dir)/$$FILE ; \
126             $(INSTALL_DATA) $$FILE $(gxx_include_dir)/$$FILE ; \
127             chmod a-x $(gxx_include_dir)/$$FILE ; \
128           else true; fi; done ; \
129         else true; \
130         fi
131         @rootme=`pwd`/ ; export rootme ; \
132         $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
133
134 c++clean:
135         rm -rf $(IOSTREAM_OBJECTS)
136         @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=tests" DO=clean subdir_do