diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -11,10 +11,17 @@ AI_ALL_LOWER := $(patsubst ai_%.cpp,%,$(AI_SOURCES)) MAIN_DEP_FILES := $(patsubst %,$(OBJDIR)/main_%.d,$(AI_ALL_LOWER)) -CXX_SOURCES := $(filter-out main.cpp,$(wildcard *.cpp)) +AI_CXX_SOURCES := $(wildcard ai_*.cpp) +AI_OBJ_FILES := $(patsubst %.cpp,$(OBJDIR)/%.o,$(AI_CXX_SOURCES)) +AI_DEP_FILES := $(patsubst %.cpp,$(OBJDIR)/%.d,$(AI_CXX_SOURCES)) + +CXX_SOURCES := $(filter-out main.cpp $(AI_CXX_SOURCES),$(wildcard *.cpp)) OBJ_FILES := $(patsubst %.cpp,$(OBJDIR)/%.o,$(CXX_SOURCES)) DEP_FILES := $(patsubst %.cpp,$(OBJDIR)/%.d,$(CXX_SOURCES)) +ALL_OBJ_FILES := $(OBJ_FILES) $(AI_OBJ_FILES) +ALL_DEP_FILES := $(DEP_FILES) $(AI_DEP_FILES) + TARGETS := $(patsubst %,ai%,$(AI_ALL_LOWER)) @@ -26,16 +33,16 @@ clean: rm -f $(TARGETS) rm -rf $(OBJDIR) -$(TARGETS): ai%: $(OBJ_FILES) $(OBJDIR)/main_%.o $(TERMIO_LIB) +$(TARGETS): ai%: $(OBJ_FILES) $(OBJDIR)/main_%.o $(OBJDIR)/ai_%.o $(TERMIO_LIB) @echo LD $@ @$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) -$(OBJ_FILES): $(OBJDIR)/%.o: %.cpp $(TERMIO_LIB) +$(ALL_OBJ_FILES): $(OBJDIR)/%.o: %.cpp $(TERMIO_LIB) @mkdir -p $(dir $@) @echo CXX $< @$(CXX) $(CXXFLAGS) -c -o $@ $< -$(DEP_FILES): $(OBJDIR)/%.d: %.cpp $(TERMIO_LIB) +$(ALL_DEP_FILES): $(OBJDIR)/%.d: %.cpp $(TERMIO_LIB) @mkdir -p $(dir $@) @echo DEP $< @$(CXX) -MT $(OBJDIR)/$*.o -MM $(CXXFLAGS) $< >$@ @@ -43,12 +50,12 @@ $(DEP_FILES): $(OBJDIR)/%.d: %.cpp $(TERMIO_LIB) $(OBJDIR)/main_%.o: main.cpp $(TERMIO_LIB) @mkdir -p $(dir $@) @echo CXX "$< -o $(notdir $@)" - @$(CXX) $(CXXFLAGS) -DAI=$(shell echo "$*" | tr a-z A-Z) -c -o $@ $< + @$(CXX) $(CXXFLAGS) -DAI=$(shell echo "$*" | tr a-z A-Z) -DAI_HEADER=\"ai_$*.h\" -c -o $@ $< $(OBJDIR)/main_%.d: main.cpp $(TERMIO_LIB) @mkdir -p $(dir $@) @echo DEP "$< -o $(notdir $@)" - @$(CXX) -MT $(OBJDIR)/$*.o -MM $(CXXFLAGS) -DAI=$(shell echo "$*" | tr a-z A-Z) $< >$@ + @$(CXX) -MT $(OBJDIR)/$*.o -MM $(CXXFLAGS) -DAI=$(shell echo "$*" | tr a-z A-Z) -DAI_HEADER=\"ai_$*.h\" $< >$@ termio/.git: git submodule update --init @@ -56,4 +63,4 @@ termio/.git: $(TERMIO_LIB): termio/.git $(wildcard termio/*.c termio/*.h) make -C termio --include $(DEP_FILES) $(MAIN_DEP_FILES) +-include $(ALL_DEP_FILES) $(MAIN_DEP_FILES) |