Platon Technologies
neprihlásený Prihlásiť Registrácia
SlovakEnglish
open source software development oslavujeme 10 rokov vývoja otvoreného softvéru! Sobota, 7. marec 2026

Súbor: [Platon] / platos / _scripts / build-struct (stiahnutie)

Revízia 1.14, Sat Feb 22 03:13:50 2014 UTC (12 years ago) by nepto


Zmeny od 1.13: +2 -2 [lines]

Shell changed to bash, because something was not working properly

#!/bin/bash

#
# build-struct - script used in conjuction with Makefile of 'office'
#                Creates directory structure for typeseting Postscript
#                and PDF document from one *.tex file
#
# Usage: ./build-struct <directory>
#
# Developed by Lubomir Host 'rajo' <rajo AT platon.sk>
# Copyright (c) 2003 Platon SDG
# Licensed under terms of GNU General Public License.
# All rights reserved.
#
# Changelog:
# 30/01/2003 - created
#

# $Platon: Platon.SK/office/_scripts/build-struct,v 1.13 2005-09-18 10:27:22 rajo Exp $

usage()
{ # {{{
    echo -e "${RED}Usage:"
    echo
    echo -e "$0 <PostScript|PDF|HTML|RTF> <LATEX|PDFLATEX|LATEX2HTML|LATEX2RTF> <command>${RESET}"
    echo
    exit 1
} # }}}

test_environ()
{ # {{{
    for i in $*; do
        if [ -z "${!i}" ]; then
            echo -e "${RED}Empty ${YELLOW}\$$i${RED}, did you specify it in Makefile and export it?${RESET}"
            exit 1
        fi
    done

} # }}}

make_symlinks()
{ # {{{
    dirname="$1"
    outname="$2"
    in_name="$3"

    inp="${!in_name}"
    
    test -d $dirname || mkdir -p $dirname
    cd $dirname \
        && (
            ln -s -f "../$outname" "$outname";
            for i in $inp; do
                ln -s -f "../$i" "$i"
            done;
            for i in $DEPEND_all; do
                f="`basename $i`"
                rm -f "$f"
                ln -s -f "../$i" "$f" \
                    || cp "../$i" "$f"
            done
        )
} # }}}

if [ "$#" -lt "3" ]; then
    usage;
fi

test_environ \
    DEPEND_all \
    OUTPUT \
    TOP_DIR

# tests for availability of required commands
# {{{
if [ "X$2" = "X" ]; then
    usage;
fi
if [ "X$3" = "X" ]; then
    echo -e "${RED}Please, specify command $2= in your Makefile${RESET}"
    exit 1
else
    cmd="`which $3`";
    version="`$cmd -v 2>/dev/null | head -n 1`"
    if [ "Bad$version" = "Bad" ]; then
        echo -e "${RED}Command ${YELLOW}$3${RED} returns bad version string, Building of $1 skipped ...${RESET}"
        exit 1;
    fi
fi
# }}}

echo -e "${BLUE}Building ${MAGENTA}$1${BLUE} with ${YELLOW}$cmd${BLUE} version ${YELLOW}$version${RESET}"
# {{{
if [ "X$1" = "XPostScript" ]; then
    
    test_environ ps__INPUT ps__OUTPUT
    make_symlinks PostScript ps__OUTPUT ps__INPUT

elif [ "X$1" = "XPDF" ]; then

    test_environ pdf_INPUT pdf_OUTPUT
    make_symlinks PDF pdf_OUTPUT pdf_INPUT

elif [ "X$1" = "XHTML" ]; then

    test_environ htm_INPUT htm_OUTPUT
    make_symlinks HTML htm_OUTPUT htm_INPUT

elif [ "X$1" = "XRTF" ]; then

    test_environ rtf_INPUT rtf_OUTPUT
    make_symlinks RTF rtf_OUTPUT rtf_INPUT

else
    echo -e "${RED}I don't know, what do you want with parameter '$1'...${RESET}"
    exit 1
fi
#}}}

# vim: fdm=marker fdl=0 fdc=3


Platon Group <platon@platon.sk> http://platon.sk/
Copyright © 2002-2006 Platon Group
Stránka používa redakčný systém Metafox
Na začiatok