Опция, которая применяется к GNU make и работает с любым Makefile, сгенерированным CMake или нет, заключается в использовании опции --trace
для make.Это распечатает команды, которые make
выполняет, и продолжает их выполнять.
Это относится ко всем командам, а не только к тем, которые VERBOSE=1
или V=1
запускают печать в сгенерированных CMake / automake make-файлах.
И еще одна альтернатива в Linux - запустить make под strace , как strace -f -e trace=execve make <make options>
.Вывод из strace будет включать каждый процесс, который выполняется: по make, по сценарию оболочки, который запускает run и т. Д.
Например, вы можете обнаружить, что генерируемый CMake make-файл выполняется/usr/bin/cmake -E __run_co_compile <lots of options ...>
и все еще удивляетесь, каковы точные вызовы компилятора, которые, в свою очередь, будут выполняться.Вы можете получить это методом strace.