diff --git a/Makefile b/Makefile index e51a8a0d9..3a0a9f437 100644 --- a/Makefile +++ b/Makefile @@ -67,6 +67,11 @@ EXES := \ CRATES := \ $(sort $(filter $(EXES), $(filter-out md5sum true false, $(EXES)))) +INSTALL ?= $(EXES) + +INSTALLEES := \ + $(filter $(INSTALL),$(filter-out $(DONT_INSTALL),$(EXES))) + # Programs with usable tests TEST_PROGS := \ cat \ @@ -151,9 +156,9 @@ install: build/uutils uninstall: rm -f $(DESTDIR)$(PREFIX)$(BINDIR)/uutils else -install: $(EXES_PATHS) +install: $(addprefix build/,$(INSTALLEES)) mkdir -p $(DESTDIR)$(PREFIX)$(BINDIR) - for prog in $(EXES); do \ + for prog in $(INSTALLEES); do \ install build/$$prog $(DESTDIR)$(PREFIX)$(BINDIR)/$(PROG_PREFIX)$$prog; \ done diff --git a/README.md b/README.md index 4abdbfb52..7b780f7fe 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,45 @@ To build only a few of the available utilities: make BUILD='UTILITY_1 UTILITY_2' ``` +To build the multicall binary (_i.e._ BusyBox-like binary): +``` +make MULTICALL=1 +``` + +Installation Instructions +------------------------- + +To install all available utilities: +``` +make install +``` + +To install all but a few of the available utilities: +``` +make DONT_INSTALL='UTILITY_1 UTILITY_2' install +``` + +To install only a few of the available utilities: +``` +make INSTALL='UTILITY_1 UTILITY_2' install +``` + +To install the multicall binary: +``` +make MULTICALL=1 install +``` + +To install every program (other than the multicall binary) with a prefix: +``` +make PROG_PREFIX=PREFIX_GOES_HERE install +``` + +Uninstallation Instructions +--------------------------- + +Do the same command as in the Installation Instructions above, but replace +```install``` with ```uninstall```. + Test Instructions ----------------- @@ -76,6 +115,7 @@ To do - chown - chroot - copy +- cp (not much done) - cp-hash - csplit - cut