如何制作一个合适的C makefile

时间:2018-04-27 11:19:25

标签: c makefile

到目前为止,我已经学会了这种makefile:

     finalcode : code.o
          gcc -g -ansi -Wall -pedantic code.o -o finalcode
     code.o : code.c
          gcc -c -ansi -Wall -pedantic code.c -o code.o

我对学习更好的版本感兴趣

        all:
        clean:
etc..

我在哪里可以学习如何写一个更专业的"生成文件? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

所以你只想要典型的"假的"目标?这很简单,让all成为第一条规则(因此它是默认设置)并让它依赖于您想要构建的任何内容,例如:

all: finalcode

然后,在clean中,只需编写一个脚本来删除应该清理的内容,例如:

clean:
    rm -f *.o

最后,不要忘记制定这些规则"假冒",所以make知道他们实际上并没有用这些名字创建文件:

.PHONY: all clean

完成。

对于" professional",这是非常主观的,但我首先要为编译器定义变量(CC),标志(CFLAGS ),包括等等和使用这些。如果您可以轻松丢失可移植性,请使用模式规则,例如用于创建像

这样的目标文件
%.o: %.c
    $(CC) -c -o$@ $(CFLAGS) $(INCLUDES) $<