X-Git-Url: https://git.donarmstrong.com/?p=using_make_for_science.git;a=blobdiff_plain;f=using_make_for_science.Rnw;fp=using_make_for_science.Rnw;h=d17222fec670c9b66c0be8d215a7c21996bb2a51;hp=0000000000000000000000000000000000000000;hb=1e57669742728a12e16b2f503f672a6eb2d27f3c;hpb=aaa320d487bb76ea71578c477251f1e30eaa1cf8 diff --git a/using_make_for_science.Rnw b/using_make_for_science.Rnw new file mode 100644 index 0000000..d17222f --- /dev/null +++ b/using_make_for_science.Rnw @@ -0,0 +1,132 @@ +\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}