| # Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation |
| # |
| # This file is part of the GNU IO Library. This library is free |
| # software; you can redistribute it and/or modify it under the |
| # terms of the GNU General Public License as published by the |
| # Free Software Foundation; either version 2, or (at your option) |
| # any later version. |
| # |
| # This 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 General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this library; see the file COPYING. If not, write to the Free |
| # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| |
| srcdir = . |
| |
| VERSION = 2.8.0 |
| # The config file (overriden by Linux). |
| _G_CONFIG_H=_G_config.h |
| tooldir = $(exec_prefix)/$(target) |
| INSTALLDIR = $(libdir) |
| gxx_include_dir=${includedir}/g++ |
| |
| IO_OBJECTS = filedoalloc.o floatconv.o genops.o fileops.o \ |
| iovfprintf.o \ |
| iovfscanf.o ioignore.o iopadn.o \ |
| iofgetpos.o iofread.o iofscanf.o \ |
| iofsetpos.o iogetdelim.o iogetline.o \ |
| ioprintf.o ioseekoff.o ioseekpos.o \ |
| outfloat.o strops.o iofclose.o iopopen.o ioungetc.o peekc.o iogetc.o \ |
| ioputc.o iofeof.o ioferror.o |
| |
| STDIO_OBJECTS = stdfiles.o |
| |
| # These emulate stdio functionality, but with a different name (_IO_ungetc |
| # instead of ungetc), and using _IO_FILE instead of FILE. |
| # They are not needed for C++ iostream, nor stdio, though some stdio |
| # files are build using the same source files (see stdio/configure.in). |
| # They are needed for iostdio.h. They are needed under Linux to avoid |
| # version incompatibility problems with the C library. |
| # iofclose.o is not here, because it is needed for stdio (by pclose). |
| STDIO_WRAP_OBJECTS = iofdopen.o iofflush.o iofgets.o iofopen.o iofprintf.o iofputs.o iofwrite.o \ |
| iogets.o ioperror.o ioputs.o ioscanf.o iosetbuffer.o iosetvbuf.o \ |
| iosprintf.o iosscanf.o ioftell.o iovsscanf.o iovsprintf.o |
| |
| IOSTREAM_OBJECTS = builtinbuf.o filebuf.o fstream.o \ |
| indstream.o ioassign.o ioextend.o iomanip.o iostream.o \ |
| isgetline.o isgetsb.o isscan.o \ |
| osform.o procbuf.o sbform.o sbgetline.o sbscan.o \ |
| stdiostream.o stdstrbufs.o stdstreams.o stream.o streambuf.o strstream.o \ |
| PlotFile.o SFile.o parsestream.o pfstream.o editbuf.o |
| |
| # These files define _IO_read etc, which are just wrappers for read(2) etc. |
| # They need to be changed to use name-space-clean (e.g. __read) versions |
| # for each specific libc. |
| OSPRIM_OBJECTS = ioprims.o iostrerror.o cleanup.o |
| |
| LIBIOSTREAM_OBJECTS = $(IO_OBJECTS) $(IOSTREAM_OBJECTS) $(OSPRIM_OBJECTS) |
| LIBIO_OBJECTS = $(IO_OBJECTS) $(STDIO_WRAP_OBJECTS) $(OSPRIM_OBJECTS) \ |
| $(STDIO_OBJECTS) |
| |
| LIBIOSTREAM_DEP = $(LIBIOSTREAM_OBJECTS) |
| LIBIOSTREAM_USE = $(LIBIOSTREAM_OBJECTS) |
| |
| USER_INCLUDES = *.h |
| |
| PICFLAG = |
| |
| #### package, host, target, and site dependent Makefile fragments come in here. |
| ## |
| |
| $(LIBIO_OBJECTS): $(_G_CONFIG_H) |
| |
| libio.a: $(_G_CONFIG_H) $(LIBIO_OBJECTS) |
| -rm -rf libio.a |
| $(AR) $(AR_FLAGS) libio.a $(LIBIO_OBJECTS) |
| $(RANLIB) libio.a |
| |
| libiostream.a: $(_G_CONFIG_H) $(LIBIOSTREAM_DEP) |
| -rm -rf libiostream.a |
| $(AR) $(AR_FLAGS) libiostream.a $(LIBIOSTREAM_USE) |
| $(RANLIB) libiostream.a |
| |
| test: test.o libio.a |
| $(CC) $(CFLAGS) -o test test.o libio.a |
| tpipe: tpipe.o libio.a |
| $(CC) $(CFLAGS) -o tpipe tpipe.o libio.a |
| |
| iostream.list: $(_G_CONFIG_H) $(LIBIOSTREAM_DEP) |
| @echo "$(LIBIOSTREAM_USE)"> iostream.list |
| |
| # The "pic" subdir must be created before we can put any object |
| # files into it. |
| $(LIBIOSTREAM_DEP) $(LIBIO_OBJECTS): stamp-picdir |
| |
| stmp-stdio: |
| @rootme=`pwd`/ ; export rootme; cd stdio ; \ |
| $(MAKE) $(FLAGS_TO_PASS) stdio.list |
| |
| _G_config.h: ${srcdir}/gen-params |
| rootme=`pwd`/ ; export rootme; \ |
| CC="$(CC) $(CINCLUDES)"; export CC; \ |
| CXX="$(CXX) $(CXXINCLUDES) $(NOSTDINC) $(CXXFLAGS)"; export CXX; \ |
| CONFIG_NM="$(NM)"; export CONFIG_NM; \ |
| $(SHELL) ${srcdir}/gen-params LIB_VERSION=$(VERSION) $(G_CONFIG_ARGS) >tmp-params.h |
| mv tmp-params.h _G_config.h |
| |
| install: |
| rootme=`pwd`/ ; export rootme ; \ |
| if [ -z "$(MULTISUBDIR)" ]; then \ |
| if [ "$(_G_CONFIG_H)" != "" ]; then \ |
| if [ x$(enable_version_specific_runtime_libs) = xyes ]; then \ |
| rm -f $(gxx_include_dir)/_G_config.h ; \ |
| $(INSTALL_DATA) _G_config.h $(gxx_include_dir)/_G_config.h || exit 1; \ |
| else \ |
| rm -f $(tooldir)/include/_G_config.h ; \ |
| $(INSTALL_DATA) _G_config.h $(tooldir)/include/_G_config.h || exit 1; \ |
| fi; \ |
| else true; \ |
| fi ; \ |
| cd $(srcdir); \ |
| for FILE in $(USER_INCLUDES); do if [ $$FILE != _G_config.h ]; then \ |
| rm -f $(gxx_include_dir)/$$FILE ; \ |
| $(INSTALL_DATA) $$FILE $(gxx_include_dir)/$$FILE ; \ |
| chmod a-x $(gxx_include_dir)/$$FILE ; \ |
| else true; fi; done ; \ |
| else true; \ |
| fi |
| @rootme=`pwd`/ ; export rootme ; \ |
| $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install |
| |
| c++clean: |
| rm -rf $(IOSTREAM_OBJECTS) |
| @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=tests" DO=clean subdir_do |