diff options
| author | Teddy Wing | 2022-03-28 01:27:46 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2022-03-28 01:27:46 +0200 | 
| commit | bc3fa10c63082a2d70b1cec73268b8972ccfd243 (patch) | |
| tree | 600b0e47516e383c5806a08af1a3c2ea6894b62e | |
| parent | a4ff3950de526c6a6325c47ce334acf9576028ef (diff) | |
| download | yaqlite-bc3fa10c63082a2d70b1cec73268b8972ccfd243.tar.bz2 | |
Makefile: Add targets for binary packaging
| -rw-r--r-- | Makefile | 37 | 
1 files changed, 37 insertions, 0 deletions
| @@ -15,10 +15,24 @@  # You should have received a copy of the GNU General Public License  # along with Yaqlite. If not, see <https://www.gnu.org/licenses/>. +VERSION := $(shell egrep '^version = ' Cargo.toml | head -n 1 | awk -F '"' '{ print $$2 }') +TOOLCHAIN := $(shell fgrep default_host_triple $(HOME)/.rustup/settings.toml | awk -F '"' '{ print $$2 }') + +SOURCES := $(shell find src -name '*.rs') +RELEASE_PRODUCT := target/release/yaqlite +  MAN_PAGE := doc/yaqlite.1.txt  MAN_DIR := share/man/man1  MAN_PRODUCT := $(MAN_DIR)/yaqlite.1 +DIST := $(abspath dist) +DIST_PRODUCT := $(DIST)/bin/yaqlite +DIST_MAN_PAGE := $(DIST)/share/man/man1/yaqlite.1 + + +$(RELEASE_PRODUCT): $(SOURCES) +	cargo build --release +  .PHONY: doc  doc: $(MAN_PRODUCT) @@ -28,3 +42,26 @@ $(MAN_PRODUCT): $(MAN_PAGE) | $(MAN_DIR)  $(MAN_DIR):  	mkdir -p $@ + + +.PHONY: dist +dist: $(DIST_PRODUCT) $(DIST_MAN_PAGE) + +$(DIST): +	mkdir -p $@ + +$(DIST)/bin: | $(DIST) +	mkdir -p $@ + +$(DIST_PRODUCT): $(RELEASE_PRODUCT) | $(DIST)/bin +	cp $< $@ + +$(DIST_MAN_PAGE): share +	cp -R $< $(DIST) + + +.PHONY: pkg +pkg: yaqlite_$(VERSION)_$(TOOLCHAIN).tar.bz2 + +yaqlite_$(VERSION)_$(TOOLCHAIN).tar.bz2: dist +	tar cjv -s /dist/yaqlite_$(VERSION)_$(TOOLCHAIN)/ -f $@ dist | 
