From: Christian Heller <c.heller@plomlompom.de>
Date: Wed, 19 Jun 2013 03:53:49 +0000 (+0200)
Subject: Added descriptive comments to Makefile voodoo.
X-Git-Tag: tce~1211
X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/do_todos?a=commitdiff_plain;h=cf8388a311ebd1e8d99559e33c2f3af37de41138;p=plomrogue

Added descriptive comments to Makefile voodoo.
---

diff --git a/Makefile b/Makefile
index 69eb0a9..56a158c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,24 @@
-CC=cc
-CFLAGS=-Wall -g
 TARGET=roguelike
 SRCDIR=src
 BUILDDIR=build
+CC=gcc
+CFLAGS=-Wall -g
+
+# Use all .c files below SRCDIR for sources. Build object file paths by
+# replacing SRCDIR with BUILDDIR and .c endings with .o endings.
 SOURCES=$(shell find $(SRCDIR)/ -type f -name \*.c)
 OBJECTS=$(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.c=.o))
 
-roguelike: $(OBJECTS)
+# Linking TARGET demands generation of all OBJECTS files. To build them,
+# rely on this rule: Each file of path BUILDDIR/[name].o is compiled
+# from a file of path SRCDIR/[name].c. Build BUILDDIR as needed.
+$(TARGET): $(OBJECTS)
 	$(CC) $(CFLAGS) -o roguelike $(OBJECTS) -lncurses
-
 $(BUILDDIR)/%.o: $(SRCDIR)/%.c
 	mkdir -p $(BUILDDIR); $(CC) $(CFLAGS) -c $< -o $@
 
+# Use "clean" to delete build and target files. Tell make that "clean"
+# is a "phony" target, i.e. this is not about building a file.
 .PHONY: clean
 clean:
 	rm $(OBJECTS)