创建生成文件

问题描述:

我想创建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

只列出part1part2part3依赖关系:

all: part1 part2 part3 

part1: 
    MAKE PART1 

part2: part1 
    MAKE PART2 

part3: part1 part2 
    MAKE PART3