Ответ 1
В файле configure.ac строки, отмеченные знаком "#", которые появляются после появления AC_INIT в результирующей конфигурации script. Комментарии dnl не будут. Одной из целей dnl является отброс нежелательных строк новой строки, чтобы сделать конфигурацию script доступной для чтения. Кроме того, уместно использовать комментарии dnl для документирования макроса m4; эти комментарии не имеют смысла в configure script, так как макрос m4 там не появляется, только его расширение.
Комментарии в Makefile.am обрабатываются по-разному. Makefile.am не обрабатывается m4, а automake, где соглашение заключается в отбрасывании строк, начинающихся С##, предшествующих только пробелами. (Хотя комментарии ### переносятся в Makefile.in) Поскольку Makefile.am не обрабатывается m4, 'dnl' не вводит комментарий.