#! /usr/bin/env bash trap 'exit 1' ERR build=build libcult=libcult libfe=libfrontend-elements libbe=libbackend-elements libxsd_fe=libxsd-frontend xsde=xsde pwd=`pwd` MAKEFLAGS="-I$pwd/stage/include $MAKEFLAGS" target=$1 if [ "$target" = "dist" ]; then # Since we only want to package XSD/e, we will handle # this target at the end. target= fi # build # if [ ! -d $pwd/stage/include/build-* ]; then make -C $build install_prefix=$pwd/stage install fi # libcult # make $MAKEFLAGS -C $libcult/cult $target if [ "$target" = "clean" ]; then rm -f $pwd/stage/include/cult rm -f $pwd/stage/lib/libcult.a rm -f $libcult/build/system/configuration-dynamic.make else if [ ! -d $pwd/stage/include/cult ]; then ln -s ../../$libcult/cult stage/include/ ln -s ../../$libcult/cult/libcult.a stage/lib/ fi fi # libfrontend-elements # make $MAKEFLAGS -C $libfe/frontend-elements $target if [ "$target" = "clean" ]; then rm -f $pwd/stage/include/frontend-elements rm -f $pwd/stage/lib/libfrontend-elements.a else if [ ! -d $pwd/stage/include/frontend-elements ]; then ln -s ../../$libfe/frontend-elements stage/include/ ln -s ../../$libfe/frontend-elements/libfrontend-elements.a stage/lib/ fi fi # libbackend-elements # make $MAKEFLAGS -C $libbe/backend-elements $target if [ "$target" = "clean" ]; then rm -f $pwd/stage/include/backend-elements else if [ ! -d $pwd/stage/include/backend-elements ]; then ln -s ../../$libbe/backend-elements stage/include/ fi fi # libxsd-frontend # make $MAKEFLAGS -C $libxsd_fe/xsd-frontend $target if [ "$target" = "clean" ]; then rm -f $pwd/stage/include/xsd-frontend rm -f $pwd/stage/lib/libxsd-frontend.a else if [ ! -d $pwd/stage/include/xsd-frontend ]; then ln -s ../../$libxsd_fe/xsd-frontend stage/include/ ln -s ../../$libxsd_fe/xsd-frontend/libxsd-frontend.a stage/lib/ fi fi # xsde # if [ "$target" = "clean" ]; then make $MAKEFLAGS -C $xsde clean rm -fr $pwd/dist else make $MAKEFLAGS -C $xsde/xsde $target fi if [ "$1" = "dist" ]; then make $MAKEFLAGS -C $xsde dist_prefix=$pwd/dist/$xsde dist fi # build (clean) # if [ "$target" = "clean" ]; then rm -rf $pwd/stage/include/build-* fi