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

  • MC JIN'S OLD YouTube CHANNEL

    MC JIN'S OLD

    2 Kasım 2008
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009