Merge branch 'master' of ssh://fleuret@login.idiap.ch/homes/fleuret/public/git/selector
[selector.git] / Makefile
index 3136365..d80b4cd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,54 @@
 
-all: selector.cc
-       g++ -lncurses -o selector selector.cc
+#
+#  selector is a simple shell command for selection of strings with a
+#  dynamic pattern-matching.
+#
+#  Copyright (c) 2009 Francois Fleuret
+#  Written by Francois Fleuret <francois.fleuret@idiap.ch>
+#
+#  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 = /usr/bin
+MAN_PATH = /usr/share/man/man1
+
+LDFLAGS=-lcurses
+
+REVISION_NUMBER=$(shell git log | grep ^commit | wc -l)
+
+ifeq ($(DEBUG),yes)
+  OPTIMIZE_FLAG = -ggdb3 -DDEBUG
+else
+  OPTIMIZE_FLAG = -ggdb3 -O3
+endif
+
+CXXFLAGS = -DREVISION_NUMBER=$(REVISION_NUMBER) -Wall $(OPTIMIZE_FLAG)
+
+all: selector
+
+selector: selector.o
+       $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
+
+install: selector
+       install -m 755 selector $(BINARY_PATH)
+       install -m 644 selector.1 $(MAN_PATH)
+       gzip $(MAN_PATH)/selector.1
+
+uninstall:
+       rm $(BINARY_PATH)/selector
+       rm $(MAN_PATH)/selector.1.gz
+
+clean:
+       rm -f *.o selector