OSSP CVS Repository

ossp - ossp-pkg/sio/Makefile
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

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


CVSTrac 2.0.1