[PATCH] Fix dependency generation
Richard Guenther
rguenth at tat.physik.uni-tuebingen.de
Thu Jan 29 10:44:27 UTC 2004
Hi!
This patch fixes long standing possibility of ending up with recursive
makefile inclusion... basically, if the dependency making failed somehow,
we ended up including it forever on the next invocation of make. Ugh.
It also brings dependencies for the testsuite.
Ok?
Richard.
2004Jan29 Richard Guenther <richard.guenther at uni-tuebingen.de>
* config/Shared/rules.mk: don't repeat the toplevel makefile in
the initial depend.mk. Ignore SCCS and CVS directories for depend
files, add testsuite files for depend.
===== rules.mk 1.3 vs edited =====
*** /tmp/rules.mk-1.3-9804 Mon Jun 23 14:50:41 2003
--- edited/rules.mk Thu Jan 29 11:39:35 2004
***************
*** 3,14 ****
.PHONY : showtimes showenv clean cleansuite realclean realcleansuite realrealcleansuite tar makestuff dirs
.PHONY : showalias echopoomaroot suiteinfo
! depend:
@echo "Making Dependencies for suite=$(SUITE)."; \
cd $(PROJECT_ROOT);\
! filelist=`$(FIND) $(PROJECT_ROOT)/src -type f -name "*.cc" -o -name "*.C" -o -name "*.cpp" | grep -v tests`;\
! cp $(PROJECT_ROOT)/makefile $(LIBRARY_ROOT)/depend.mk ; \
! $(MAKEDEPEND) -f $(LIBRARY_ROOT)/depend.mk $(shell echo $(SUITE_DEFINES) | $(TR) ' ' ',' ) $(SUITE_INCLUDES) $$filelist 2> $(LIBRARY_ROOT)/depend.err;\
$(PERL) $(SHARED_ROOT)/dependo.pl $(LIBRARY_ROOT)/depend.mk $(PROJECT_ROOT) $$filelist;\
rm -f $(LIBRARY_ROOT)/depend.mk.bak
--- 3,15 ----
.PHONY : showtimes showenv clean cleansuite realclean realcleansuite realrealcleansuite tar makestuff dirs
.PHONY : showalias echopoomaroot suiteinfo
! depend: cleandepend
@echo "Making Dependencies for suite=$(SUITE)."; \
cd $(PROJECT_ROOT);\
! filelist=`$(FIND) $(PROJECT_ROOT)/src -type f -name "*.cmpl.cpp" -o -name "*.inst.cpp" | grep -v "tests\|FileTemplates\|SCCS\|CVS"`;\
! filelisttests=`$(FIND) $(PROJECT_ROOT)/src -type f -name "*.cpp" | grep -v "SCCS\|CVS" | grep "tests/.*\.cpp"`;\
! touch $(LIBRARY_ROOT)/depend.mk ; \
! $(MAKEDEPEND) -f $(LIBRARY_ROOT)/depend.mk $(shell echo $(SUITE_DEFINES) | $(TR) ' ' ',' ) $(SUITE_INCLUDES) $$filelist $$filelisttests 2> $(LIBRARY_ROOT)/depend.err;\
$(PERL) $(SHARED_ROOT)/dependo.pl $(LIBRARY_ROOT)/depend.mk $(PROJECT_ROOT) $$filelist;\
rm -f $(LIBRARY_ROOT)/depend.mk.bak
More information about the pooma-dev
mailing list