diff --git a/Makefile b/Makefile index 0238aab..fd9bd0d 100644 --- a/Makefile +++ b/Makefile @@ -20,8 +20,8 @@ $(TARGET): $(CXX) -o $@ main/*.o util/*.o shapes/*.o parser/*.o $(CXXFLAGS) $(LDFLAGS) clean: - make -C parser clean - make -C main clean - make -C shapes clean - make -C util clean + make -C parser clean CLEAN=1 + make -C main clean CLEAN=1 + make -C shapes clean CLEAN=1 + make -C util clean CLEAN=1 -rm -f $(TARGET) diff --git a/main/Makefile b/main/Makefile index 701e218..b26680d 100644 --- a/main/Makefile +++ b/main/Makefile @@ -1,7 +1,8 @@ OBJS := $(patsubst %.cc,%.o,$(wildcard *.cc)) +DEPS := $(OBJS:.o=.dep) -all: $(OBJS) +all: $(DEPS) $(OBJS) %.o: %.cc $(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $< @@ -17,4 +18,6 @@ clean: -$(RM) -f *.o *.dep # Include dependency files -include $(OBJS:.o=.dep) +ifndef clean +-include $(DEPS) +endif diff --git a/parser/Makefile b/parser/Makefile index f2670eb..d44b564 100644 --- a/parser/Makefile +++ b/parser/Makefile @@ -5,8 +5,9 @@ BISON := bison PARSER := parser OBJS := lex.yy.o $(PARSER).tab.o $(patsubst %.cc,%.o,$(wildcard *.cc)) +DEPS := $(OBJS:.o=.dep) -all: $(OBJS) +all: $(DEPS) $(OBJS) %.o: %.cc $(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $< @@ -31,4 +32,6 @@ clean: -rm -f lex.yy.cc $(PARSER).tab.cc $(PARSER).tab.hh *~ *.o *.dep # Include dependency files -include $(OBJS:.o=.dep) +ifndef CLEAN +-include $(DEPS) +endif diff --git a/shapes/Makefile b/shapes/Makefile index 701e218..b26680d 100644 --- a/shapes/Makefile +++ b/shapes/Makefile @@ -1,7 +1,8 @@ OBJS := $(patsubst %.cc,%.o,$(wildcard *.cc)) +DEPS := $(OBJS:.o=.dep) -all: $(OBJS) +all: $(DEPS) $(OBJS) %.o: %.cc $(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $< @@ -17,4 +18,6 @@ clean: -$(RM) -f *.o *.dep # Include dependency files -include $(OBJS:.o=.dep) +ifndef clean +-include $(DEPS) +endif diff --git a/util/Makefile b/util/Makefile index 701e218..a210eec 100644 --- a/util/Makefile +++ b/util/Makefile @@ -1,7 +1,8 @@ OBJS := $(patsubst %.cc,%.o,$(wildcard *.cc)) +DEPS := $(OBJS:.o=.dep) -all: $(OBJS) +all: $(DEPS) $(OBJS) %.o: %.cc $(CXX) -c -o $@ $(CPPFLAGS) $(CXXFLAGS) $< @@ -17,4 +18,6 @@ clean: -$(RM) -f *.o *.dep # Include dependency files -include $(OBJS:.o=.dep) +ifndef CLEAN +-include $(DEPS) +endif