0.4.0.0rc1

parent 956a5ec9
GIT_CHECKOUT=master
VERSION=${GIT_CHECKOUT}
VERSION_SUFFIX=-${VERSION}
PACKAGE_DB= --user # --package-db="${PWD}/roguestar-local/cabal-package-db"
OPTS=
CONFIGURE_OPTS=${PACKAGE_DB} --prefix="${PWD}/roguestar-local" ${OPTS}
DEPENDS_OPTS=${PACKAGE_DB} --enable-library-profiling --enable-executable-profiling
# Change these to make dist from somewhere other than the downstairspeople.org repo.
GIT_ORIGIN_PATH=http://www.downstairspeople.org/git
GIT_ORIGIN_SUFFIX=.git
make : roguestar-gl roguestar-engine rsagl-demos
depends-setup :
-rm -rf roguestar-local
mkdir roguestar-local
echo "[]" > roguestar-local/cabal-package-db
# Everything that debian doesn't ship with:
cabal install Vec ${DEPENDS_OPTS}
cabal install MaybeT ${DEPENDS_OPTS}
cabal install MonadRandom ${DEPENDS_OPTS}
cabal install heap ${DEPENDS_OPTS}
cabal install data-inttrie ${DEPENDS_OPTS}
cabal install data-memocombinators ${DEPENDS_OPTS}
setup :
(cd priority-sync && runghc Setup.hs clean && runghc Setup.hs configure ${CONFIGURE_OPTS} ${CONFIGURE_ROGUESTAR_OPTS})
(cd roguestar-engine && runghc Setup.hs clean && runghc Setup.hs configure ${CONFIGURE_OPTS} ${CONFIGURE_ROGUESTAR_OPTS})
(cd rsagl && runghc Setup.hs clean && runghc Setup.hs configure ${CONFIGURE_OPTS} ${CONFIGURE_ROGUESTAR_OPTS})
(cd rsagl && runghc Setup.hs build && runghc Setup.hs install)
(cd roguestar-gl && runghc Setup.hs clean && runghc Setup.hs configure ${CONFIGURE_OPTS} ${CONFIGURE_ROGUESTAR_OPTS})
(cd rsagl-demos && runghc Setup.hs clean && runghc Setup.hs configure ${CONFIGURE_OPTS} ${CONFIGURE_ROGUESTAR_OPTS})
setup-profile :
${MAKE} setup -e OPTS="--enable-library-profiling --enable-executable-profiling"
rsagl :
(cd rsagl && runghc Setup.hs build && runghc Setup.hs install)
roguestar-gl : rsagl
(cd roguestar-gl && runghc Setup.hs build && runghc Setup.hs install)
roguestar-engine :
(cd roguestar-engine && runghc Setup.hs build && runghc Setup.hs install)
rsagl-demos : rsagl
(cd rsagl-demos && runghc Setup.hs build && runghc Setup.hs install)
rsagl-doc :
(cd rsagl && runghc Setup.hs haddock --internal)
from-scratch :
${MAKE} depends-setup
${MAKE} setup
${MAKE}
clean :
-rm -rf roguestar-local
-rm -rf dist
-rm -rf dist-test
-(cd roguestar-engine && runghc Setup.hs clean)
-(cd roguestar-gl && runghc Setup.hs clean)
-(cd rsagl && runghc Setup.hs clean)
-(cd rsagl-demos && runghc Setup.hs clean)
dist :
rm -rf dist
rm -rf dist-test
mkdir -p dist/roguestar${VERSION_SUFFIX}
git clone -q ${GIT_ORIGIN_PATH}/roguestar-engine${GIT_ORIGIN_SUFFIX} dist/roguestar${VERSION_SUFFIX}/roguestar-engine
git clone -q ${GIT_ORIGIN_PATH}/roguestar-gl${GIT_ORIGIN_SUFFIX} dist/roguestar${VERSION_SUFFIX}/roguestar-gl
git clone -q ${GIT_ORIGIN_PATH}/rsagl${GIT_ORIGIN_SUFFIX} dist/roguestar${VERSION_SUFFIX}/rsagl
(cd dist/roguestar${VERSION_SUFFIX}/rsagl && git checkout ${GIT_CHECKOUT} && rm -rf .git)
(cd dist/roguestar${VERSION_SUFFIX}/roguestar-gl && git checkout ${GIT_CHECKOUT} && rm -rf .git)
(cd dist/roguestar${VERSION_SUFFIX}/roguestar-engine && git checkout ${GIT_CHECKOUT} && rm -rf .git)
(cd dist; tar c roguestar${VERSION_SUFFIX}/ | gzip -9 > roguestar${VERSION_SUFFIX}.tar.gz )
(cd dist/roguestar${VERSION_SUFFIX}/roguestar-engine && runghc Setup.hs sdist && cp dist/roguestar-engine-${VERSION}.tar.gz ../..)
(cd dist/roguestar${VERSION_SUFFIX}/roguestar-gl && runghc Setup.hs sdist && cp dist/roguestar-gl-${VERSION}.tar.gz ../..)
(cd dist/roguestar${VERSION_SUFFIX}/rsagl && runghc Setup.hs sdist && cp dist/rsagl-${VERSION}.tar.gz ../..)
mkdir -p dist-test/src
echo "[]" > "${PWD}/dist-test/cabal-package-db"
cp dist/roguestar-engine-${VERSION}.tar.gz dist-test/src/
cp dist/roguestar-gl-${VERSION}.tar.gz dist-test/src/
cp dist/rsagl-${VERSION}.tar.gz dist-test/src/
(cd dist-test/src && tar xzf roguestar-engine-${VERSION}.tar.gz && cd roguestar-engine-${VERSION} && \
runghc Setup.hs configure --disable-optimization --package-db="${PWD}/dist-test/cabal-package-db" --prefix="${PWD}/dist-test" \
&& runghc Setup.hs build && runghc Setup.hs install)
(cd dist-test/src && tar xzf rsagl-${VERSION}.tar.gz && cd rsagl-${VERSION} && \
runghc Setup.hs configure --disable-optimization --package-db="${PWD}/dist-test/cabal-package-db" --prefix="${PWD}/dist-test" && \
runghc Setup.hs build && runghc Setup.hs install)
(cd dist-test/src && tar xzf roguestar-gl-${VERSION}.tar.gz && cd roguestar-gl-${VERSION} && \
runghc Setup.hs configure --disable-optimization --package-db="${PWD}/dist-test/cabal-package-db" --prefix="${PWD}/dist-test" && \
runghc Setup.hs build && runghc Setup.hs install)
(dist-test/bin/roguestar-engine version | grep ${VERSION})
(cd dist/roguestar${VERSION_SUFFIX}/roguestar-engine && cabal check)
(cd dist/roguestar${VERSION_SUFFIX}/roguestar-gl && cabal check)
(cd dist/roguestar${VERSION_SUFFIX}/rsagl && cabal check)
@echo "This distribution looks good. Try dist-test/bin/roguestar."
dist-snapshot :
${MAKE} dist -e VERSION_SUFFIX="-${GIT_CHECKOUT}-`date --utc +%Y%m%d%H%M`"
dist-local :
${MAKE} dist-snapshot -e GIT_ORIGIN_PATH=. -e GIT_ORIGIN_SUFFIX=/.git
.PHONY: default download make setup setup-clean dist dist-snapshot dist-local roguestar-engine roguestar-gl rsagl from-scratch rsagl-doc rsagl-demos
CONFIG_LIB_OPTS=--ghc-option=-Wall
CONFIG_BIN_OPTS=--prefix=./roguestar-local --ghc-option=-Wall
warning:
echo "See README."
install-deps:
cabal --version
cabal install Vec ${OPTS}
cabal install MaybeT ${OPTS}
cabal install MonadRandom ${OPTS}
cabal install data-inttrie ${OPTS}
cabal install data-memocombinators ${OPTS}
cabal install PSQueue ${OPTS}
cabal install vector ${OPTS}
cabal install statistics ${OPTS}
clean:
-rm -rf ./roguestar-local
-rm -rf ./roguestar-sdist
${MAKE} clean-libs
${MAKE} clean-bins
clean-libs:
(cd priority-sync && cabal clean ${OPTS})
(cd rsagl && cabal clean ${OPTS})
(cd rsagl-demos && cabal clean ${OPTS})
clean-bins:
(cd roguestar-engine && cabal clean ${OPTS})
(cd roguestar-gl && cabal clean ${OPTS})
config-libs:
(cd priority-sync && cabal configure --user ${CONFIG_LIB_OPTS} ${OPTS})
(cd rsagl && cabal configure --user ${CONFIG_LIB_OPTS} ${OPTS})
config-bins:
mkdir -p ./roguestar-local
(cd rsagl-demos && cabal configure --user ${CONFIG_BIN_OPTS} ${OPTS})
(cd roguestar-engine && cabal configure --user ${CONFIG_BIN_OPTS} ${OPTS})
(cd roguestar-gl && cabal configure --user ${CONFIG_BIN_OPTS} ${OPTS})
build-libs:
(cd priority-sync && cabal build ${OPTS})
(cd rsagl && cabal build ${OPTS})
build-bins:
(cd rsagl-demos && cabal build ${OPTS})
(cd roguestar-engine && cabal build ${OPTS})
(cd roguestar-gl && cabal build ${OPTS})
copy-libs:
(cd priority-sync && cabal copy ${OPTS})
(cd rsagl && cabal copy ${OPTS})
copy-bins:
(cd rsagl-demos && cabal copy ${OPTS})
(cd roguestar-engine && cabal copy ${OPTS})
(cd roguestar-gl && cabal copy ${OPTS})
install-libs:
(cd priority-sync && cabal install --reinstall ${OPTS})
(cd rsagl && cabal install --reinstall ${OPTS})
install-bins:
(cd rsagl-demos && cabal install --reinstall ${OPTS})
(cd roguestar-engine && cabal install --reinstall ${OPTS})
(cd roguestar-gl && cabal install --reinstall ${OPTS})
install:
${MAKE} install-libs
${MAKE} install-bins
from-scratch:
${MAKE} clean -e OPTS=""
${MAKE} config-libs -e OPTS=""
${MAKE} build-libs -e OPTS=""
${MAKE} copy-libs -e OPTS=""
${MAKE} config-bins -e OPTS=""
${MAKE} build-bins -e OPTS=""
${MAKE} copy-bins -e OPTS=""
from-libs:
${MAKE} build-libs -e OPTS=""
${MAKE} copy-libs -e OPTS=""
${MAKE} clean-bins -e OPTS=""
${MAKE} config-bins -e OPTS=""
${MAKE} build-bins -e OPTS=""
${MAKE} copy-bins -e OPTS=""
sdist:
(cd priority-sync && cabal check && cabal sdist ${OPTS})
(cd rsagl && cabal check && cabal sdist ${OPTS})
(cd rsagl-demos && cabal check && cabal sdist ${OPTS})
(cd roguestar-engine && cabal check && cabal sdist ${OPTS})
(cd roguestar-gl && cabal check && cabal sdist ${OPTS})
mkdir -p ./roguestar-sdist
cp priority-sync/dist/*.tar.gz ./roguestar-sdist
cp rsagl/dist/*.tar.gz ./roguestar-sdist
cp rsagl-demos/dist/*.tar.gz ./roguestar-sdist
cp roguestar-engine/dist/*.tar.gz ./roguestar-sdist
cp roguestar-gl/dist/*.tar.gz ./roguestar-sdist
ls roguestar-sdist
Roguestar: Meta-Package / Maintainer's Package README
=====================================================
This git repository contains all of the packages that make up roguestar.
The binary packages:
* roguestar-engine
* roguestar-gl
* rsagl-demos
And the library packages:
* rsagl (RogueStar Animation and Graphics Library)
* priority-sync
The library packages must be installed before the binary packages can
even be configured.
Maintainer Scripts
------------------
To facilitate maintenance, there is a `Makefile` that contains
numerous convenient maintainer scripts.
Unfortunately, cabal doesn't seem to be reliable enough when used
with `--package-db` to consistantly get roguestar to build and install
from scratch in a throwaway directory without touching the user's `~/.cabal`.
The makefile accepts the following actions:
install-deps [-e OPTS=cabal install opts]
: use cabal to install all dependencies not in the
: haskell-platform.
clean [-e OPTS=cabal clean opts]
: restore everything to a pristine state
clean-bin [-e OPTS=cabal clean opts]
: clean the binaries
config-libs [-e OPTS=cabal configure opts]
: (re)configure the libraries
: by default, uses --user
config-bin [-e OPTS=cabal configure opts]
: (re)configure the binaries
: by default, uses --user
: by default, the prefix is ./roguestar-local
build-libs [-e OPTS=cabal build opts]
: build the libraries
build-bin [-e OPTS=cabal build opts]
: build the binaries
copy-libs [-e OPTS=cabal copy opts]
: install the libraries
: by default, they will end up in your ~/.cabal
: by default, uses --reinstall
copy-bins [-e OPTS=cabal copy opts]
: install the binaries
: by default, uses --reinstall
install-libs [-e OPTS=cabal install opts]
: install the libraries
: by default, they will end up in your ~/.cabal
: by default, uses --reinstall
install-bins [-e OPTS=cabal install opts]
: install the binaries
: by default, uses --reinstall
install [-e OPTS=cabal install opts]
: install everything
from-scratch (uses default opts)
: clean, configure, build, and install that whole thing
from-libs (uses default opts)
: rebuild and install the libs, clean, configure, build, and install the binaries
sdist [-e OPTS=cabal sdist opts]
: perform a cabal sdist, and gather everything under roguestar-sdist
roguestar-engine @ 6807e687
Subproject commit de520c4dae44e31be53a42a9121f58a01d316076
Subproject commit 6807e68797b4893074dc48fca4f62432e0a9e959
roguestar-gl @ 624722c2
Subproject commit de5deb263bbb8ce700a847e433ddfcf901678686
Subproject commit 624722c2a9fe513204460b58c870ee1ce0098757
rsagl @ 11b51553
Subproject commit 8c07301a3b3660c5b44be5b93f55a042d32018ff
Subproject commit 11b51553703bfa91a2512069fd2e16dd6ebf630d
rsagl-demos @ 3e876880
Subproject commit 4f48fe0c2d0d34191cac4a25eca6ca3517eb8bf3
Subproject commit 3e8768803e23e6f3312614d4e72123e6d31db5ee
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment