Re: [NEWBIE] Compiling a stock circle I got from ceramicmouse

From: George Greer (greerga@circlemud.org)
Date: 01/24/01


On Tue, 23 Jan 2001, Daniel A. Koepke wrote:

>On Tue, 23 Jan 2001, Peter Ajamian wrote:
>
>> You're not alone.  I think that one of the most common errors people
>> make when submitting a server as a contribution is they neglect to
>> delete the generated files (config.*, Makefile, *.o, circle and other
>> binaries, etc.).  When someone posts with a problem with compiling a
>> contributed server that's the first thing that I think of.
>
>I've always sort of wondered why configure pays attention to config.cache.

It's convenient for configuring multiple packages.  There could even be a
system-wide configure cache file so speed up the process of installing new
software.

>Anyway, maybe a distclean script or Makefile rule is in order?

I'd go for Makefile rule so I can get rid of the 'ship' script currently
used to package up a new CircleMUD patchlevel:

--- 8< ---
#!/bin/sh

if [ $# = 0 ];
then
        echo "ship: usage: ship <cvs-revision-tag>"
        exit
fi

VERSION=$1
shift

if [ -d $VERSION ];
then
        echo "ship: error: directory $VERSION already exists"
        exit
fi

echo Exporting $VERSION from CVS...
cvs -Q export -r $VERSION -d $VERSION circle
cd $VERSION

echo Now in directory:
pwd
echo Preparing $VERSION for shipping...

rm -f src/.accepted
rm -f `find src -name "*.o" -print`
rm -f `find . -name core -print`
rm -f src/conf.h

rm -f src/Makefile
rm -f src/util/Makefile
cat >> src/Makefile << __EOF__
all:
        # You must run "configure" in Circle's top-level directory.  See the
        # README file in that directory for more information.
__EOF__

rm -f bin/[a-z]*
rm -f config.cache
rm -f config.log
rm -f config.status
rm -f lib/core
rm -f lib/etc/players
rm -f lib/etc/players.old
rm -f lib/etc/DELETED
touch lib/etc/players
rm -f lib/etc/board.*
rm -f lib/etc/plrmail
touch lib/etc/plrmail
rm -f lib/etc/hcontrol
touch lib/etc/hcontrol
rm -f syslog
rm -f syslog.CRASH
touch syslog
rm -f log/*
echo "This directory is for log files." > log/README
rm -f lib/house/*
echo "This directory is to save objects in player houses." > lib/house/README
rm -f lib/plrobjs/*/*.objs
cd ..

echo Creating tar.gz...
rm -f $VERSION.tar.gz
tar cf $VERSION.tar $VERSION
gzip -c $VERSION.tar > $VERSION.tar.gz

echo Creating bz2...
bzip2 $VERSION.tar

echo Creating zip...
rm -f $VERSION.zip
zip -rq $VERSION.zip $VERSION
--- 8< ---

You'll have to adjust it, but that's what to base it on.

>-dak: thinks CircleMUD should have Makefile at its root.

If we ever autogenerated documentation, sure.  Until then there isn't
anything else actually made except in src/.

--
George Greer
greerga@circlemud.org

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/03/01 PST