\documentclass[ignorenonframetext]{beamer} \usepackage[Symbols,MiscellaneousSymbols]{ucharclasses} \usepackage{fontspec} % \usepackage{bidi} \setmainfont{FreeSerif} \setsansfont{FreeSans} \setmonofont{FreeMono} \usepackage{array} \usepackage{fancyref} \usepackage{booktabs} \usepackage{threeparttable} \usepackage[backend=biber,natbib=true,hyperref=true,style=numeric-comp]{biblatex} \bibliography{references} \usepackage[nomargin,inline,draft]{fixme} \usepackage{texshade} \usepackage{tikz} \usepackage{nameref} \usepackage{zref-xr,zref-user} \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \mode
{ \usepackage[x11names,svgnames,usenames,dvipsnames]{xcolor} \usepackage[noxcolor]{beamerarticle} \usepackage{fancyhdr} \usepackage{graphicx} \usepackage[bf]{caption} \usepackage{rotating} \usepackage{setspace} \usepackage{acronym} \usepackage{dcolumn} \usepackage{adjustbox} \usepackage{longtable} \usepackage{geometry} \usepackage{pdflscape} \usepackage[hyperfigures,bookmarks,colorlinks]{hyperref} } \mode
{ \oddsidemargin 0.0in \textwidth 6.5in \raggedbottom \clubpenalty = 10000 \widowpenalty = 10000 \pagestyle{fancy} } \mode{ \usetheme{CambridgeUS} \usecolortheme{beaver} \setbeamercovered{transparent} \logo{\begin{tikzpicture}% Pale figure {\node[opacity=0.3] {%\includegraphics[width=2cm]{LOGO}% };}% \end{tikzpicture}} } \title{Using make for science} \author{Don Armstrong} \date{\today} \subject{make for science} \begin{document} \frame[plain]{\titlepage} \mode
{\maketitle} \section{What make was made for} \begin{frame}{What was make originally made to do?} \begin{itemize} \item Compiling and installing software from source \item Replacement of operating system specific compilation and installation shell scripts \item Re-compile when dependencies of the software were modified \end{itemize} \end{frame} \subsection{Brief history of makes} \begin{frame}{Brief history of make-alikes} \begin{itemize} \item \href{http://pubs.opengroup.org/onlinepubs/009695399/utilities/make.html}{POSIX Make} (standardization of basic features of make) \item \href{http://www.gnu.org/software/make/manual/}{GNU Make} (standard make on Linux and OS X) \item \href{https://www.freebsd.org/cgi/man.cgi?query=make(1)}{BSD Make} (pmake or bmake) \item \href{https://msdn.microsoft.com/en-us/library/dd9y37ha.aspx}{nmake} (Part of visual studio) \item \href{http://plan9.bell-labs.com/sys/doc/mk.html}{Mk} (Plan 9 replacement of make) \end{itemize} \end{frame} \subsection{Other solutions in this problem space} \begin{frame}{Other non-make dependency builders} \begin{itemize} \item Ant (popular for java software) \item Cabal (popular for Haskell) \item Maven (also java) \item Rake (ruby build took) \item Gradle (Rake DSL) \item Leiningen (Clojure) \item Tweaker (task definitions in any language) \item \href{https://en.wikipedia.org/wiki/List_of_build_automation_software}{Wikipedia List of build automation software} \end{itemize} \end{frame} \section{Introduction to Makefiles} \section{Examples} \subsection{This Presentation} \subsection{Can you dig it?} \subsection{Calling records from SRA} \section{Why not make?} \subsection{Timestamps} \subsection{Complicated Workflows} \section{Further Resources} \end{document}