here you goThings I’ve made, read and saved — shared here.

Archive

9,609 entries: 53 from X, 8,925 from Pinboard, saved 1998 to 2026.

Browse by tag, site, author, folder or language

Tags

Sites

Authors

Folders

Languages

10 entries#make ×

2025

2024

just

casey/just: 🤖 Just a command runner; manual.

Interesting use of Just -- Create an Internal CLI using Just

This is my justfilethat I used to generate this file. I have almost deprecated the use of taskfile.

# Default recipe (similar to 'all' in Makefile)
default: full scrapbook calendar codefiles opml papers

here0:
    ./bin/mkhtmlindex ./content/tweetstorms > ./content/tweetstorms/here0.html

scrapbook:
    bin/scraps.py

calendar:
    bin/calendarview.py

c:
    ./sitebuild

full:
    ./sitebuild --full

sync:
    /usr/bin/rsync -avz -d --delete-after -e ssh ./output/ myweb@surya.btbytes.com:/data/web/www.btbytes.com/www/

push:
    git push origin master

serve:
    cd output && python3 -m http.server 8004

setup:
    python3 -m venv venv
    venv/bin/pip install --upgrade pip setuptools wheel virtualenv
    venv/bin/pip install -r requirements.txt
    mkdir -p .cache

weekly:
    bin/python3 weekly.py

pb:
    bin/pinboard-to-sqlite posts backups/pinboard.db

codefiles:
    pygmentize -O full,style=emacs,linenos=1,lineanchors=1 -f html -l python -o content/sitebuild.html sitebuild
    pygmentize -O full,style=emacs,linenos=1,lineanchors=1 -f html -l lua -o content/filters.html pandoc/filters.lua
    pygmentize -O full,style=emacs,linenos=1,lineanchors=1 -f html -l yaml -o content/Taskfile.yml.html Taskfile.yml
    pygmentize -O full,style=emacs,linenos=1,lineanchors=1 -f html -l python -o content/opml_to_html.html bin/opml_to_html.py
    pygmentize -O full,style=emacs,linenos=1  -l python -o content/papers/papersindex.html bin/papersindex.py
    pygmentize -O full,style=emacs,linenos=1  -l python -o content/papers/papersindex.html bin/papersindex.py

opml:
    bin/opml_to_html.py

papers: nbrefs
    python bin/papersindex.py

nbrefs:
    bibtex2html  -o content/bib/nbrefs -css https://www.btbytes.com/css/semantic.css \
        --title References \
        --header "<nav><p><a href="/">Home (www.btbytes.com)</a>, <a href="nbrefs_bib.html">View .bib file</a>, <a href="nbrefs.bib">Download .bib file</a>.</p></nav>" \
        --footer "<footer><p>Generated on <code>$(shell date)</code></p></footer>" \
        content/bib/nbrefs.bib

soupault:
    soupault

clean:
    rm -rf output

notes#just#make#rust

2020

Makefile

Why Makefile?

How Make?

Tutorials

Tips and Tricks

  • Polyglot makefiles

    .ONESHELL: python: SHELL := python3 python: greeting = "hello" print(f"{greeting}, python!")

Examples of good use of Makefile

Makefile companions -- autotools, premake, scons, cmake

Make-like

  • Just " is a handy way to save and run project-specific commands." - just is a command runner, not a build system, so it avoids much of make’s complexity and idiosyncrasies. No need for .PHONY recipes!
  • cmake
  • Pants
  • tup is a file-based build system for Linux, OSX, and Windows. It inputs a list of file changes and a directed acyclic graph (DAG), then processes the DAG to execute the appropriate commands required to update dependent files. Updates are performed with very little overhead since tup implements powerful build algorithms to avoid doing unnecessary work. This means you can stay focused on your project rather than on your build system.
  • casey/just: 🤖 Just a command runner ⚡
  • xmake A cross-platform build utility based on Lua Simple, Fast, Cross-platform Modern C/C++ build tools, Support multi-language hybrid compilation.

notes#make

2015

2011

2010

latex-makefile

code.google.com

This is a single GNU makefile that builds a LaTeX document into
various targets with minimal latex/bibtex invocations. It colorizes
and swallows the normally unhelpful latex output so that errors and
other important messages are easy to spot. It handles GNUplot, Fig,
and Dot image creation (and handles many more formats besides), and
does automatic dependency tracking.
Perhaps most important, it is convenient because it is a single file
and only depends on standard Unix utilities that are likely to exist
on any system. It includes built-in help documentation and various utilities to test whether it will work on your system.

2009