2011-05-30 77 views
0

我想創建makefile文件和配置我的圖書館,它的目錄結構就像是以下幾點:創建生成文件

 
$projectroot 
    ├── lib 
    ├── src 
    └── test 

這個庫有3個不同的部分(第一部分,第2部分和第三部分),它是一個層次庫,這意味着第2部分第1部分需求,第3和部分第2部分需求和第1部分:

 
part1 ◁───┐ 
    △  │ 
    │  │ 
    part2 │ 
     △ │ 
     │ │ 
     │ │ 
    part3 ┘ 

現在,我想有4個不同的目標,你可以看到如下:

 
all: 
     <MAKE ALL THE 3 PARTS> 

part1:  
     <MAKE PART1> 

part2: 
     <MAKE PART2> 

part3: 
     <MAKE PART3> 

我用make(使所有)沒有問題,但例如也許有人只想要安裝第2部分,我需要驗證第2部分是否已經安裝或沒有

我怎樣才能做到這一點?

+1

爲什麼你認爲你需要「驗證第2部分是否已經安裝或沒有」?我想你可能會在這裏混合安裝和構建。如果你想並行化你的構建,請查看:http://miller.emu.id.au/pmiller/books/rmch/ ... – 0xC0000022L 2011-05-30 09:45:58

+0

我同意。正如在這個重複的問題http://stackoverflow.com/a/6175802/848072有一件事是構建,另一個安裝,你有答案。通常make不檢查已安裝的庫,但你可以創建一個目標並使用'locate'或類似這樣的東西http://serverfault.com/a/54739 – albfan 2012-10-26 16:21:57

回答

1

只列出part1part2part3依賴關係:

all: part1 part2 part3 

part1: 
    MAKE PART1 

part2: part1 
    MAKE PART2 

part3: part1 part2 
    MAKE PART3