Next: , Previous: , Up: Top   [Contents][Index]


7 Make targets

The following make targets are available by default. To use them you have to be in ~/.emacs.d in a shell. They are implemented in borg.mk, which is part of the borg package.

Command: help

This target prints information about the following targets.

Command: all
Command: build

This target rebuilds all assimilated drones in alphabetic order, except for Org which is rebuilt first. After that it also builds the user init files, like build-init does.

Command: build-init

This target builds the init files specified by the Make variable INIT_FILES, or if that is unspecified init.el and LOGIN.el, where LOGIN is the value of the variable user-real-login-name. If a file does not exist, then it is silently ignored.

If you publish your ~/.emacs.d repository but would like to keep some settings private, then you can do so by putting them in a file ~/.emacs.d/LOGIN.el. The downside of this approach is that you will have to somehow synchronize that file between your machines without checking it into Git.

Command: quick

This target builds most drones. Excluded are all drones for which the Git variable submodule.DRONE.build-step is set, assuming that those are the drones that take longer to build.

It also builds the init files as described above.

Command: lib/DRONE

This target builds the drone named DRONE.

Command: tangle-init

This target tangles (creates) init.el from init.org. You obviously don’t have to use such a file if you don’t want to.

Command: clean

This target removes all byte-code files inside ~/.emacs.d.

Command: clean-init

This target removes byte-code files for init files.

Command: bootstrap-borg

This target bootstraps borg itself.

Command: bootstrap

This target attempts to bootstrap the drones. To do so it runs git submodule init, borg.sh (which see), and make build.

If an error occurs during the borg.sh phase, then you can just run that command again to process the remaining drones. The drones that have already been bootstrapped or that have previously failed will be skipped. If a drone cannot be cloned from any of the known remotes, then you should temporarily remove it using git submodule deinit lib/DRONE. When done with borg.sh also manually run make build again.


Next: , Previous: , Up: Top   [Contents][Index]