VERSION = 2.4 PREFIX ?= /usr/local MANPREFIX ?= $(PREFIX)/share/man STRIP ?= strip PKG_CONFIG ?= pkg-config INSTALL ?= install CFLAGS_OPTIMIZATION ?= -O3 ifeq ($(shell $(PKG_CONFIG) ncursesw && echo 1),1) CFLAGS_CURSES ?= $(shell $(PKG_CONFIG) --cflags ncursesw) LDLIBS_CURSES ?= $(shell $(PKG_CONFIG) --libs ncursesw) else ifeq ($(shell $(PKG_CONFIG) ncurses && echo 1),1) CFLAGS_CURSES ?= $(shell $(PKG_CONFIG) --cflags ncurses) LDLIBS_CURSES ?= $(shell $(PKG_CONFIG) --libs ncurses) else LDLIBS_CURSES ?= -lncurses endif CFLAGS += -Wall -Wextra -Wno-unused-parameter -Wno-format-truncation CFLAGS += $(CFLAGS_OPTIMIZATION) CFLAGS += $(CFLAGS_CURSES) LDLIBS += $(LDLIBS_CURSES) DISTFILES = src nnn.1 Makefile README.md LICENSE SRC = src/nnn.c BIN = nnn all: $(BIN) $(SRC): src/nnn.h $(BIN): $(SRC) $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) -lreadline debug: $(SRC) $(CC) -DDBGMODE -g $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(BIN) $^ $(LDLIBS) -lreadline -lrt norl: $(SRC) $(CC) -DNORL $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(BIN) $^ $(LDLIBS) $(STRIP) $(BIN) install: all $(INSTALL) -m 0755 -d $(DESTDIR)$(PREFIX)/bin $(INSTALL) -m 0755 $(BIN) $(DESTDIR)$(PREFIX)/bin $(INSTALL) -m 0755 -d $(DESTDIR)$(MANPREFIX)/man1 $(INSTALL) -m 0644 $(BIN).1 $(DESTDIR)$(MANPREFIX)/man1 uninstall: $(RM) $(DESTDIR)$(PREFIX)/bin/$(BIN) $(RM) $(DESTDIR)$(MANPREFIX)/man1/$(BIN).1 strip: $(BIN) $(STRIP) $^ dist: mkdir -p nnn-$(VERSION) $(CP) -r $(DISTFILES) nnn-$(VERSION) tar -cf nnn-$(VERSION).tar nnn-$(VERSION) gzip nnn-$(VERSION).tar $(RM) -r nnn-$(VERSION) clean: $(RM) -f $(BIN) nnn-$(VERSION).tar.gz skip: ; .PHONY: all debug install uninstall strip dist clean