Tabii, ama ne zaman tükürmesini istiyorsun?
Kuralı çalıştırırken hedefin adını bildirmek için kurala bir satır koyun:
foo$(VAR): $(PREREQS)
@echo now making the foo target: $@
do_other_stuff...
Hepsini bir kerede tükürmek için ayrı bir PHONY hedefi oluşturabilirsiniz:
.PHONY: show_vars
show_vars:
@echo foo$(VAR)
@echo bar$(PARAM) blah$(FLAG)
# and so on
Ve bu, varsayılan hedefinizin bir ön koşulu haline getirilebilir:
all: show_vars
...
DÜZENLE:
Rasgele bir makefile'ın tüm olası hedeflerini göstermenin bir yolunu istiyorsunuz, sanırım bu, müdahaleci olmayan anlamına geliyor. İyi...
Bunu tam olarak yapmak ve karmaşık makefile'lerle başa çıkmak için, örneğin eval
ifadelerle oluşturulan kuralları içeren bir Make emülatörüne yakın bir şey yazmanız gerekir. Pratik değil.
Basit kuralların hedeflerini görmek için, rastgele bir makefile üzerinde çalışan bir makefile tarayıcısı olarak görev yapacak bir makefile yazabilirsiniz:
- Sed kullanarak makefile'dan tüm hedef isimleri alın.
- değişkenleri genişletmek için kullanmak üzere makefile 'dahil'.
- `Show_%:; kullanın tüm hedefleri yazdırmak için echo $$ * `
Bu etkileyici bir çalışma olurdu. Hedefin çabaya değer olduğundan emin misin?