From be3e40aa40ba12262aba550b2bab6a69e8b4db2e Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Thu, 22 Jul 2021 01:31:50 +0000
Subject: [PATCH] Fixed makefile such that final linking isnt redone. Still need to ensure build dir is created for parent objects

---
 Makefile         |   12 ++++++------
 parsers/Makefile |    9 ++++++---
 gens/Makefile    |    9 ++++++---
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index 28b96ea..b354769 100644
--- a/Makefile
+++ b/Makefile
@@ -10,21 +10,21 @@
 
 OBJS-top=$(patsubst %,$(BUILD_DIR)/%,$(_OBJS-top))
 
-.PHONY: parser gen clean default all
+.PHONY: clean default all
 
 default: docconv $(BUILD_DIR)
 all: default
 
-docconv: parser gen $(OBJS-top)
-	$(CXX) $(CXXFLAGS) -o $@ $(BUILD_DIR)/*.o
+docconv: $(BUILD_DIR)/parsers $(BUILD_DIR)/gens $(OBJS-top)
+	$(CXX) $(CXXFLAGS) -o $@ $(BUILD_DIR)/*.o $(BUILD_DIR)/parsers/*.o $(BUILD_DIR)/gens/*.o
 
 $(BUILD_DIR)/%.o: %.cpp
-	$(CXX) -c $(CXXFLAGS) -o $@ $^
+	$(CXX) -c $(CXXFLAGS) -o $@ $<
 
-parser: $(BUILD_DIR)
+$(BUILD_DIR)/parsers: $(BUILD_DIR)
 	$(MAKE) -C parsers
 
-gen: $(BUILD_DIR)
+$(BUILD_DIR)/gens: $(BUILD_DIR)
 	$(MAKE) -C gens
 
 $(BUILD_DIR):
diff --git a/gens/Makefile b/gens/Makefile
index d901d07..af3f180 100644
--- a/gens/Makefile
+++ b/gens/Makefile
@@ -1,8 +1,11 @@
 _OBJS-gen=dot.o
 
-export OBJS-gen=$(patsubst %,$(BUILD_DIR)/%,$(_OBJS-gen))
+export OBJS-gen=$(patsubst %,$(BUILD_DIR)/gens/%,$(_OBJS-gen))
 
 default: $(OBJS-gen)
 
-$(BUILD_DIR)/%.o: %.cpp
-	$(CXX) -c $(CXXFLAGS) -o $@ $^
+$(BUILD_DIR)/gens/%.o: %.cpp $(BUILD_DIR)/gens
+	$(CXX) -c $(CXXFLAGS) -o $@ $<
+
+$(BUILD_DIR)/gens:
+	mkdir -p $@
diff --git a/parsers/Makefile b/parsers/Makefile
index b266792..8c292e8 100644
--- a/parsers/Makefile
+++ b/parsers/Makefile
@@ -1,8 +1,11 @@
 _OBJS-par=tester.o
 
-export OBJS-par=$(patsubst %,$(BUILD_DIR)/%,$(_OBJS-par))
+export OBJS-par=$(patsubst %,$(BUILD_DIR)/parsers/%,$(_OBJS-par))
 
 default: $(OBJS-par)
 
-$(BUILD_DIR)/%.o: %.cpp
-	$(CXX) -c $(CXXFLAGS) -o $@ $^
+$(BUILD_DIR)/parsers/%.o: %.cpp $(BUILD_DIR)/parsers
+	$(CXX) -c $(CXXFLAGS) -o $@ $<
+
+$(BUILD_DIR)/parsers:
+	mkdir -p $@

--
Gitblit v1.10.0