# Makefile for sfm - Simple File Manager PREFIX ?= /usr/local BINDIR ?= $(PREFIX)/bin MANDIR ?= $(PREFIX)/share/man/man1 DOCDIR ?= $(PREFIX)/share/doc/sfm CXX ?= g++ CXXFLAGS ?= -std=c++17 -O2 -Wall -Wextra LDFLAGS ?= -lncursesw INSTALL ?= install RM ?= rm -f .PHONY: all install uninstall clean all: sfm sfm: sfm.cpp $(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) install: all @echo "Installing sfm to $(DESTDIR)$(BINDIR)/sfm ..." $(INSTALL) -d $(DESTDIR)$(BINDIR) $(INSTALL) -m 755 sfm $(DESTDIR)$(BINDIR)/sfm @echo "Installing sfm.sh to $(DESTDIR)$(BINDIR)/sfm.sh ..." $(INSTALL) -m 755 sfm.sh $(DESTDIR)$(BINDIR)/sfm.sh @echo "Installing man page to $(DESTDIR)$(MANDIR)/sfm.1 ..." $(INSTALL) -d $(DESTDIR)$(MANDIR) $(INSTALL) -m 644 sfm.1 $(DESTDIR)$(MANDIR)/sfm.1 @echo "Installing README to $(DESTDIR)$(DOCDIR)/README ..." $(INSTALL) -d $(DESTDIR)$(DOCDIR) $(INSTALL) -m 644 README $(DESTDIR)$(DOCDIR)/README @echo "Done." uninstall: @echo "Removing sfm ..." $(RM) $(DESTDIR)$(BINDIR)/sfm $(RM) $(DESTDIR)$(BINDIR)/sfm.sh $(RM) $(DESTDIR)$(MANDIR)/sfm.1 $(RM) -r $(DESTDIR)$(DOCDIR) @echo "Done." clean: $(RM) sfm @echo "Cleaned."