Приложите к GNU, делают переменные через командную строку

Я использую GNU - делают Makefile, чтобы разработать проект C с несколькими целями (all, clean, и некоторые планируют определенные цели). В процессе отладки я хотел бы приложить некоторые флаги к синглу, строят, постоянно не редактируя Makefile (например, добавьте символы отладки или установите флаг препроцессора).

В прошлом я сделал это следующим образом (использующий пример символов отладки):

make target CFLAGS+=-g

К сожалению, это не прилагает к CFLAGS переменная, но вместо этого, очищая его и мешая ему собрать. Есть ли чистый способ сделать это, не определяя своего рода фиктивную переменную, приложенную до конца CFLAGS и LDFLAGS?

59
задан Michael Koval 24 January 2010 в 23:33
поделиться

1 ответ

Ознакомьтесь с директивой отмены . Возможно, вам понадобится один раз изменить make-файл, но он должен делать то, что вы хотите.

Пример make-файла:

override CFLAGS += -Wall

app: main.c
    gcc $(CFLAGS) -o app main.c 

Пример командных строк:

$ make
gcc -Wall -o app main.c 
$ make CFLAGS=-g
gcc -g -Wall -o app main.c 
81
ответ дан 24 November 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: