--- Makefile 2002/11/29 15:45:25 1.6
+++ Makefile 2002/12/18 14:58:29 1.7
@@ -1,30 +1,159 @@
-CC = gcc
-CFLAGS = -g -W -Wall -Wshadow -Wpointer-arith -Wcast-align -Winline \
- -Wmissing-prototypes -Wmissing-declarations -Wnested-externs \
- -Wno-unused-parameter
+##
+## OSSP sio - Stream I/O
+## Copyright (c) 2002 Ralf S. Engelschall <rse@engelschall.com>
+## Copyright (c) 2002 The OSSP Project <http://www.ossp.org/>
+## Copyright (c) 2002 Cable & Wireless Deutschland <http://www.cw.com/de/>
+## Copyright (c) 2002 Michael van Elst <mlelstv@dev.de.cw.net>
+##
+## This file is part of OSSP sio, an abstract datatype of
+## a pair of half-duplex data pipes which can be found at
+## http://www.ossp.org/pkg/lib/sio/.
+##
+## Permission to use, copy, modify, and distribute this software for
+## any purpose with or without fee is hereby granted, provided that
+## the above copyright notice and this permission notice appear in all
+## copies.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+## SUCH DAMAGE.
+##
+## Makefile.in: make(1) build procedure
+##
+
+
+
+DESTDIR =
+prefix = /tmp/sio
+exec_prefix = ${prefix}
+bindir = ${exec_prefix}/bin
+libdir = ${exec_prefix}/lib
+includedir = ${prefix}/include
+mandir = ${prefix}/man
+
+CC = gcc
+CPPFLAGS = -Ilib_al -Ilib_sa
+CFLAGS = -DHAVE_CONFIG_H -g -O2 -pipe -DDEBUG -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-align -Winline -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-long-long -Ilib_al -Ilib_sa
+LDFLAGS =
+LIBS =
+RM = rm -f
+RMDIR = rmdir
+SHTOOL = ./shtool
+LIBTOOL = ./libtool
+TRUE = true
+POD2MAN = pod2man
+
+LIB_NAME = libsio.la
+LIB_OBJS = sio.lo sio_bio.lo sio_buffer.lo sio_hello.lo sio_null.lo sio_sa.lo sio_sillymux.lo sio_sio.lo sio_zlib.lo
+LIB_DEPS = lib_al/*.lo lib_sa/*.lo
+
+MAN_NAME = sio.3
+
+TST_NAME = sio_test
+TST_OBJS = sio_test.o ts.o
-all: al_test sio_test sio_test2
+SUBDIRS = lib_sa
-.c.o:
- $(CC) $(CFLAGS) -c $<
-
-al_test: al_test.o al.o
+.SUFFIXES:
+.SUFFIXES: .c .o .lo
-sio_test: sio_test.o sio_sa.o sio_buffer.o sio_hello.o sio_bio.o sio.o al.o lib_sa/sa.o
- $(CC) $(CFLAGS) -o sio_test sio_test.o sio_sa.o sio_buffer.o sio_hello.o sio_bio.o sio.o al.o lib_sa/sa.o -lssl -lcrypto
+all: _SUBDIRS_all $(LIB_NAME) $(TST_NAME) ($MAN_NAME)
-sio_test2: sio_test2.o sio_fd.o sio_buffer.o sio_zlib.o sio_sio.o sio_sillymux.o sio.o al.o
- $(CC) $(CFLAGS) -o sio_test2 sio_test2.o sio_fd.o sio_buffer.o sio_zlib.o sio_sio.o sio_sillymux.o sio.o al.o -lz
+.c.o:
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
-lib_sa/sa.o: lib_sa/sa.c
- $(CC) $(CFLAGS) -c -Ilib_sa -o lib_sa/sa.o lib_sa/sa.c
+.c.lo:
+ @$(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -c $<
-sio_sa.o: sio_sa.c lib_sa/sa.h
- $(CC) $(CFLAGS) -c -Ilib_sa sio_sa.c
-sio_test.o: sio_test.c lib_sa/sa.h
- $(CC) $(CFLAGS) -c -Ilib_sa sio_test.c
+# convinience rule for calling _SUBDIRS with various make targets
+_SUBDIRS_all _SUBDIRS_check _SUBDIRS_install _SUBDIRS_uninstall _SUBDIRS_clean \
+_SUBDIRS_distclean _SUBDIRS_realclean _SUBDIRS_depend:
+ @$(MAKE) $(MFLAGS) \
+ _SUBDIRS_TARGET=`echo $@ | sed -e 's/^_SUBDIRS_//'` \
+ _SUBDIRS_STEPDOWN
+
+# the work horse rule which steps down to the subdirs in a loop
+_SUBDIRS_STEPDOWN:
+ @for subdir in $(SUBDIRS); do \
+ test ! -f "$$subdir/Makefile" && continue; \
+ echo "===> $(_SUBDIRS_DP)$$subdir ($(_SUBDIRS_TARGET))"; \
+ (cd $$subdir; \
+ $(MAKE) $(MFLAGS) \
+ _SUBDIRS_DP="$(_SUBDIRS_DP)$$subdir/" \
+ $(_SUBDIRS_TARGET) || exit 1) || exit 1; \
+ echo "<=== $(_SUBDIRS_DP)$$subdir"; \
+ done
+
+$(LIB_NAME): $(LIB_OBJS)
+ @$(LIBTOOL) --mode=link $(CC) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_DEPS) -rpath $(libdir) \
+ -version-info `$(SHTOOL) version -l txt -d libtool VERSION`
+
+$(TST_NAME): $(TST_OBJS) $(LIB_NAME)
+ @$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $(TST_NAME) $(TST_OBJS) $(LIB_NAME) $(LIBS)
+
+man: $(MAN_NAME)
+$(MAN_NAME): sio.pod
+ V1=`$(SHTOOL) version -l txt -d short VERSION`; \
+ V2=`$(SHTOOL) version -l txt -d long VERSION`; \
+ D=`$(SHTOOL) version -l txt -d long VERSION | sed -e 's;.*(;;' -e 's;).*;;'`; \
+ $(POD2MAN) --quotes=none \
+ --section=3 --center="Stream I/O" \
+ --release="$$D" --date="OSSP sio $$V1" sio.pod | \
+ sed -e "s;SIO_VERSION_STR;$$V2;" >$(MAN_NAME)
+
+check: $(TST_NAME)
+ @$(LIBTOOL) --mode=execute ./$(TST_NAME)
+
+install:
+ $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(prefix)
+ $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(bindir)
+ $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(includedir)
+ $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(libdir)
+ $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(mandir)/man3
+ $(SHTOOL) install -c -m 755 sio-config $(DESTDIR)$(bindir)/
+ $(SHTOOL) install -c -m 644 sio.h $(DESTDIR)$(includedir)/
+ $(SHTOOL) install -c -m 644 $(MAN_NAME) $(DESTDIR)$(mandir)/man3/
+ @$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 libsio.la $(DESTDIR)$(libdir)/
+
+uninstall:
+ @$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/libsio.la
+ -$(RM) $(DESTDIR)$(mandir)/man3/$(MAN_NAME)
+ -$(RM) $(DESTDIR)$(includedir)/sio.h
+ -$(RM) $(DESTDIR)$(bindir)/sio-config
+ -$(RMDIR) $(DESTDIR)$(mandir)/man3 >/dev/null 2>&1 || $(TRUE)
+ -$(RMDIR) $(DESTDIR)$(mandir) >/dev/null 2>&1 || $(TRUE)
+ -$(RMDIR) $(DESTDIR)$(libdir) >/dev/null 2>&1 || $(TRUE)
+ -$(RMDIR) $(DESTDIR)$(includedir) >/dev/null 2>&1 || $(TRUE)
+ -$(RMDIR) $(DESTDIR)$(bindir) >/dev/null 2>&1 || $(TRUE)
+ -$(RMDIR) $(DESTDIR)$(prefix) >/dev/null 2>&1 || $(TRUE)
clean:
- rm -f *.o lib_sa/sa.o
+ @$(MAKE) $(MFLAGS) _SUBDIRS_clean
+ -$(RM) $(LIB_NAME) $(LIB_OBJS)
+ -$(RM) $(TST_NAME) $(TST_OBJS)
+ -$(RM) -r .libs >/dev/null 2>&1 || $(TRUE)
+ -$(RM) *.o *.lo
+
+distclean: clean
+ @$(MAKE) $(MFLAGS) _SUBDIRS_distclean
+ -$(RM) config.log config.status config.cache
+ -$(RM) Makefile config.h sio-config
+ -$(RM) libtool
+
+realclean: distclean
+ @$(MAKE) $(MFLAGS) _SUBDIRS_realclean
+ -$(RM) $(MAN_NAME)
+ -$(RM) configure config.h.in
+ -$(RM) shtool
+ -$(RM) ltmain.sh libtool.m4 config.guess config.sub
|