## ==================================================================== ## Copyright (c) 1999-2001 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 ." ## ## 4. Redistributions of any form whatsoever must retain the following ## acknowledgment: ## "This product includes software developed by ## Ralf S. Engelschall ." ## ## 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 = . DESTDIR = 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 _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.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 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 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 $(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)/man1 $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(mandir)/man3 $(SHTOOL) install -c -m 755 mm-config $(DESTDIR)$(bindir)/mm-config $(SHTOOL) install -c -m 644 mm-config.1 $(DESTDIR)$(mandir)/man1/mm-config.1 $(SHTOOL) install -c -m 644 mm.3 $(DESTDIR)$(mandir)/man3/mm.3 $(SHTOOL) install -c -m 644 mm.h $(DESTDIR)$(includedir)/mm.h @$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 libmm.la $(DESTDIR)$(libdir)/libmm.la 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) 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)