]>
Commit | Line | Data |
---|---|---|
6599da04 JM |
1 | # Copyright (C) 1993, 1995 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 \ | |
dbfcb4be BK |
32 | outfloat.o strops.o iofclose.o iopopen.o ioungetc.o peekc.o iogetc.o \ |
33 | ioputc.o iofeof.o ioferror.o | |
6599da04 JM |
34 | |
35 | # These emulate stdio functionality, but with a different name (_IO_ungetc | |
36 | # instead of ungetc), and using _IO_FILE instead of FILE. | |
37 | # They are not needed for C++ iostream, nor stdio, though some stdio | |
38 | # files are build using the same source files (see stdio/configure.in). | |
39 | # They are needed for iostdio.h. They are needed under Linux to avoid | |
40 | # version incompatibility problems with the C library. | |
41 | # iofclose.o is not here, because it is needed for stdio (by pclose). | |
42 | STDIO_WRAP_OBJECTS = iofdopen.o iofflush.o iofgets.o iofopen.o iofprintf.o iofputs.o iofwrite.o \ | |
43 | iogets.o ioperror.o ioputs.o ioscanf.o iosetbuffer.o iosetvbuf.o \ | |
dbfcb4be | 44 | iosprintf.o iosscanf.o ioftell.o iovsscanf.o iovsprintf.o |
6599da04 JM |
45 | |
46 | IOSTREAM_OBJECTS = builtinbuf.o filebuf.o fstream.o \ | |
47 | indstream.o ioassign.o ioextend.o iomanip.o iostream.o \ | |
48 | isgetline.o isgetsb.o isscan.o \ | |
49 | osform.o procbuf.o sbform.o sbgetline.o sbscan.o \ | |
50 | stdiostream.o stdstrbufs.o stdstreams.o stream.o streambuf.o strstream.o \ | |
51 | PlotFile.o SFile.o parsestream.o pfstream.o editbuf.o | |
52 | ||
53 | # These files define _IO_read etc, which are just wrappers for read(2) etc. | |
54 | # They need to be changed to use name-space-clean (e.g. __read) versions | |
55 | # for each specific libc. | |
56 | OSPRIM_OBJECTS = ioprims.o iostrerror.o cleanup.o | |
57 | ||
58 | LIBIOSTREAM_OBJECTS = $(IO_OBJECTS) $(IOSTREAM_OBJECTS) $(OSPRIM_OBJECTS) | |
59 | LIBIO_OBJECTS = $(IO_OBJECTS) $(STDIO_WRAP_OBJECTS) $(OSPRIM_OBJECTS) stdfiles.o | |
60 | ||
61 | LIBIOSTREAM_DEP = $(LIBIOSTREAM_OBJECTS) | |
62 | LIBIOSTREAM_USE = $(LIBIOSTREAM_OBJECTS) | |
63 | ||
64 | USER_INCLUDES = *.h | |
65 | ||
66 | #### package, host, target, and site dependent Makefile fragments come in here. | |
67 | ## | |
68 | ||
69 | libio.a: $(_G_CONFIG_H) $(LIBIO_OBJECTS) | |
70 | -rm -rf libio.a | |
71 | $(AR) $(AR_FLAGS) libio.a $(LIBIO_OBJECTS) | |
72 | $(RANLIB) libio.a | |
73 | ||
74 | libiostream.a: $(_G_CONFIG_H) $(LIBIOSTREAM_DEP) | |
75 | -rm -rf libiostream.a | |
76 | $(AR) $(AR_FLAGS) libiostream.a $(LIBIOSTREAM_USE) | |
77 | $(RANLIB) libiostream.a | |
78 | ||
79 | test: test.o libio.a | |
80 | $(CC) $(CFLAGS) -o test test.o libio.a | |
81 | tpipe: tpipe.o libio.a | |
82 | $(CC) $(CFLAGS) -o tpipe tpipe.o libio.a | |
83 | ||
84 | iostream.list: stamp-picdir $(_G_CONFIG_H) $(LIBIOSTREAM_DEP) | |
85 | @echo "$(LIBIOSTREAM_USE)"> iostream.list | |
86 | ||
dbfcb4be | 87 | stmp-stdio: |
6599da04 JM |
88 | @rootme=`pwd`/ ; export rootme; cd stdio ; \ |
89 | $(MAKE) $(FLAGS_TO_PASS) stdio.list | |
90 | ||
6599da04 JM |
91 | _G_config.h: ${srcdir}/gen-params |
92 | rootme=`pwd`/ ; export rootme; \ | |
93 | CC="$(CC)"; export CC; \ | |
94 | CXX="$(CXX) $(NOSTDINC) $(CXXFLAGS)"; export CXX; \ | |
95 | CONFIG_NM="$(NM)"; export CONFIG_NM; \ | |
96 | $(SHELL) ${srcdir}/gen-params LIB_VERSION=$(VERSION) $(G_CONFIG_ARGS) >tmp-params.h | |
97 | mv tmp-params.h _G_config.h | |
98 | ||
99 | install: | |
100 | rootme=`pwd`/ ; export rootme ; \ | |
101 | if [ -z "$(MULTISUBDIR)" ]; then \ | |
102 | if [ "$(_G_CONFIG_H)" != "" ]; then \ | |
103 | rm -f $(tooldir)/include/_G_config.h ; \ | |
104 | $(INSTALL_DATA) _G_config.h $(tooldir)/include/_G_config.h || exit 1; \ | |
105 | else true; \ | |
106 | fi ; \ | |
107 | cd $(srcdir); \ | |
108 | for FILE in $(USER_INCLUDES); do if [ $$FILE != _G_config.h ]; then \ | |
109 | rm -f $(gxx_includedir)/$$FILE ; \ | |
110 | $(INSTALL_DATA) $$FILE $(gxx_includedir)/$$FILE ; \ | |
111 | chmod a-x $(gxx_includedir)/$$FILE ; \ | |
112 | else true; fi; done ; \ | |
113 | else true; \ | |
114 | fi | |
115 | @rootme=`pwd`/ ; export rootme ; \ | |
116 | $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install | |
117 | ||
118 | c++clean: | |
119 | rm -rf $(IOSTREAM_OBJECTS) | |
120 | @$(MAKE) $(FLAGS_TO_PASS) "DODIRS=tests" DO=clean subdir_do |