到目前为止,我已经学会了这种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..
我在哪里可以学习如何写一个更专业的"生成文件? 提前谢谢!
答案 0 :(得分:2)
所以你只想要典型的"假的"目标?这很简单,让all
成为第一条规则(因此它是默认设置)并让它依赖于您想要构建的任何内容,例如:
all: finalcode
然后,在clean
中,只需编写一个脚本来删除应该清理的内容,例如:
clean:
rm -f *.o
最后,不要忘记制定这些规则"假冒",所以make知道他们实际上并没有用这些名字创建文件:
.PHONY: all clean
完成。
对于" professional",这是非常主观的,但我首先要为编译器定义变量(CC
),标志(CFLAGS
),包括等等和使用这些。如果您可以轻松丢失可移植性,请使用模式规则,例如用于创建像
%.o: %.c
$(CC) -c -o$@ $(CFLAGS) $(INCLUDES) $<