diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 27 |
2 files changed, 28 insertions, 0 deletions
@@ -1 +1,2 @@ +/dist/ /target @@ -14,8 +14,18 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. +SOURCES := $(shell find . -name '*.rs') MAN_PAGES := $(patsubst doc/%.1.txt,doc/%.1,$(wildcard doc/*.1.txt)) +# PRODUCTS := $(patsubst src/bin/%.rs,target/release/%,$(wildcard src/bin/*.rs)) +PRODUCTS := $(patsubst src/bin/%.rs,%,$(wildcard src/bin/*.rs)) +RELEASE_PRODUCTS := $(patsubst %,target/release/%,$(PRODUCTS)) + +DIST := $(abspath dist) +DIST_PRODUCTS := $(patsubst %,dist/%,$(PRODUCTS)) +DIST_MAN_PAGES := $(patsubst doc/%,dist/%,$(MAN_PAGES)) + + .PHONY: doc doc: $(MAN_PAGES) @@ -23,3 +33,20 @@ doc/%.1: doc/%.1.txt sed 's/`/*/g' $< > $@.transformed a2x --no-xmllint --format manpage $@.transformed rm $@.transformed + + +$(RELEASE_PRODUCTS): $(SOURCES) + cargo build --release + + +.PHONY: dist +dist: $(DIST_PRODUCTS) $(DIST_MAN_PAGES) + +$(DIST): + mkdir -p $@ + +$(DIST_PRODUCTS): $(DIST) $(RELEASE_PRODUCTS) + cp $(RELEASE_PRODUCTS) $(DIST) + +$(DIST_MAN_PAGES): $(DIST) $(MAN_PAGES) + cp $(MAN_PAGES) $(DIST) |