Description
Hi Stephen,
I have been building the tools from source. When I run it, unexpected crashes happen and I cannot tell what I did. As a help, I wanted to check the various compiler warnings. For the most part, from emacs, compile-mode has trouble finding the files. I think that it comes from a common structure used by many:
distclean:
-@for a in $(SUBDIRS) packages; do \
if [ -d $$a ]; then \
(cd $$a; make $@) \
fi; \
done
-@rm -f config.cache config.log config.status configure Makefile
-@rm -rf lib autom4te.cache
-@rm -f include/config.h
The cd is not reported by make, so it leads to a problem for me as I try to find the sources.
I put in a pull request modifying (cd $$a; make $@) \
to ${MAKE} -C $$a $@; \
.
distclean:
-@for a in $(SUBDIRS) packages; do \
if [ -d $$a ]; then \
${MAKE} -C $$a $@; \
fi; \
done
-@rm -f config.cache config.log config.status configure Makefile
-@rm -rf lib autom4te.cache
-@rm -f include/config.h
With that modification, emacs takes me to the correct source all the time.
There were several place were the gcc -Wall
complained about using an object after it is freed. They have all gone away.
That part is a mystery.
=====================
Parallelization of recursive jobs in GNU make sugests using the template:
SUBDIRS = a b c
default: all
$(SUBDIRS)::
$(MAKE) -C $@ $(MAKECMDGOALS)
all clean : $(SUBDIRS)
or, if there are some dependancies use this template:
SUBDIRS = app lib doc
default: all
app: lib
.PHONY: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@ $(MAKECMDGOALS)
all clean install: $(SUBDIRS)