aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 1dc016721f1a120aed02c3d4f131449ff42e51a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# 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."