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

  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • graham025

    graham025

    25 NİSAN 2006
  • khloe brooks

    khloe brooks

    25 Temmuz 2011