# Compiling This script seems to handle most cases I care about: - a freshly cloned copy of the repository, - a repository where compilation has already happened, - a repository where I want to change the `configure` flags… ``` bash #!/bin/bash set -eux MAKE="make -j$(nproc --all)" CONFIGURE_FLAGS="--with-xwidgets --with-cairo" if ! test -f Makefile then ${MAKE} configure fi check-config () { if ! test -f src/config.h then return 1 fi local pattern='#define EMACS_CONFIG_OPTIONS "'${CONFIGURE_FLAGS}'"' grep "${pattern}" src/config.h } if ! check-config then ./configure ${CONFIGURE_FLAGS} fi if ! ${MAKE} then ${MAKE} bootstrap fi ```