SORU
3 Mayıs 2009, Pazar


Nasıl bir makefile hedef yeniden zorlamak mı

Oluşturur bir makefile var ve sonra başka bir makefile çağırır. Bu makefile beri çağrıları gerçekten değiştirmek değil asıl işi yapan daha yararlıdır. Böylece proje oluşturulur düşünmeye devam ve kadar tarih.

dnetdev11 ~ # make
make: `release' is up to date.

Nasıl makefile hedef yeniden zorlamak mı?

clean = $(MAKE) -f ~/xxx/xxx_compile.workspace.mak clean


build = svn up ~/xxx                                                       \
        $(clean)                                                                \
        ~/cbp2mak/cbp2mak -C ~/xxx ~/xxx/xxx_compile.workspace        \
        $(MAKE) -f ~/xxx/xxx_compile.workspace.mak $(1)                    \


release:
        $(build )

debug:
        $(build DEBUG=1)

clean:
        $(clean)

install:
        cp ~/xxx/source/xxx_utility/release/xxx_util /usr/local/bin
        cp ~/xxx/source/xxx_utility/release/xxxcore.so /usr/local/lib

Not: masumları korumak için İsimler kaldırıldı

Edit: Son Sabit sürümü:

clean = $(MAKE) -f xxx_compile.workspace.mak clean;


build = svn up;                                         \
        $(clean)                                        \
        ./cbp2mak/cbp2mak -C . xxx_compile.workspace;   \
        $(MAKE) -f xxx_compile.workspace.mak    $(1);   \


.PHONY: release debug clean install

release:
        $(call build,)

debug:
        $(call build,DEBUG=1)

clean:
        $(clean)

install:
        cp ./source/xxx_utillity/release/xxx_util /usr/bin
        cp ./dlls/Release/xxxcore.so /usr/lib

CEVAP
3 Mayıs 2009, Pazar


-B anahtarı --always-make, olan yapmak, make zaman göz ardı ve belirtilen hedeflere almasını söyler. Bu kullanma amacı haline yenilgi olabilir, ama ihtiyacın olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Lancome USA

    Lancome USA

    30 HAZİRAN 2009
  • MovieZoneET

    MovieZoneET

    22 Aralık 2009