\setbeamercolor*{fine separation line}{}
\setbeamercovered{transparent}
\logo{\begin{tikzpicture}% Pale figure
- {\node[opacity=0.7]{\IfFileExists{./logo.pdf}{\includegraphics[height=1.5cm]{logo.pdf}}{}%
+ {\node[opacity=0.7]{\IfFileExists{./logo.pdf}{\includegraphics[height=1cm,width=1cm,keepaspectratio]{logo.pdf}}{}%
};}%
\end{tikzpicture}}
}
\begin{itemize}
\item Ubiquitous -- any machine which you can run command line tools
on has GNU make available.
- \item Large community -- lots of people use GNU make. It's well
- understood and you can get questions answered
+ \item Large community -- lots of people use GNU make. It's not going
+ to go away tomorrow.
\item Simple rules -- all of the rules are in a simple text file
which is easily edited and version controlled
\item Reasonable debugging -- you can see the commands that make is
value is assigned at the moment the variable is created
\end{itemize}
\item Variables can come from the environment and can be overridden on
- the command line: \mintinline{shell}{make FOO=bleargh} or
- \mintinline{shell}{FOO=blah make}.
+ the command line: \mintinline{shell}{FOO=blah make} or
+ \mintinline{shell}{make FOO=bleargh}.
\item \mintinline{make}{$@} -- target name %$
\item \mintinline{make}{$*} -- current stem %$
\item \mintinline{make}{$^} -- all prerequisites %$
\begin{frame}[fragile]{Some Functions}
\begin{itemize}
- \item \mintinline{make}{$(patsubst %.bam,%.sam,foo.sam bar.sam)} %$
+ \item \mintinline{make}{$(patsubst %.sam,%.bam,foo.sam bar.sam)} %$
-- returns foo.bam bar.bam.
\item \mintinline{make}{$(filter-out %.bam,foo.sam bar.bam)} %$
-- returns foo.sam
\begin{frame}[fragile]{Special Targets}
\begin{minted}[showtabs]{make}
-%.fasta.gz: %.fasta
+%.fasta: %.fasta.gz
gzip -dc $< > $@
%.bam: %.sam
\begin{itemize}
\item Timestamps, not MD5sums
\item Complicated workflows
+ \item Interaction of rules can be complicated to understand
+ \item Yet Another Language
\end{itemize}
\end{frame}