ossp-pkg/sio/Makefile
##
## 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
SUBDIRS = lib_sa
.SUFFIXES:
.SUFFIXES: .c .o .lo
all: _SUBDIRS_all $(LIB_NAME) $(TST_NAME) ($MAN_NAME)
.c.o:
$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
.c.lo:
@$(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -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:
@$(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