我有一个Makefile如下:
work/step1.tab: temp.tab hcp_raw_data_sample.tab
command
work/step2.tab: work/step1.tab
command
我在主目录中有temp.tab
和hcp_raw_data_sample.tab
,并希望在step1.tab
目录中创建step2.tab
和work
。但是,只创建了step1.tab
; step2.tab
没有。我该怎么办?
答案 0 :(得分:2)
运行make
时,它会构建makefile中列出的第一个目标,在本例中为work/step1.tab
。它没有看到构建step2.tab的任何理由,因为它拥有构建step1所需的一切,这是默认目标。
要让它同时构建,请将work/step2.tab
移到work/step1.tab
之上。这使work/step2.tab
成为默认目标。
通过这种方式,它可以看到它需要在构建work/step1.tab
之前构建work/step2.tab
,因此它会这样做,然后它将构建work/step2.tab
。
答案 1 :(得分:1)
Make只执行第一个目标。通常,您创建一个目标all
,用于创建所需的所有子目标。如果您将all
作为第一个目标,那么如果您拨打make
,则会构建该目标。