2015-01-09 36 views
7

EXTRA_CFLAGS kullanım amacı nedir?EXTRA_CFLAGS amacı nedir?

Bazı bağlamlarda görüyorum, ancak hiçbirinin nedenyerine CFLAGS işaretlerini eklemeyeceğini anlayamadım.

İlk olarak, örtük kurallarını nasıl tanımladığı ile ilgili bir şey olduğunu düşündüm, fakat durum böyle değildi. Anladığım kadarıyla, örtülü kurallarda EXTRA_CFLAGS'un kullanımı yok, değil mi?

Herhangi bir aydınlanma için minnettarım.

+0

Bunun için elinizde herhangi bir örnek var mı? –

+0

Paylaşabileceğim hiçbir örneğim yok. Bu soru, genel olarak bunun nasıl kullanıldığı ve bu parametre için var olabilecek kodlama kuralları ve yazılım desteği/beklentileri hakkında daha fazladır. –

cevap

8

Bu, standart yapım veya yerleşik kuralların bir parçası değil, bu yüzden kullandığınız makefillilerin bazılarının kullanıldığı bir kuraldır. Ayrı bir bayrak olarak yapıldığını nedeni komut satırında kullanabilirsiniz böyledir:

make EXTRA_CFLAGS=-O3 

Komut satırı değişken atamaları geçersiz kılma makefile'daki içindeki değişkenin herhangi ayarı, bu nedenle ek ekleme çalışmıyor. Yani:

$ cat Makefile 
CFLAGS += -Dfoo 

all: ; @echo '$(CFLAGS)' 

$ make CFLAGS=-Dbar 
-Dbar 

$ make CFLAGS+=-Dbar 
-Dbar 

hem

-Dbar değil -Dfoo -Dbar gösterecektir.

Bu yüzden ayrı bir bayrak. Automake ortamlarında, kullanıcının komut satırında sağlaması için CFLAGS'u açıkça korurlar ve tüm "normal" bayrakları diğer değişkenlere yerleştirilir.

+0

Bu iyi bir neden gibi görünüyor! –