# See LICENSE file for copyright and license details.
# rg - random string generator

include config.mk

SRC = rg.c
OBJ = ${SRC:.c=.o}

all: options rg${EXE}

options:
	@echo rg build options:
	@echo "CFLAGS   = ${CFLAGS}"
	@echo "LDFLAGS  = ${LDFLAGS}"
	@echo "CC       = ${CC}"

config.h:
	cp config.def.h $@

.c.o:
	${CC} -c ${CFLAGS} $<

${OBJ}: arg.h config.h config.mk

rg${EXE}: ${OBJ}
	${CC} -o $@ ${OBJ} ${LDFLAGS}

clean:
	-${RM} rg rg.exe ${OBJ} rg-${VERSION}.tar.gz

dist: clean
	mkdir -p rg-${VERSION}
	cp -R LICENSE Makefile README arg.h config.def.h config.mk \
		rg.c rg.1 rg-${VERSION}
	tar -cf - rg-${VERSION} | gzip -c > rg-${VERSION}.tar.gz
	rm -rf rg-${VERSION}

ifeq ($(OS),Windows_NT)
install: all
	-mkdir "$(subst /,\,${DESTDIR}${BINDIR})"
	copy /Y rg${EXE} "$(subst /,\,${DESTDIR}${BINDIR}/rg${EXE})"
	@echo installed to ${DESTDIR}${BINDIR}/rg${EXE}

uninstall:
	-${RM} "$(subst /,\,${DESTDIR}${BINDIR}/rg.exe)"
else
install: all
	mkdir -p ${DESTDIR}${BINDIR}
	cp -f rg${EXE} ${DESTDIR}${BINDIR}
	chmod 755 ${DESTDIR}${BINDIR}/rg${EXE}
	mkdir -p ${DESTDIR}${MANPREFIX}/man1
	sed "s/VERSION/${VERSION}/g" < rg.1 > ${DESTDIR}${MANPREFIX}/man1/rg.1
	chmod 644 ${DESTDIR}${MANPREFIX}/man1/rg.1
	@echo installed to ${DESTDIR}${BINDIR}/rg${EXE}

uninstall:
	rm -f ${DESTDIR}${BINDIR}/rg \
		${DESTDIR}${BINDIR}/rg.exe \
		${DESTDIR}${MANPREFIX}/man1/rg.1
endif

.PHONY: all options clean dist install uninstall
