готовый сценарий для расширения? хочу указать зависимость от .h .hpp, а приходится переписывать сценарий зановоproga.o: proga.h another_header.hpp
${CXX} ${CXXFLAGS} -c $@ .....а если таких файлов много? для каждого цель писать - это как-то по-ламерски.
т.е. для однотипных зависимостей можно одну написать.cpp.o: *.h
${CXX} ${CXXFLAGS} -c $@ ${LDLIBS}но если файл в зависимости от третьего хёадера, приходиться полностью переписывать
этот красивый сценарий. а надо всего лишь зависимость от времени создания учесть,
сценарий не надо менять.может есть способ?
Из вопроса понятно, что нужна автоматическая генерация зависимостей.
Поможет нечто типа:*************
%.d: %.c
@echo "## depend $<"
@set -e; $(CC) -M $(CFLAGS) $< \
| sed 's@\($*\)\.o[ :]*@\1.o $@ : @g' > $@; [ -s $@ ] || $(RM) $@%.o: %.c
$(CC) -c $(CCFLAGS) -o $@ $<SOURCEFILES=file1.c file2.c file3.c
DEPFILES=$(SOURCEFILES:.c=.d)
OBJFILES=$(SOURCEFILES:.o=.d)all: proga
proga: $(OBJFILES)
$(LD) $(LDFLAGS) -o $@ $<-include $(DEPFILES)
*************
Единственно что для цели clean (которой в приведенном примере нету)
нужно оный '-include' отрубить, иначе он перед очисткой будет .d-файлики
генерировать - что явно не требуется.Вообще аналогичный пример, весьма подробно разобранный, есть в документации
на GNU make.