| ## ==================================================================== |
| ## Copyright (c) 1999 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 = . |
| 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 >README.n && mv README.n README |
| |
| .SUFFIXES: .o .lo |
| |
| .c.o: |
| $(LIBTOOL) --quiet $(CC) -c $(CFLAGS) $< |
| |
| .c.lo: |
| $(LIBTOOL) --quiet $(CC) -c $(CFLAGS) $< |
| |
| all: libmm.la $(MAN) mm_test |
| |
| libmm.la: $(OBJ) $(LOBJ) |
| $(LIBTOOL) --quiet $(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 |
| |
| test: mm_test |
| @./mm_test; \ |
| if [ $$? -eq 0 ]; then \ |
| PLATFORM=`./config.guess`; PLATFORM=`./config.sub $$PLATFORM`; \ |
| if [ ".`grep $$PLATFORM README`" = . ]; 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 README file):"; \ |
| echo ""; \ |
| echo "Ok" >.fbtool; \ |
| ./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; \ |
| ./fbtool -d; \ |
| fi |
| |
| debug: mm_test |
| @$(LIBTOOL) --mode=execute gdb mm_test |
| |
| mm_test: mm_test.lo libmm.la |
| $(LIBTOOL) --quiet $(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=3 --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 |
| @$(MAKE) $(MFLAGS) ltmain.sh ltconfig configure |
| |
| 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 . |
| |
| install: all |
| $(SHTOOL) mkdir -f -p -m 755 $(bindir) |
| $(SHTOOL) mkdir -f -p -m 755 $(includedir) |
| $(SHTOOL) mkdir -f -p -m 755 $(libdir) |
| $(SHTOOL) mkdir -f -p -m 755 $(mandir)/man1 |
| $(SHTOOL) mkdir -f -p -m 755 $(mandir)/man3 |
| $(SHTOOL) install -c -m 755 mm-config $(bindir)/mm-config |
| $(SHTOOL) install -c -m 644 mm-config.1 $(mandir)/man1/mm-config.1 |
| $(SHTOOL) install -c -m 644 mm.3 $(mandir)/man3/mm.3 |
| $(SHTOOL) install -c -m 644 mm.h $(includedir)/mm.h |
| @$(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 libmm.la $(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)`; \ |
| gtar --no-recursion -cvf - `find * -depth -print | sort | grep -v CVS | grep -v .cvsignore ` |\ |
| tardy --user_number=0 --user_name=rse \ |
| --group_number=0 --group_name=en \ |
| --prefix=mm-$$V - |\ |
| gzip --best >/tmp/mm-$$V.tar.gz && \ |
| cp /tmp/mm-$$V.tar.gz .; rm -f /tmp/mm-$$V.tar.gz; \ |
| ls -l mm-$$V.tar.gz |
| |
| snap: distclean |
| @$(SHTOOL) fixperm *; \ |
| V=`$(SHTOOL) version -l c -d short $(_VERSION_FILE)`; \ |
| gtar --no-recursion -cvf - `find * -depth -print | sort | grep -v CVS | grep -v .cvsignore ` |\ |
| tardy --user_number=0 --user_name=rse \ |
| --group_number=0 --group_name=en \ |
| --prefix=mm-$$V - |\ |
| gzip --best >/tmp/mm-$$V-SNAP.tar.gz && \ |
| cp /tmp/mm-$$V-SNAP.tar.gz .; rm -f /tmp/mm-$$V-SNAP.tar.gz; \ |
| ls -l mm-$$V-SNAP.tar.gz |
| |
| new-version: |
| OPT='-i v' && $(_VERSION) |
| new-revision: |
| OPT='-i r' && $(_VERSION) |
| new-patchlevel: |
| OPT='-i P' && $(_VERSION) |
| new-betalevel: |
| OPT='-i b' && $(_VERSION) |
| new-alphalevel: |
| OPT='-i a' && $(_VERSION) |
| new-snaplevel: |
| OPT='-i s' && $(_VERSION) |
| new-release: |
| OPT='-s $(R)' && $(_VERSION) |
| update-version: |
| OPT="-s `$(SHTOOL) version -l c -d short $(_VERSION_FILE)`" && $(_VERSION) |
| |