Realized that recent changes deserve a new version number.
[selector.git] / Makefile
index 3136365..620085b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,57 @@
 
-all: selector.cc
-       g++ -lncurses -o selector selector.cc
+#
+#  selector is a simple command line utility for selection of strings
+#  with a dynamic pattern-matching.
+#
+#  Copyright (c) 2009-2012 Francois Fleuret
+#  Written by Francois Fleuret <francois@fleuret.org>
+#
+#  This file is part of selector.
+#
+#  selector is free software: you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License version 3 as
+#  published by the Free Software Foundation.
+#
+#  selector is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with selector.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+BINARY_PATH = $(DESTDIR)/usr/local/bin
+MAN_PATH = $(DESTDIR)/usr/local/share/man/man1
+
+LDFLAGS=-lcurses
+
+UNAME=\"$(shell uname -srmn)\"
+
+ifeq ($(DEBUG),yes)
+  OPTIMIZE_FLAG = -ggdb3 -DDEBUG -fno-omit-frame-pointer
+else
+  OPTIMIZE_FLAG = -O2
+endif
+
+CFLAGS = -Wall -Wextra -ansi -pedantic -DUNAME="$(UNAME)" $(OPTIMIZE_FLAG)
+
+all: selector
+
+selector: selector.o
+       $(CC) -o $@ $^ $(LDFLAGS)
+
+install: selector
+       mkdir -p $(BINARY_PATH) $(MAN_PATH)
+       install -m 755 selector $(BINARY_PATH)
+       install -m 755 bash-selector.sh $(BINARY_PATH)
+       install -m 644 selector.1 $(MAN_PATH)
+       gzip $(MAN_PATH)/selector.1
+
+uninstall:
+       rm $(BINARY_PATH)/selector
+       rm $(BINARY_PATH)/bash-selector.sh
+       rm $(MAN_PATH)/selector.1.gz
+
+clean:
+       rm -f *.o selector