Linux Makefile仅创建第一个文件

Linux Makefile仅创建第一个文件,linux,makefile,Linux,Makefile,我有一个Makefile,如下所示: work/step1.tab: temp.tab hcp_raw_data_sample.tab command work/step2.tab: work/step1.tab command 我在主目录中有temp.tab和hcp\u raw\u data\u sample.tab,希望在work目录中创建step1.tab和step2.tab。然而,创建的只是step1.tab步骤2。选项卡不起作用。我该怎么办?当您运行make时,它将

我有一个Makefile,如下所示:

work/step1.tab: temp.tab hcp_raw_data_sample.tab
    command

work/step2.tab: work/step1.tab
    command

我在主目录中有
temp.tab
hcp\u raw\u data\u sample.tab
,希望在
work
目录中创建
step1.tab
step2.tab
。然而,创建的只是
step1.tab
<代码>步骤2。选项卡不起作用。我该怎么办?

当您运行
make
时,它将构建makefile中列出的第一个目标,在本例中为
work/step1.tab
。它看不到构建step2.tab的任何理由,因为它拥有构建step1所需的一切,而step1是默认目标

要同时生成这两个,请将
work/step2.tab
移到
work/step1.tab
上方。这使得
工作/step2.tab
成为默认目标


通过这种方式,它将看到它需要先构建
work/step1.tab
,然后才能构建
work/step2.tab
,因此它将这样做,然后在运行
make
时,它将构建
work/step2.tab

,它将构建makefile中列出的第一个目标,在本例中为
work/step1.tab
。它看不到构建step2.tab的任何理由,因为它拥有构建step1所需的一切,而step1是默认目标

要同时生成这两个,请将
work/step2.tab
移到
work/step1.tab
上方。这使得
工作/step2.tab
成为默认目标


通过这种方式,它将看到它需要先构建
work/step1.tab
,然后才能构建
work/step2.tab
,因此它将这样做,然后在运行
make
时,它将构建
work/step2.tab

,它将构建makefile中列出的第一个目标,在本例中为
work/step1.tab
。它看不到构建step2.tab的任何理由,因为它拥有构建step1所需的一切,而step1是默认目标

要同时生成这两个,请将
work/step2.tab
移到
work/step1.tab
上方。这使得
工作/step2.tab
成为默认目标


通过这种方式,它将看到它需要先构建
work/step1.tab
,然后才能构建
work/step2.tab
,因此它将这样做,然后在运行
make
时,它将构建
work/step2.tab

,它将构建makefile中列出的第一个目标,在本例中为
work/step1.tab
。它看不到构建step2.tab的任何理由,因为它拥有构建step1所需的一切,而step1是默认目标

要同时生成这两个,请将
work/step2.tab
移到
work/step1.tab
上方。这使得
工作/step2.tab
成为默认目标


通过这种方式,它将看到它需要先构建
work/step1.tab
,然后才能构建
work/step2.tab
,因此它将这样做,然后它将构建
work/step2.tab
Make只执行第一个目标。通常,您创建一个目标
all
,该目标创建您想要的所有子目标。如果将
all
作为第一个目标,那么如果调用
make
,make只执行第一个目标,就会生成该目标。通常,您创建一个目标
all
,该目标创建您想要的所有子目标。如果将
all
作为第一个目标,那么如果调用
make
,make只执行第一个目标,就会生成该目标。通常,您创建一个目标
all
,该目标创建您想要的所有子目标。如果将
all
作为第一个目标,那么如果调用
make
,make只执行第一个目标,就会生成该目标。通常,您创建一个目标
all
,该目标创建您想要的所有子目标。如果您将
all
作为第一个目标,那么如果您调用
make

您如何运行
make
?您如何运行
make
?您如何运行
make
?您如何运行
make