Dear sweet hypnotoad, don't use Makefiles for this. Scripts in a pipeline are perfectly well suited for ETL. They have the advantage of using the same language as the command language (Makefile is not shell, and when it differs it's a significant surprise). Plus, you can drop a script into a dir in your PATH and it will work in any project.
Use make if you have a project which expensively computes assets and reusing partial outputs is possible.
> pushd and popd are useful in shell scripts to temporarily change directories without forgetting where you were.
I would start with
cd - # go back to where I just came from
Which handles most of the pushd/popd use cases (outside of writing a script).Really, there's a whole separate set of skills for effective interactive shell use & writing great bash scripts (e.g. parameter expansion and history manipulation).