fix 1 character typo: s/jet/yet/
[smdp.git] / Makefile
index d318563..5801f84 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,25 +1,60 @@
-# set some compiler flags
-CFLAGS=-lncurses
-
-# find *.c in the current directory
-SOURCES=$(wildcard *.c)
-TESTS=$(wildcard test/*.c)
-
-# define the output objects by replacing .c with .o
-TARGETS=$(SOURCES:.c=)
-TEST_TARGETS=$(TESTS:.c=)
-
-# this will make all objects
-all: $(TEST_TARGETS) $(TARGETS) 
-test: $(TEST_TARGETS)
-
-# each objects will be build by a *.c file
-#%.o: %.c
-%: %.c
-       cc $(CFLAGS) -o $@ $^
-
-# this will delete all objects
-# if not all objects are there, they will be compiled first
-clean: $(TARGETS) $(TEST_TARGETS)
-       rm -f $^
+#
+# Makefile
+# Copyright (C) 2014 Michael Goehler
+#
+# This file is part of mdp.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+CURSES   = ncursesw
+ifeq (Windows_NT, $(OS))
+OSTYPE  := $(shell uname -o)
+ifneq (Cygwin, $(OSTYPE))
+CURSES  := pdcurses
+endif
+endif
+
+LDFLAGS  = -s
+LDLIBS   = -l$(CURSES)
+SOURCES  = $(wildcard src/*.c)
+OBJECTS  = $(SOURCES:.c=.o)
+TARGET   = mdp
+DESTDIR  = /usr/bin
+
+ifeq ($(DEBUG),1)
+LDFLAGS :=
+endif
+
+all: $(TARGET)
+
+$(TARGET): src
+       $(CC) $(OBJECTS) $(LDLIBS) $(LDFLAGS) -o $(TARGET)
+
+src:
+       $(MAKE) $(MFLAGS) -C src
+
+clean:
+       $(MAKE) -C src clean
+       $(RM) $(TARGET)
+
+install:
+       install -d $(PREFIX)$(DESTDIR)
+       install -m 755 mdp $(PREFIX)$(DESTDIR)/$(TARGET)
+
+uninstall:
+       $(RM) $(PREFIX)$(DESTDIR)/$(TARGET)
+
+.PHONY: all clean install src uninstall