config.h file
[smdp.git] / Makefile
1 #
2 # Makefile
3 # Copyright (C) 2018 Michael Goehler
4 #
5 # This file is part of mdp.
6 #
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #
20
21 UNAME_S := $(shell uname -s 2>/dev/null || echo not)
22
23 SOURCES = $(sort $(wildcard src/*.c))
24 OBJECTS = $(SOURCES:.c=.o)
25 TARGET  = mdp
26 DESTDIR =
27 PREFIX  ?= /usr/local
28
29 CURSES  = ncursesw
30 LDFLAGS ?= -s
31
32 ifeq (Windows_NT,$(OS))
33         ifeq (,$(findstring CYGWIN,$(UNAME_S)))
34                 CURSES := pdcurses
35         endif
36 endif
37
38 ifeq ($(UNAME_S),Darwin)
39         CURSES := ncurses
40         LDFLAGS :=
41 endif
42
43 ifeq ($(DEBUG),1)
44         LDFLAGS :=
45 endif
46
47 LDLIBS   = -l$(CURSES)
48
49 all: $(TARGET)
50
51 $(TARGET): src
52         $(CC) $(OBJECTS) $(LDLIBS) $(LDFLAGS) -o $(TARGET)
53
54 src:
55         $(MAKE) $(MFLAGS) -C src
56
57 clean:
58         $(MAKE) -C src clean
59         $(RM) $(TARGET)
60
61 install:
62         install -d $(DESTDIR)$(PREFIX)/bin
63         install -m 755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
64         install -d $(DESTDIR)$(PREFIX)/share/man/man1
65         install -m 644 mdp.1 $(DESTDIR)$(PREFIX)/share/man/man1/$(TARGET).1
66
67 uninstall:
68         $(RM) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
69         $(RM) $(DESTDIR)$(PREFIX)/share/man/man1/$(TARGET).1
70
71 .PHONY: all clean install src uninstall