2014-10-03 2 views
0

Мне было интересно, если я делаю make-файл. И вместо использования CFLAGS я использую CFLAGS_1, это было бы действительно. Это связано с попыткой использовать логику (используя ifeq и else), где, если мне пришлось скомпилировать два набора файлов, например A.c и B.c, но B.c зависит от общего объекта, поэтому я хочу изменить используемые CFLAGS. Однако у меня возникают проблемы с его работой.Имеет ли значение термин CFLAGS в Makefile?

${PROG}: ${OBJS} 
    ${CC} ${CFLAGS} -o ${PROG} ${OBJS} ${LDFLAGS} 
+0

Что вы пытаетесь точно и что не работает точно? –

ответ

1

Использование CFLAGS_1 отлично, он просто не будет работать для любого из встроенных правил, которые используют CFLAGS уже.

И хотя это отвечает на вопрос, который вы на самом деле просили, я чувствую, что вопрос, который вы не задали, более уместен.

1

То, что вы хотите, называется "целевой конкретной" переменная: переменная, значение которой зависит от того, какой файл мы строим:

A : CFLAGS := ...

B : CFLAGS := ...

PROG := A B 
${PROG}:... 
    here you can use ${CFLAGS} and it will be the one assigned for the target you are building 
Смежные вопросы