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

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • DroidModderX ROOT Master

    DroidModderX

    14 ŞUBAT 2011
  • Microsoft Help & Training Videos

    Microsoft He

    31 Mart 2009