Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/thierry_delisle/Makefile

    re8db295 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, \
     
    5448# Directives #
    5549
    56 .PHONY : all clean                                      # not file names
    57 
    5850all : ${DOCUMENT}
    5951
    6052clean :
    61         @rm -frv ${DOCUMENT} ${basename ${DOCUMENT}}.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
    6283
    6384# File Dependencies #
    6485
    65 ${DOCUMENT} : ${basename ${DOCUMENT}}.ps
     86${DOCUMENT} : build/${basename ${DOCUMENT}}.ps
    6687        ps2pdf $<
    6788
    68 ${basename ${DOCUMENT}}.ps : ${basename ${DOCUMENT}}.dvi
    69         dvips ${Build}/$< -o $@
     89build/${basename ${DOCUMENT}}.ps : build/${basename ${DOCUMENT}}.dvi
     90        dvips $< -o $@
    7091
    71 ${basename ${DOCUMENT}}.dvi : Makefile ${Build} ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
    72                 ${Macros}/common.tex ${Macros}/indexstyle annex/local.bib ../../bibliography/pl.bib
    73         # Must have *.aux file containing citations for bibtex
    74         if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} ${basename $@}.tex ; fi
    75         -${BibTeX} ${Build}/${basename $@}
    76         # Some citations reference others so run again to resolve these citations
    77         ${LaTeX} ${basename $@}.tex
    78         -${BibTeX} ${Build}/${basename $@}
    79         # Make index from *.aux entries and input index at end of document
    80         makeglossaries -q -s ${Build}/${basename $@}.ist ${Build}/${basename $@}
    81         -version.sh
    82         # Run again to finish citations
    83         ${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
    84111
    85112## Define the default recipes.
    86113
    87 ${Build}:
    88         mkdir -p ${Build}
     114build/%.tex : figures/%.fig
     115        fig2dev -L eepic $< > $@
    89116
    90 %.tex : %.fig ${Build}
    91         fig2dev -L eepic $< > ${Build}/$@
     117build/%.ps : figures/%.fig
     118        fig2dev -L ps $< > $@
    92119
    93 %.ps : %.fig ${Build}
    94         fig2dev -L ps $< > ${Build}/$@
    95 
    96 %.pstex : %.fig ${Build}
    97         fig2dev -L pstex $< > ${Build}/$@
    98         fig2dev -L pstex_t -p ${Build}/$@ $< > ${Build}/$@_t
     120build/%.pstex : figures/%.fig
     121        fig2dev -L pstex $< > $@
     122        fig2dev -L pstex_t -p $@ $< > $@_t
    99123
    100124#-----------------------------------------------------------------------------------
    101125# Tools to generate png files
    102126# to create a png we create a pdf and convert it to png
    103 %.png : build/%.pstex figures/%.tex ${Build}
     127%.png : build/%.pstex figures/%.tex
    104128        echo ${basename $@}
    105129        ${LaTeX} figures/${basename $@}.tex
     
    109133
    110134# creating a pdf of a figure requires generating some latex that just includes the figure
    111 figures/%.tex: build/%.pstex ${Build}
     135figures/%.tex: build/%.pstex
    112136        echo -n         "\documentclass[preview]{standalone}\n"         \
    113137                        "\usepackage[T1]{fontenc}\n"                    \
     
    121145                        "\end{document}" > $@
    122146
     147
     148
    123149# Local Variables: #
    124150# compile-command: "make" #
Note: See TracChangeset for help on using the changeset viewer.