>Спасибо всем за ответы!
>
>Ну ладно, чёрт с makefile-ом. В конце концов кончилось тем, что написал
>свой обходчик сорсов выдирающий все include (c двойными кавычками) из *.c
>файлов. Затем всёравно приходится вручную подправлять makefile (потому что стало лень
>учитывать всякие особенности с зависимостями в том числе искать циклические ссылки).
>Блин, ну зачем так жестоко.
apt-get install xutils-dev
(или yum install <...>, whatever is your poison)
и man makedepend.
Я даже могу показать фрагмент Makefile'а из одного из моих проектов как makedepend интегрировать в makefile (работает только с GNU make):
8<---------------------------------
# If makedepend is in PATH, add rule to regenerate Makefile.libutil.depend.
# Otherwise, create dummy Makefile.libutil.depend.
pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH)))))
export MAKEDEPEND_PATH :=$(call pathsearch,makedepend)
ifneq "$(MAKEDEPEND_PATH)" ""
Makefile.libutil.depend: $(SRC) $(TEST_SRC)
echo "makedepend path: $(MAKEDEPEND_PATH)"
echo "" >Makefile.libutil.depend;
makedepend -Y $(INCLUDES) -fMakefile.libutil.depend $^ 1>/dev/null 2>&1
else
Makefile.libutil.depend: $(SRC) $(TEST_SRC)
echo "# You don't have makedepend utility installed!" >Makefile.libutil.depend;
endif
include Makefile.libutil.depend
8<---------------------------------
Хотя, конечно, если вы начинаете новый проект, имеет смысл разобраться с automake/autoconf/libtool (например, см. http://sourceware.org/autobook/, весь текст on-line)