Я использую GNU - делают Makefile, чтобы разработать проект C с несколькими целями (all
, clean
, и некоторые планируют определенные цели). В процессе отладки я хотел бы приложить некоторые флаги к синглу, строят, постоянно не редактируя Makefile (например, добавьте символы отладки или установите флаг препроцессора).
В прошлом я сделал это следующим образом (использующий пример символов отладки):
make target CFLAGS+=-g
К сожалению, это не прилагает к CFLAGS
переменная, но вместо этого, очищая его и мешая ему собрать. Есть ли чистый способ сделать это, не определяя своего рода фиктивную переменную, приложенную до конца CFLAGS
и LDFLAGS
?
Ознакомьтесь с директивой отмены . Возможно, вам понадобится один раз изменить 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