We haven’t done a talk on “make” in years, so its time!
BASE /tutorial:
GNU Make Your Life Easier
GNU Make is an automation program that ships with nearly all operating systems that come
with GNU software, and has for decades. In my experience, Make is criminally
underutilized in modern software. Many developers these days may not have even heard of
Make, because they either write small enough programs to "not need it", or write
high-level code that removes the need for compilation altogether.
In this short demo, I will scream my love for Make from the top of the building,
demonstrate the power and freedom that it provides, and remind everyone that it's not
just for C code!
Its steps are written as shell commands. Useful for targets such as high-level software
like Python, Ruby, R, or even Bash itself. For example, instead of writing a verbose and
ugly case block for different arguments that Bash might take (via getopts, for instance),
you can just define those arguments as "targets" in Make.
And perhaps the greatest benefit to Make is that the Makefiles that it uses move entirely
with your codebase in version control, so these "recipes" for common commands
are always with your code, on any system that Make runs on. This is not only a boon for
developers of your code, but great for reducing verbosity in custom definitions in CI/CD
tools like Jenkins Pipelines.
In this short talk, I'll walk through a sample Makefile structure that I use for
Python packages, and others if time permits. I will demonstrate that the common venv,
build, test, and install commands that can be tedious to type out are reduced to simple
make commands that take as few as four characters to run.
by Ryan J. Price, Slalom Consulting, Clayton
"Data scientist", statistician, and applied econometrician by academic trade,
and a "data engineer" by recent profession. Loves video games.
==============================================
VENUE Graybar Electric Co., Inc.
11885 Lackland Road, Maryland Heights, MO 63146
Meetings are every 2nd Wednesday of the month from 6:30PM to 9:00PM.