У меня есть простой Makefile, чтобы помочь мне собрать несколько примеров:Сделать простой Makefile общий
ex104: ex104.cpp
$(CPP) ex104.cpp $(INCS) $(LINKFLAGS) $(COMPILEFLAGS) -o ex104
clean:
rm -f *.o $(EXECUTABLE)
Теперь, это работает отлично. Проблема в том, я должен был бы явно написать правило для каждого из примеров, таким образом, копируя следующую строку много, много раз:
ex104: ex104.cpp
$(CPP) ex104.cpp $(INCS) $(LINKFLAGS) $(COMPILEFLAGS) -o ex104
Есть ли способ родовым-Изе это немного? Так что я бы в конечном итоге с помощью командной строки, как показано ниже, что будет строить ex252
из ex252.cpp
построен автоматически:
make ex252
К счастью, это шаблон только библиотека, поэтому я всегда строить с помощью только одного CPP файла, и Мне не нужно отслеживать объектные файлы.
Возможный дубликат [Передача дополнительных переменных из командной строки для создания] (http://stackoverflow.com/questions/2826029/passing-additional-variables-from-command-line-to-make) – taskinoor
Вы пробовали ' сделать ex252'? Нет, нет, я могу сказать ... ;-) Прочитайте [неявные правила] (https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html#Catalogue -of-правил). – DevSolar
Это интересно. У меня не было представления, что эта функция существует. Поэтому я бы просто дал стандартные имена переменным для компилятора и флагов, и make сделал бы для меня все остальное? – Michael