Hedef: kullanıcı 'paketleri oluştur' yazdığında, libx11-dev paketini otomatik olarak arar (programımın derlenmesi için gereklidir) ve bulunamadıysa, yükleyin.İç makefile içindeki paketleri otomatik olarak yükle
PACKAGES = $(shell if [ -z $(dpkg -l | grep libx11-dev) ]; then sudo apt-get install libx11-dev; fi)
[other definitions and targets]
packages: $(PACKAGES)
I tipi 'paketleri yapmak', ben süper kullanıcı parola sorulur ediyorum: İşte benim makefile'daki sadeleştirilmiş versiyonu. Doğru girilirse, süresiz olarak askıda kalıyor.
Makefile içinde mümkün olanı yapmaya çalıştığım şey mi? Öyleyse nasıl?
Çok teşekkürler.
Burada bir şablon görüyorum; libx11-dev'i dışarı çekin ve bir paketler listesinde çalışmasını sağlayın. –
@MadScientist Çok teşekkürler! Bu, paketin zaten yüklü olması durumunda, aşağıdaki hata iletisini alır: "/ bin/sh: 1: [: ii: beklenmedik operatör" . Bu, muhtemelen dpkg -l komutunun çıktısı ile ilişkilidir. | grep libx11-dev "ii libx11-dev 2: 1.4.99.1-0ubuntu2" –
Tırnak işaretleri ekle: '[-z" \ dpkg -l | grep libx11-dev \ '"] ' – MadScientist