blob: f93b30046bb2048f31da6d38ecff069d3eb4556c [file] [log] [blame]
# Copyright (C) 1993, 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 GNU CC; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
srcdir = .
CFLAGS = -g
C_FLAGS = $(CFLAGS) -I. -I.. -I$(srcdir) -I$(srcdir)/..
CXXFLAGS = -g
CC = gcc
CXX = gcc
#### package, host, target, and site dependent Makefile fragments come in here.
##
STDIO_LD_FLAGS = -u __cleanup
#LIBS = ../../libg++.a
#LIBSTDIO = ../stdio/libstdio++.a
#LIBIO = ../libio.a
#STDIOLIBS = $(STDIO_LD_FLAGS) $(LIBSTDIO) $(LIBIO) $(LIBS)
STDIOLIBS = $(LIBSTDIO) $(LIBIO) $(LIBS)
IOLIBS = -L../../libstdc++ -lstdc++
IOSTDIOLIB = ../libio.a ../../libiberty/libiberty.a
DEPEND_SOURCES = $(srcdir)/*.C
.PHONY: check check-old check-iostream check-stdio
check: $(CHECK)
# These are tests written in C++, that test the iostream facility.
check-iostream: check-tFile check-tiomisc \
check-hounddog check-putbackdog check-tiomanip
# These are tests written in C, that don't need C++.
# They test libio's emulation of stdio.
check-iostdio: check-tiformat check-tfformat check-tstdiomisc
# check-stdio runs test programs that use stdio.
# These aren't run by default because there may be linker tricks needed
# to build them (if libc.a contains a competing stdio implementation).
check-stdio: check-tfseek check-twrseek check-trdseek check-tpopen
# See ${MOSTLYCLEAN} in configure.in
JUNK_TO_CLEAN = tFile tiomisc hounddog putbackdog tiomanip \
t?format *.out streamfile ftmp* tstdiomisc foo.dat
.PHONY: info
info:
.PHONY: clean-info
clean-info:
.PHONY: install-info
install-info:
tst: tst.o
gcc -v -o tst tst.o $(STDIOLIBS)
tgetl: tgetl.o
$(CXX) $(CXXFLAGS) -o tgetl tgetl.o $(IOLIBS)
tFile: tFile.o
$(CXX) $(CXXFLAGS) -o tFile tFile.o $(IOLIBS)
tiomisc: tiomisc.o
$(CXX) $(CXXFLAGS) -o tiomisc tiomisc.o $(IOLIBS)
hounddog: hounddog.o
$(CXX) $(CXXFLAGS) -o hounddog hounddog.o $(IOLIBS)
check-hounddog: hounddog
./hounddog <$(srcdir)/hounddog.inp > hounddog.out 2>&1
diff -c hounddog.out $(srcdir)/hounddog.exp
./hounddog -b0 <$(srcdir)/hounddog.inp > hound-b0.out 2>&1
diff -c hound-b0.out $(srcdir)/hounddog.exp
./hounddog -b2 <$(srcdir)/hounddog.inp > hound-b2.out 2>&1
diff -c hound-b2.out $(srcdir)/hounddog.exp
putbackdog: putbackdog.o
$(CXX) $(CXXFLAGS) -o putbackdog putbackdog.o $(IOLIBS)
check-putbackdog-regular: putbackdog
./putbackdog <$(srcdir)/hounddog.inp > putback.out 2>&1
diff -c putback.out $(srcdir)/hounddog.exp
check-putbackdog-nobuf: putbackdog
./putbackdog -b0 <$(srcdir)/hounddog.inp > putback-b0.out 2>&1
diff -c putback-b0.out $(srcdir)/hounddog.exp
check-putbackdog-buf2: putbackdog
./putbackdog -b2 <$(srcdir)/hounddog.inp > putback-b2.out 2>&1
diff -c putback-b2.out $(srcdir)/hounddog.exp
check-putbackdog: \
check-putbackdog-regular check-putbackdog-nobuf check-putbackdog-buf2
tfseek: tfseek.o
$(CC) $(CFLAGS) -o tfseek tfseek.o $(STDIOLIBS)
check-tfseek: tfseek
./tfseek SEEK_SET fopen > tfseek-set-fopen.out 2>&1
diff -c tfseek-set-fopen.out $(srcdir)/tfseek-set.exp
./tfseek SEEK_SET freopen > tfseek-set-freopen.out 2>&1
diff -c tfseek-set-freopen.out $(srcdir)/tfseek-set.exp
./tfseek SEEK_CUR fopen > tfseek-cur-fopen.out 2>&1
diff -c tfseek-cur-fopen.out $(srcdir)/tfseek-cur.exp
./tfseek SEEK_CUR freopen > tfseek-cur-freopen.out 2>&1
diff -c tfseek-cur-freopen.out $(srcdir)/tfseek-cur.exp
twrseek: twrseek.o
$(CC) $(CFLAGS) -o twrseek twrseek.o $(STDIOLIBS)
check-twrseek: twrseek
./twrseek > twrseek.out 2>&1
diff -c twrseek.out $(srcdir)/twrseek.exp
trdseek: trdseek.o
$(CC) $(CFLAGS) -o trdseek -v trdseek.o $(STDIOLIBS)
check-trdseek: trdseek
./trdseek
check-tFile-regular: tFile
./tFile < $(srcdir)/tFile.inp > tFile.out 2>&1
diff -c tFile.out $(srcdir)/tFile.exp
# Run tFile with cout.rdbuf() unbuffered.
check-tFile-nobuf: tFile
./tFile -b0 < $(srcdir)/tFile.inp > tFile-buf0.out 2>&1
diff -c tFile-buf0.out $(srcdir)/tFile.exp
# Run tFile with a 3-byte buffer for cout.rdbuf().
check-tFile-buf3: tFile
./tFile -b3 < $(srcdir)/tFile.inp > tFile-buf3.out 2>&1
diff -c tFile-buf3.out $(srcdir)/tFile.exp
check-tFile: check-tFile-regular check-tFile-nobuf check-tFile-buf3
check-tiomisc: tiomisc
./tiomisc >tiomisc.out 2>&1
diff -c tiomisc.out $(srcdir)/tiomisc.exp
tiomanip: tiomanip.o
$(CXX) $(CXXFLAGS) -o tiomanip tiomanip.o $(IOLIBS)
check-tiomanip: tiomanip
./tiomanip >tiomanip.out 2>&1
diff -c tiomanip.out $(srcdir)/tiomanip.exp
tfformat: $(srcdir)/tfformat.c
$(CC) $(C_FLAGS) -DTEST_LIBIO -DTEST_EXACTNESS \
-o tfformat $(srcdir)/tfformat.c $(IOSTDIOLIB)
check-tfformat: tfformat
./tfformat
tiformat: $(srcdir)/tiformat.c
$(CC) $(C_FLAGS) -DTEST_LIBIO -o tiformat $(srcdir)/tiformat.c $(IOSTDIOLIB)
check-tiformat: tiformat
./tiformat
tstdiomisc: tstdiomisc.o
$(CC) $(CFLAGS) -o tstdiomisc tstdiomisc.o $(IOSTDIOLIB)
check-tstdiomisc: tstdiomisc
./tstdiomisc >tstdiomisc.out 2>&1
diff -c tstdiomisc.out $(srcdir)/tstdiomisc.exp
tpopen: tpopen.o
$(CC) $(CFLAGS) -o tpopen tpopen.o $(STDIOLIBS)
check-tpopen: tpopen
./tpopen > tpopen.out 2>&1
diff -c tpopen.out $(srcdir)/tpopen.exp
trwseek: trwseek.o
$(CC) $(CFLAGS) -o trwseek trwseek.o $(STDIOLIBS)
check-trwseek: trwseek
./trwsseek TMP r+ k w o
foo: foo.o
$(CXX) $(CXXFLAGS) -o foo foo.o $(STDIOLIBS)
foo+: foo+.o
$(CXX) $(CXXFLAGS) -o foo+ foo+.o $(IOLIBS)