# rsfetch - minimalistic fetch program
# See LICENSE file for copyright and license details.
# This Makefile is proudly stolen from XST project

# paths
DBIN = ./target/debug/rsfetch
RBIN = ./target/release/rsfetch
PREFIX = /usr/local

# flags
DFLAGS = --color always
RFLAGS = ${DFLAGS} --release

# run args
ifeq (run,$(firstword $(MAKECMDGOALS)))
  # use the rest as arguments for "run"
  RUN_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
  # ...and turn them into do-nothing targets
  $(eval $(RUN_ARGS):;@:)
endif

# compiler and linker
CC = cargo

all: options run

opt:
	@echo :: OPTIONS
	@echo "CC        = ${CC}"
	@echo "DFLAGS    = ${DFLAGS}"
	@echo "RFLAGS    = ${RFLAGS}"
	@echo "RUNARGS   = ${RUN_ARGS}"

debug:
	@${CC} build ${DFLAGS}

run: debug
	@${DBIN} ${RUN_ARGS}

build:
	@echo :: CARGO BUILD
	@${CC} build ${RFLAGS}

clean:
	@echo :: CLEANING
	@rm -rf ./target/
	@rm -f rsfetch.tar.gz

dist: options clean build
	@echo :: CREATING TARBALL
	@mkdir -p rsfetch-tmp
	@cp -f ${RBIN} ./rsfetch-tmp/ 
	@tar -cf rsfetch.tar rsfetch-tmp
	@gzip rsfetch.tar
	@rm -rf rsfetch

install: build
	@echo :: INSTALLING TO ${DESTDIR}${PREFIX}/bin
	@mkdir -p ${DESTDIR}${PREFIX}/bin
	@cp -f ${RBIN} ${DESTDIR}${PREFIX}/bin
	@chmod 755 ${DESTDIR}${PREFIX}/bin/rsfetch

uninstall:
	@echo removing executable file from ${DESTDIR}${PREFIX}/bin
	@rm -f ${DESTDIR}${PREFIX}/bin/rsfetch

.PHONY: all options run clean dist install uninstall
