Автоматическое построение зависимостей в make

Проблема в том что make сам не умеет строить зависимости файлов с исходными кодами от заголовочных файлов. То есть, например, строим бинарный файл из foo.cpp, в который, с помощью директивы include включен bar.h. Простейший makefile будет выглядить как-то так:
all: test

test: foo.cpp
    g++ foo.cpp -o test
Включаемый файл bar.h нигде не упоминается, и если мы его изменим, цель пересобрана не будет. Чтобы этого не происходило, надо указать bar.h в зависимостях рядом с foo.cpp. Однако вручную перечислять в зависимостях все включаемые заголовочные файлы практически нереально.

Linux: заменить символы '<', '>' и '&' на соответствующие html коды в командной строке

Когда вставляю сюда код, указанные символы часто заменяются неправильно на соответствующие html-коды ('&lt;', '&gt;' и '&amp;' соответственно). В Linux произвести эту замену самому перед вставкой проще всего мне показалось используя sed:
sed 's/\&/\&amp;/g;s/</\&lt;/g;s/>/\&gt;/g' inputFileName.cpp
Команда s/ в sed заменяет одну подстроку на другую. Отдельные команды в sed разделяются симоволом точки с запятой, соответственно, здесь три команды замены. Формат команды s/ такой:
sed 's/regexp/replacement/g' inputFileName
/g означает "заменить все вхождения в файле". Ну и символ & приходится экранировать, так как он используется в регулярных выражениях.

Вычислениe времени выполнения участка кода на Си/C++. Часть 2: функция clock_gettime

Некоторое время назад мне понадобилось измерить время работы одного алгоритма, и я нашел быстрое решение для этого: Вычислениe времени выполнения участка кода на Си/C++. Дальнейшее исследование показало, что способ этот отнюдь не идеален.