Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/thierry_delisle/Makefile

    r484ee53 re76bd39  
    1 ## Define the configuration variables.
     1## Define the appropriate configuration variables.
    22
    3 Build = build
    4 Figures = figures
    5 Macros = ../../LaTeXmacros
    6 TeXLIB = .:style:text:annex:${Macros}:${Build}:../../bibliography:
    7 LaTeX  = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
     3TeXLIB = .:./style:./text:./annex:./build:../../LaTeXmacros:../../LaTeXmacros/listings:../../LaTeXmacros/enumitem:~/bibliographies:/usr/local/bibliographies:
     4LaTeX  = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=build -interaction=nonstopmode
    85BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex -terse
    9 
    10 MAKEFLAGS = --no-print-directory --silent #
    11 VPATH = ${Build} ${Figures}
    126
    137## Define the text source files.
     
    3024}
    3125
    32 FIGURES = ${addsuffix .tex, \
    33 monitor \
    34 ext_monitor \
    35 int_monitor \
    36 dependency \
    37 }
     26FIGURES = ${addprefix build/, ${addsuffix .tex, \
     27        monitor \
     28        ext_monitor \
     29        int_monitor \
     30        dependency \
     31}}
    3832
    39 PICTURES = ${addsuffix .pstex, \
    40 system \
    41 monitor_structs \
    42 }
     33PICTURES = ${addprefix build/, ${addsuffix .pstex, \
     34        system \
     35        monitor_structs \
     36}}
    4337
    4438PROGRAMS = ${addsuffix .tex, \
     
    5145
    5246DOCUMENT = thesis.pdf
    53 BASE = ${basename ${DOCUMENT}}
    5447
    5548# Directives #
    56 
    57 .PHONY : all clean                                      # not file names
    5849
    5950all : ${DOCUMENT}
    6051
    6152clean :
    62         @rm -frv ${DOCUMENT} ${BASE}.ps ${Build}
     53        @rm -fv ${DOCUMENT} \
     54        build/*.acn     \
     55        build/*.acr     \
     56        build/*.alg     \
     57        build/*.aux     \
     58        build/*.bbl     \
     59        build/*.blg     \
     60        build/*.brf     \
     61        build/*.cf      \
     62        build/*.dvi     \
     63        build/*.glg     \
     64        build/*.glo     \
     65        build/*.gls     \
     66        build/*.ist     \
     67        build/*.idx     \
     68        build/*.ilg     \
     69        build/*.ind     \
     70        build/*.log     \
     71        build/*.out     \
     72        build/*.ps      \
     73        build/*.pstex   \
     74        build/*.pstex_t \
     75        build/*.tex     \
     76        build/*.toc     \
     77        build/*.lof     \
     78        build/*.lol     \
     79        build/*.lot     \
     80        figures/*.tex   \
     81        *.png           \
     82
    6383
    6484# File Dependencies #
    6585
    66 ${DOCUMENT} : ${BASE}.ps
     86${DOCUMENT} : build/${basename ${DOCUMENT}}.ps
    6787        ps2pdf $<
    6888
    69 ${BASE}.ps : ${BASE}.dvi
    70         dvips ${Build}/$< -o $@
     89build/${basename ${DOCUMENT}}.ps : build/${basename ${DOCUMENT}}.dvi
     90        dvips $< -o $@
    7191
    72 ${BASE}.dvi : Makefile ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
    73                 ${Macros}/common.tex ${Macros}/indexstyle annex/local.bib ../../bibliography/pl.bib | ${Build}
    74         # Must have *.aux file containing citations for bibtex
    75         if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} ${basename $@}.tex ; fi
    76         -${BibTeX} ${Build}/${basename $@}
    77         # Some citations reference others so run again to resolve these citations
    78         ${LaTeX} ${basename $@}.tex
    79         -${BibTeX} ${Build}/${basename $@}
    80         # Make index from *.aux entries and input index at end of document
    81         makeglossaries -q -s ${Build}/${basename $@}.ist ${Build}/${basename $@}
    82         -version.sh
    83         # Run again to finish citations
    84         ${LaTeX} ${basename $@}.tex
     92build/${basename ${DOCUMENT}}.dvi : Makefile ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} ${basename ${DOCUMENT}}.tex ../../LaTeXmacros/common.tex ../../LaTeXmacros/indexstyle annex/local.bib
     93
     94        @ if [ ! -r ${basename $@}.ind ] ; then touch ${basename $@}.ind ; fi                           # Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
     95        @ echo "Citation lookup"                                                                                        # Must have *.aux file containing citations for bibtex
     96        @ if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} ${basename ${notdir $@}}.tex ; fi
     97        @ echo "Citation Pass 1"
     98        @ -${BibTeX} ${basename $@}                                                                                     # Some citations reference others so run steps again to resolve these citations
     99        @ echo "Citation Pass 2"
     100        @ ${LaTeX} ${basename ${notdir $@}}.tex
     101        @ -${BibTeX} ${basename $@}
     102        @ echo "Glossary"
     103        @ makeglossaries -q -s ${basename $@}.ist ${basename $@}                                                # Make index from *.aux entries and input index at end of document
     104        @ echo ".dvi generation"
     105        @ -build/bump_ver.sh
     106        @ ${LaTeX} ${basename ${notdir $@}}.tex                                                                 # Run again to get index title into table of contents
     107
     108
     109predefined :
     110        sed -f predefined.sed ${basename ${DOCUMENT}}.tex > ${basename $@}.cf
    85111
    86112## Define the default recipes.
    87113
    88 ${Build}:
    89         mkdir -p ${Build}
     114build/%.tex : figures/%.fig
     115        fig2dev -L eepic $< > $@
    90116
    91 %.tex : %.fig ${Build}
    92         fig2dev -L eepic $< > ${Build}/$@
     117build/%.ps : figures/%.fig
     118        fig2dev -L ps $< > $@
    93119
    94 %.ps : %.fig | ${Build}
    95         fig2dev -L ps $< > ${Build}/$@
    96 
    97 %.pstex : %.fig | ${Build}
    98         fig2dev -L pstex $< > ${Build}/$@
    99         fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
     120build/%.pstex : figures/%.fig
     121        fig2dev -L pstex $< > $@
     122        fig2dev -L pstex_t -p $@ $< > $@_t
    100123
    101124#-----------------------------------------------------------------------------------
    102125# Tools to generate png files
    103126# to create a png we create a pdf and convert it to png
    104 %.png : build/%.pstex figures/%.tex ${Build}
     127%.png : build/%.pstex figures/%.tex
    105128        echo ${basename $@}
    106129        ${LaTeX} figures/${basename $@}.tex
     
    110133
    111134# creating a pdf of a figure requires generating some latex that just includes the figure
    112 figures/%.tex: build/%.pstex ${Build}
     135figures/%.tex: build/%.pstex
    113136        echo -n         "\documentclass[preview]{standalone}\n"         \
    114137                        "\usepackage[T1]{fontenc}\n"                    \
     
    122145                        "\end{document}" > $@
    123146
     147
     148
    124149# Local Variables: #
    125150# compile-command: "make" #
Note: See TracChangeset for help on using the changeset viewer.