Gnu, derleyici tanımından etkilenen nesneleri yeniden oluşturmaya zorlar
make OPTION_1=1
komut satırında seçenekleri alan bir makefile var. Değere bağlı olarak, bir alt kümesine ek derleyici tanımları ekleyecektir.
ifeq ($(OPTION_1), 1)
CC_FLAGS += -DOPTION_1_ON
endif
Tanımdaki değişiklik içerilen başlık dosyası içeriğini etkiler - bir saplama veya bir uygulama nesne dosyalarına açıktır.
Bu seçeneğin değiştirilmesiyle 'etkilenen' dosyaları yeniden oluşturmak için nasıl yapabilirim?
Örnek için teşekkürler. Bir geçici dosya olmadan bunu yapmak mümkün görünmüyor utanç. – Oliver
“compiler_flags.tmp” oluşturulmasını önlemek için düzenlenmiş, biraz daha bulanık görünüyor. Yine de demek istediğin şeyden şüpheleniyorum. Ayarı hatırlamak için * bazı * dosyalarının yaratılmasının bir yolu yoktur, çünkü yapının birden çok çağrıda durumu korumanın başka bir yolu yoktur. – slowdog
Yapınız büyük olursa, bu biraz verimsizdir. Kabuk çağırma ve güncel bir yapı için bile okunan bir dosya anlamına gelir. Bu durumlarda, derleyici bayraklarını _filename_ içinde kodlayın. – bobbogo