-#=======================================================================
+# =======================================================================
 # Makefile for generating LaTeX documents
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
 #
 # This is a simple makefile for generating LaTeX documents. It will
 # run bibtex, generate eps from xfig figures, and make pdfs. The
 # Relative to output:
 relsrcdir = ../$(srcdir)
 
+doc_target = power-spec
+
 docs_with_bib = power-spec
 docs_without_bib =
 
 # You shouldn't need to change anything below this
 #=======================================================================
 
+# : needed after ../src/ in TEXINPUTS so that it looks in standard places
 PDFLATEX := TEXINPUTS=$(relsrcdir): pdflatex -interaction=nonstopmode -halt-on-error
 BIBTEX := BIBINPUTS=$(relsrcdir): bibtex
+GLOSSARIES := makeglossaries
 
 default : $(outdir) pdf
 
 
 pdfs_with_bib = $(addsuffix .pdf, $(docs_with_bib))
 pdfs_without_bib = $(addsuffix .pdf, $(docs_without_bib))
-pdfs = $(pdfs_with_bib) $(pdfs_without_bib)
+pdfs = $(pdfs_with_bib)
 
 Makefile:      build/Makefile
        ln -s $^ .
 open: $(pdfs)
        open $(pdfs)
 
+# This is not nice. To generate the glossary you need a .aux file,
+# .aux is generated by pdflatex - which complains as there are undefined names
+# Also if \gls are used in glossary.tex before they are defined - there are
+# similar problems, so makeglossaries needs to be run twice.
 $(pdfs_with_bib): %.pdf: $(srcdir)/%.tex $(srcs) $(figs) $(bibs)
-       cd $(outdir); $(PDFLATEX) $* || true
-       cd $(outdir); $(BIBTEX) $* || true
-       cd $(outdir); $(PDFLATEX) $* || true
-       cd $(outdir); makeglossaries $* || true
-       cd $(outdir); $(PDFLATEX) $* || true
+       cd $(outdir); $(PDFLATEX) $(doc_target)
+       cd $(outdir); $(BIBTEX) $(doc_target)
+       cd $(outdir); $(GLOSSARIES) $(doc_target)
+       cd $(outdir); $(PDFLATEX) $(doc_target)
+       cd $(outdir); $(GLOSSARIES) $(doc_target)
 
 $(pdfs_without_bib): %.pdf: $(srcdir)/%.tex $(srcs) $(figs)
        cd $(outdir); $(PDFLATEX) $* || true