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

  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • Lin Steven

    Lin Steven

    17 EKİM 2006
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008