SORU
5 NİSAN 2011, Salı


Nasıl dosya Makefile varsa kontrol edebilirim?

Benim makefle temiz bölümünde dosyayı kalıcı olarak silmeden önce olup olmadığını kontrol etmek için çalışıyorum. Bu kodu kullanıyorum ama hata alıyorum.

Bunun nesi yanlış?

 if [ -a myApp ]
 then
     rm myApp
 fi

Bu hata mesajı alıyorum

 f [ -a myApp ]
 /bin/sh: Syntax error: end of file unexpected (expecting "then")
 make: *** [clean] Error 2

CEVAP
13 Aralık 2013, Cuma


Garip bir çok insan bunun için kabuk komut dosyası kullanarak. Herhangi bir hedef dışında yazıyorum çünkü bir şekilde yerli makefile sözdizimi kullanmak isteyen bendim. wildcard eğer dosya varsa kontrol etmek için bu işlevi kullanabilirsiniz:

 ifeq ($(UNAME),Darwin)
     SHELL := /opt/local/bin/bash
     OS_X  := true
 else ifeq (,$(wildcard /etc/redhat-release))
     OS_RHEL := true
 else
     OS_DEB  := true
     SHELL := /bin/bash
 endif 

Güncelleme:

Gerçekten benim için çalışan bir yolunu buldum:

ifneq ("$(wildcard $(PATH_TO_FILE))","")
FILE_EXISTS = 1
else
FILE_EXISTS = 0
endif

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014