nasıl makefile cd komutu yazmak
örneğin benim makefile böyle bir şey var
all:
cd some_directory
ama ben yazarken sadece cd some_directory 'echo komutu gibi gördüm
CEVAP
Aslında bu komut, some_directory
ancak dizinin bu alt süreci bir kabuk içinde gerçekleştirilen değişiyor, çalıştığı ve ne yapmak ne de çalışıyorsun. kabuk etkiler.
Eğer some_directory
, içinde daha fazla görevleri gerçekleştirmek için arıyorsanız noktalı virgül ekleyin ve diğer komutları da eklemek gerekir. Açıklık getirmek için kullandığınız herhangi bir yeni satır ters eğik çizgi ile kaçtı olmalı kuralı son olarak yorumlanır, onlar olarak karakterlerine kullanamazsınız.
Örneğin:
all:
cd some_dir; echo "I'm in some_dir"; \
gcc -Wall -o myTest myTest.c
Noktalı virgül, eğik çizgi ve bir yeni satır ekleme olsa bile her komut arasında gerekli olduğunu unutmayın. Bu tüm dize kabuk tarafından tek bir hat gibi ayrıştırılmış olması nedeniyle. Yorum gerektiğini kaydetti kullanmak 've' onlar sadece önceki komut başarılı olursa, idam anlamına gelen komutları, katılmak için.
all:
cd some_dir && echo "I'm in some_dir" && \
gcc -Wall -o myTest myTest.c
Aksi takdirde bu cd
Her ne sebeple olursa olsun başarısız olması yanlış bir şey yok, olacak gibi yıkıcı çalışma, temizlik gibi yaparak çok önemli olduğunu özellikle.
Aramak için olsa da yaygın bir kullanım içine bakmak isteyebilirsiniz bir alt dizin oluşturur. Kural şu şekilde görünecektir cd
kendini aramak zorunda değilsiniz, bu yüzden bunun için bir komut satırı seçeneği var
all:
$(MAKE) -C some_dir all
some_dir
içine değiştirmek ve hedef ile orada Makefile
yürütecek olan, "bütün". Bir en iyi uygulama, kullanımı $(MAKE)
yerine arama make
direkt olarak ilgileneceğim için arama sağ olun örnek (eğer, örneğin, kullanmak için bir özel sürümü için inşa ortamı) olarak bulunur biraz farklı davranış koşarak kullanarak bazı anahtar gibi -t
.
Kayıt için, yapmakher zamanyankı eğer hiçbir çıkış varsa bile, gördüğünüz hangi yürütür komutu açıkça bastırılmış sürece),.
Nasıl makefile döngü yazmak için?...
Nasıl bir yazmak:satır içi CSS hover?...
Nasıl iOS tamamen C uygulama yazmak iç...
Nasıl ActiveRecord modeli ve Raylar ta...
Nasıl Ruby dosyası yazmak için?...