Uygulamalarımın ana dizininde her birinin kendi Makefile'sine sahip rastgele bir alt dizin içeren "lib" dizinim var.joker yardımcı alt dizinleri hedefler
Ana dizinde, her bir alt yönlendiricinin Makefile adını veren tek bir Makefile olmasını isterim. Alt dizinleri manuel olarak listelediğimde bunun mümkün olduğunu biliyorum, ancak otomatik olarak yapılmasını istiyorum.
Aşağıdaki gibi bir şey düşünüyordum, ama açıkçası işe yaramıyor. Temiz, test vb. Hedeflerim olduğunu da unutmayın, bu yüzden% muhtemelen hiç de iyi bir fikir değildir.
LIBS=lib/*
all: $(LIBS)
%:
(cd [email protected]; $(MAKE))
Herhangi bir yardım için teşekkür ederiz!
Wow, Teşekkürler. ÇALIŞIYOR bir cazibe gibi! – Zed
Neden "$ (clean_LIBS)" öğesini sahte olarak tanımladınız? Örneğin. .PHONY: $ (LIBS) $ (clean_LIBS) ', sonra bence 'force' gerekmiyor. –
@dma_k: Mükemmel bir nokta yaratıyorsunuz. Önerinizi test etmedim, ama mantığınız bana doğru geliyor. Aslında, GNU Make kullanım kılavuzunun burada önerdiği gibi çok şey duyuyor (bkz. Alt dizinlerdeki bit): http://www.gnu.org/software/make/manual/make.html#Phony-Targets – mrkj