summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorbryan <bryan@veltar.systems>2026-08-27 10:49:41 +0200
committerbryan <bryan@veltar.systems>2026-08-27 10:49:41 +0200
commit07bedb6ceb6e06808ab5b5ee28e0d095e11a1cd5 (patch)
treeb62884a2ddb560e84ac1dae3b48ce432153a5271 /Makefile
parent22ade138c4e83b7c0b0c702c38c0ca00a9948d4b (diff)
downloadrg-07bedb6ceb6e06808ab5b5ee28e0d095e11a1cd5.tar.gz
rg-07bedb6ceb6e06808ab5b5ee28e0d095e11a1cd5.zip
Make install work on Windows as well as Linux.HEADmaster
Windows copies rg.exe to %USERPROFILE%\.local\bin and skips the man page. Linux still installs to /usr/local/bin and share/man. PREFIX overrides the destination on both.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile23
1 files changed, 17 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 19ecfb6..1f3971c 100644
--- a/Makefile
+++ b/Makefile
@@ -26,7 +26,7 @@ rg${EXE}: ${OBJ}
${CC} -o $@ ${OBJ} ${LDFLAGS}
clean:
- rm -f rg rg.exe ${OBJ} rg-${VERSION}.tar.gz
+ -${RM} rg rg.exe ${OBJ} rg-${VERSION}.tar.gz
dist: clean
mkdir -p rg-${VERSION}
@@ -35,17 +35,28 @@ dist: clean
tar -cf - rg-${VERSION} | gzip -c > rg-${VERSION}.tar.gz
rm -rf rg-${VERSION}
+ifeq ($(OS),Windows_NT)
install: all
- mkdir -p ${DESTDIR}${PREFIX}/bin
- cp -f rg${EXE} ${DESTDIR}${PREFIX}/bin
- chmod 755 ${DESTDIR}${PREFIX}/bin/rg${EXE}
+ -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}${PREFIX}/bin/rg \
- ${DESTDIR}${PREFIX}/bin/rg.exe \
+ rm -f ${DESTDIR}${BINDIR}/rg \
+ ${DESTDIR}${BINDIR}/rg.exe \
${DESTDIR}${MANPREFIX}/man1/rg.1
+endif
.PHONY: all options clean dist install uninstall