## ====================================================================
## Copyright (c) 1999-2000 Ralf S. Engelschall. All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
##
## 1. Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
##
## 2. Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in
## the documentation and/or other materials provided with the
## distribution.
##
## 3. All advertising materials mentioning features or use of this
## software must display the following acknowledgment:
## "This product includes software developed by
## Ralf S. Engelschall <rse@engelschall.com>."
##
## 4. Redistributions of any form whatsoever must retain the following
## acknowledgment:
## "This product includes software developed by
## Ralf S. Engelschall <rse@engelschall.com>."
##
## THIS SOFTWARE IS PROVIDED BY RALF S. ENGELSCHALL ``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 RALF S. ENGELSCHALL OR
## ITS 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
##
@SET_MAKE@
TOP = .
srcdir = @srcdir@
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
mandir = @mandir@
SHELL = /bin/sh
CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
RM = rm -f
LIBTOOL = @LIBTOOL@
SHTOOL = @SHTOOL@
MAN = mm.3 mm-config.1
OBJ = mm_global.o mm_alloc.o mm_core.o mm_lib.o mm_vers.o
LOBJ = mm_global.lo mm_alloc.lo mm_core.lo mm_lib.lo mm_vers.lo
top_builddir = ..
AUTOMAKE = automake
DISTFILES = $(MAN) ChangeLog README INSTALL LICENSE Makefile.in PORTING THANKS aclocal.m4 config.guess config.sub configure configure.in fbtool libtool ltconfig ltmain.sh mm-config mm-config.1 mm-config.in mm-config.pod mm.3 mm.h mm.pod mm_alloc.c mm_conf.h mm_conf.h.in mm_core.c mm_global.c mm_lib.c mm_test.c mm_vers.c shtool
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
_VERSION_FILE = \
mm_vers.c
_VERSION = \
$(SHTOOL) version -l c -n MM -p mm_ $$OPT $(_VERSION_FILE);\
V=`$(SHTOOL) version -l c -d long $(_VERSION_FILE)`;\
sed -e "s/Version .*(.*)/Version $$V/g" <README >README.n && mv README.n README
.SUFFIXES: .o .lo
.c.o:
$(LIBTOOL) --quiet --mode=compile $(CC) -c $(CFLAGS) $<
.c.lo:
$(LIBTOOL) --quiet --mode=compile $(CC) -c $(CFLAGS) $<
all: libmm.la $(MAN) mm_test
libmm.la: $(OBJ) $(LOBJ)
$(LIBTOOL) --quiet --mode=link $(CC) -o libmm.la $(LOBJ) \
-rpath $(libdir) -version-info `$(SHTOOL) version -l c -d libtool mm_vers.c`
mm_alloc.c mm_core.c mm_global.c: mm_conf.h mm.h mm_vers.c
check: test
test: mm_test
-@./mm_test; \
if [ $$? -eq 0 ]; then \
PLATFORM=`$(SHELL) ./config.guess`; \
PLATFORM=`$(SHELL) ./config.sub $$PLATFORM`; \
if [ ".`grep $$PLATFORM PORTING`" = . ]; then \
echo "Please send the following summary via Email to the author"; \
echo "Ralf S. Engelschall <rse@engelschall.com> for inclusion into"; \
echo "the list of successfully tested platforms (see PORTING file):"; \
echo ""; \
echo "Ok" >.fbtool; \
$(SHELL) ./fbtool -d; \
fi; \
else \
echo "Please send the following summary together with as much other"; \
echo "details about the configuration, build and test steps to the author"; \
echo "Ralf S. Engelschall <rse@engelschall.com> to help him in tracking"; \
echo "down your platform problem."; \
echo ""; \
echo "Failed" >.fbtool; \
$(SHELL) ./fbtool -d; \
fi; \
exit 0
debug: mm_test
@$(LIBTOOL) --mode=execute gdb mm_test
mm_test: mm_test.lo libmm.la
$(LIBTOOL) --quiet --mode=link $(CC) -o $@ mm_test.lo libmm.la
mm.3: mm.pod
V1=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; \
V2=`$(SHTOOL) version -l c -d long $(_VERSION_FILE)`; \
D=`$(SHTOOL) version -l c -d long $(_VERSION_FILE) | sed -e 's;.*(;;' -e 's;).*;;'`; \
pod2man --section=3 --center="Shared Memory Library" --release="$$D" --date="MM $$V1" mm.pod |\
perl -p -e 's;^(\\\&\s+.+?)([Mm][Mm]_[a-zA-Z0-9_]+)(\(.+?)$$;$$1\\fB$$2\\fR$$3;' |\
sed -e "s;MM_VERSION_STR;$$V2;" >mm.3
mm-config.1: mm-config.pod
V1=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; \
V2=`$(SHTOOL) version -l c -d long $(_VERSION_FILE)`; \
D=`$(SHTOOL) version -l c -d long $(_VERSION_FILE) | sed -e 's;.*(;;' -e 's;).*;;'`; \
pod2man --section=1 --center="Shared Memory Library" --release="$$D" --date="MM $$V1" mm-config.pod |\
perl -p -e 's;^(\\\&\s+.+?)([Mm][Mm]_[a-zA-Z0-9_]+)(\(.+?)$$;$$1\\fB$$2\\fR$$3;' |\
sed -e "s;MM_VERSION_STR;$$V2;" >mm-config.1
update:
@$(RM) ltmain.sh ltconfig shtool
@$(MAKE) $(MFLAGS) ltmain.sh ltconfig configure shtool
configure: configure.in aclocal.m4
$(RM) configure
autoconf
ltmain.sh:
@F=`libtoolize -n -c -f | grep 'cp.*ltmain.sh' |\
sed -e 's;[^/]*;;' -e 's; .*;;'`; \
echo "ltmain.sh <-- $$F"; cat $$F |\
sed -e 's:/bin/sh; then:/bin/sh || test "$$nonopt" = ./shtool;then:' \
-e 's:exec \$$SHELL \$$0 --finish:exit 0 #:' >ltmain.sh
ltconfig:
@F=`libtoolize -n -c -f | grep 'cp.*ltconfig' | sed -e 's;[^/]*;;' -e 's; .*;;'`; \
echo "ltconfig <-- $$F"; cp $$F .
shtool:
shtoolize -o shtool version echo mkdir install fixperm tarball
install: all
clean:
$(RM) mm_test mm_test.o mm_test.lo
$(RM) core *.core *.bak *~
$(RM) $(LOBJ)
$(RM) $(OBJ)
$(RM) libmm.la
$(RM) -r .libs
distclean: clean
$(RM) Makefile
$(RM) mm-config mm_conf.h
$(RM) config.h config.cache config.status config.log
$(RM) libtool
$(RM) .fbtool
realclean: distclean
$(RM) $(MAN)
distdir:
here=`cd $(top_builddir) && pwd`; \
top_distdir=`cd $(top_distdir) && pwd`; \
distdir=`cd $(distdir) && pwd`; \
for file in $(DISTFILES); do \
d=$(srcdir); \
if test -d $$d/$$file; then \
cp -pr $$d/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
dist: distclean
@$(SHTOOL) fixperm -v *; \
V=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; \
$(SHTOOL) tarball -o mm-$${V}.tar.gz -d mm-$${V} -u rse -g mm \
-e 'CVS,\.cvsignore,\.[ao],^\.' -c 'gzip --best' .; \
ls -l mm-$${V}.tar.gz
snap: distclean
@$(SHTOOL) fixperm *; \
V=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; \
$(SHTOOL) tarball -o mm-$${V}-SNAP.tar.gz -d mm-$${V}-SNAP -u rse -g mm \
-e 'CVS,\.cvsignore,\.[ao],^\.' -c 'gzip --best' .; \
ls -l mm-$${V}-SNAP.tar.gz
new-version:
@V="$(VERSION)"; \
if [ ".$$V" != . ]; then \
OPT="-s$$V"; \
else \
OPT="-e"; \
fi; \
$(_VERSION)
update-version:
OPT="-s `$(SHTOOL) version -l c -d short $(_VERSION_FILE)`" && $(_VERSION)
syntax highlighted by Code2HTML, v. 0.9.1