Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个c程序的makefile_C_Makefile - Fatal编程技术网

两个c程序的makefile

两个c程序的makefile,c,makefile,C,Makefile,我有两个用gcc编译的c程序,如下所示: gcc prog1.c -o prog1 gcc prog2.c -o prog2 all: prog1 prog2 prog1: prog1.c gcc prog1.c -o prog1 prog2: prog2.c gcc prog2.c -o prog2 我能为它们制作的最简单的makefile是什么,这样当我键入make时,它们都可以编译 谢谢大家! 类似这样: gcc prog1.c -o prog1 gcc prog2

我有两个用gcc编译的c程序,如下所示:

gcc prog1.c -o prog1
gcc prog2.c -o prog2
all: prog1 prog2

prog1: prog1.c
    gcc prog1.c -o prog1

prog2: prog2.c
    gcc prog2.c -o prog2
我能为它们制作的最简单的makefile是什么,这样当我键入make时,它们都可以编译

谢谢大家!

类似这样:

gcc prog1.c -o prog1
gcc prog2.c -o prog2
all: prog1 prog2

prog1: prog1.c
    gcc prog1.c -o prog1

prog2: prog2.c
    gcc prog2.c -o prog2
makefile中的第一个目标(在本例中为
all
)是默认目标,在使用
make
时运行。按照惯例,第一个目标被命名为
default
all


注意:请确保在
gcc
命令之前插入实际的制表字符,否则
make
将不喜欢该语法。

我认为最简单的方法是只使用隐式规则:

all: prog1 prog2

如果我在键入make:makefile:4:**缺少分隔符时收到此消息,该怎么办。停止。答案之前没有显示必要的字符gcc@Jean-弗朗索瓦·法布就是这样。我不知道如何使用SO编辑器正确地编写它们。这看起来非常冗长!