Merge pull request #40 from FreeBirdLjj/issue#16
[smdp.git] / Makefile
index 1748cbd..1231bde 100644 (file)
--- a/Makefile
+++ b/Makefile
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 #
 
-CFLAGS   = -O3
-LDLIBS   = -lncurses
-OBJECTS  = cstring.o cstack.o markdown.o parser.o viewer.o mdp.o
-DESTDIR ?= /usr/bin
+UNAME_S := $(shell uname -s 2>/dev/null || echo not)
+
+SOURCES = $(wildcard src/*.c)
+OBJECTS = $(SOURCES:.c=.o)
+TARGET  = mdp
+DESTDIR = /usr/bin
+
+CURSES  = ncursesw
+LDFLAGS = -s
+
+ifeq (Windows_NT,$(OS))
+       ifeq (,$(findstring CYGWIN,$(UNAME_S)))
+               CURSES := pdcurses
+       endif
+endif
+
+ifeq ($(UNAME_S),Darwin)
+       CURSES := ncurses
+       LDFLAGS :=
+endif
 
 ifeq ($(DEBUG),1)
-       CFLAGS := -Wall -g -O0
+       LDFLAGS :=
 endif
 
-all: mdp
+LDLIBS   = -l$(CURSES)
+
+all: $(TARGET)
+
+$(TARGET): src
+       $(CC) $(OBJECTS) $(LDLIBS) $(LDFLAGS) -o $(TARGET)
 
-mdp: $(OBJECTS)
+src:
+       $(MAKE) $(MFLAGS) -C src
 
 clean:
-       $(RM) $(OBJECTS) mdp
+       $(MAKE) -C src clean
+       $(RM) $(TARGET)
 
-install: mdp
-       if which strip 1>/dev/null 2>&1; then strip mdp; fi
+install:
        install -d $(PREFIX)$(DESTDIR)
-       install -m 755 mdp $(PREFIX)$(DESTDIR)/mdp
+       install -m 755 mdp $(PREFIX)$(DESTDIR)/$(TARGET)
 
-.PHONY: all clean install
+uninstall:
+       $(RM) $(PREFIX)$(DESTDIR)/$(TARGET)
 
+.PHONY: all clean install src uninstall