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

  • Fuse

    Fuse

    21 Kasım 2005
  • SamsTech

    SamsTech

    4 NİSAN 2014
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010