Modularize the source code.
This makes greeting generation separate from greeting output, which
makes it easier to unit-test greeting generation.
Change-Id: Ice07f45ed0e9274bd4d4b3cd031cb37fffd34a5e
diff --git a/makefile b/makefile
index 539a1ee..26607eb 100644
--- a/makefile
+++ b/makefile
@@ -1,11 +1,23 @@
.PHONY: all clean
-all: hello-world-ng
+CXX = c++
+LDFLAGS =
+CXXFLAGS = -I.
+
+EXE = exe/hello-world-ng
+
+mod_OBJ = mod/greeting.o
+hello_world_ng_OBJ = exe/hello-world-ng.o
+
+OBJ = $(hello_world_ng_OBJ) $(mod_OBJ)
+
+all: $(EXE)
clean:
- $(RM) hello-world-ng.o hello-world
+ $(RM) $(OBJ)
+ $(RM) $(EXE)
-hello-world-ng: hello-world-ng.o
+exe/hello-world-ng: $(hello_world_ng_OBJ) $(mod_OBJ)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^
%.o: %.cpp