X-Git-Url: https://git.danieliu.xyz/?p=smdp.git;a=blobdiff_plain;f=Makefile;h=9c63e0a2b6789abc8b4647db57f8d799ebdcc996;hp=c99d35d6f438d460745f4c1bc0b9dc501e8fb784;hb=22055d604b1207680ded02d98715df5cafdf8648;hpb=5ffe2e4443370f4c8e605339e25ee717fa4627e7 diff --git a/Makefile b/Makefile index c99d35d..9c63e0a 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # # Makefile -# Copyright (C) 2014 Michael Goehler +# Copyright (C) 2015 Michael Goehler # # This file is part of mdp. # @@ -18,27 +18,53 @@ # along with this program. If not, see . # -CC = /usr/bin/gcc -CFLAGS = -Wall -g -LDFLAGS = -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) -%.o: %.c - $(CC) $(CFLAGS) -c $< +SOURCES = $(wildcard src/*.c) +OBJECTS = $(SOURCES:.c=.o) +TARGET = mdp +DESTDIR = +PREFIX = /usr/local -all: mdp +CURSES = ncursesw +LDFLAGS ?= -s -mdp: $(OBJECTS) - $(CC) $(CFLAGS) -o mdp $(OBJECTS) $(LDFLAGS) +ifeq (Windows_NT,$(OS)) + ifeq (,$(findstring CYGWIN,$(UNAME_S))) + CURSES := pdcurses + endif +endif + +ifeq ($(UNAME_S),Darwin) + CURSES := ncurses + LDFLAGS := +endif + +ifeq ($(DEBUG),1) + LDFLAGS := +endif + +LDLIBS = -l$(CURSES) + +all: $(TARGET) + +$(TARGET): src + $(CC) $(OBJECTS) $(LDLIBS) $(LDFLAGS) -o $(TARGET) + +src: + $(MAKE) $(MFLAGS) -C src clean: - rm -f $(OBJECTS) mdp + $(MAKE) -C src clean + $(RM) $(TARGET) -install: mdp - if which strip 1>/dev/null 2>&1; then strip mdp; fi - install -d $(PREFIX)$(DESTDIR) - install -m 755 mdp $(PREFIX)$(DESTDIR)/mdp +install: + install -d $(DESTDIR)$(PREFIX)/bin + install -m 755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(TARGET) + install -d $(DESTDIR)$(PREFIX)/share/man/man1 + install -m 644 mdp.1 $(DESTDIR)$(PREFIX)/share/man/man1/$(TARGET).1 -.PHONY: all clean install +uninstall: + $(RM) $(DESTDIR)$(PREFIX)/$(TARGET) +.PHONY: all clean install src uninstall