Patch from Mario del Pozo to add install/uninstall rules. Slightly
[selector.git] / Makefile
1
2 #
3 #  selector is a simple shell command for selection of strings with a
4 #  dynamic pattern-matching.
5 #
6 #  Copyright (c) 2009 Francois Fleuret
7 #  Written by Francois Fleuret <francois.fleuret@idiap.ch>
8 #
9 #  This file is part of selector.
10 #
11 #  selector is free software: you can redistribute it and/or modify
12 #  it under the terms of the GNU General Public License version 3 as
13 #  published by the Free Software Foundation.
14 #
15 #  selector is distributed in the hope that it will be useful, but
16 #  WITHOUT ANY WARRANTY; without even the implied warranty of
17 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 #  General Public License for more details.
19 #
20 #  You should have received a copy of the GNU General Public License
21 #  along with selector.  If not, see <http://www.gnu.org/licenses/>.
22 #
23
24 BINARY_PATH = /usr/local/bin
25 MAN_PATH = /usr/share/man/man1
26
27 LDFLAGS=-lcurses
28
29 REVISION_NUMBER=$(shell git log | grep ^commit | wc -l)
30
31 ifeq ($(DEBUG),yes)
32   OPTIMIZE_FLAG = -ggdb3 -DDEBUG
33 else
34   OPTIMIZE_FLAG = -ggdb3 -O3
35 endif
36
37 CXXFLAGS = -DREVISION_NUMBER=$(REVISION_NUMBER) -Wall $(OPTIMIZE_FLAG)
38
39 all: selector
40
41 selector: selector.o
42         $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
43
44 install:
45         install -m 755 selector $(BINARY_PATH)
46         install -m 644 selector.1 $(MAN_PATH)
47         gzip $(MAN_PATH)/selector.1
48
49 uninstall:
50         rm $(BINARY_PATH)/selector
51         rm $(MAN_PATH)/selector.1.gz
52
53 clean:
54         rm -f *.o selector