整个系统的 Makefile 配置
Makefile configuration for entire system
众所周知,在设备中我们使用命令的时候
make [file-name]
它会自动编译一些标志:
-ggdb -O0 -std=c99 -Wall - Werror
我需要知道CS50编辑的Makefile在哪个目录,因为我想为整个系统配置我自己的Makefile,通过它我可以制作任何.cpp文件.
当我用 make
编译 c++ 文件时,它会自动用 g++
编译,但我想用 clang++
编译器编译 .cpp 文件,添加一些必要的标志例如 -g
用于调试 -O0
用于汇编代码。
我想问的是,如果可能的话,如何为特定原因创建 Makefile。
Make 使用当前目录中的 Makefile 和 Implicit-Rules。您可以通过更改那些显式规则使用的变量来修改隐式规则的行为。
例如,要更改 .cpp 文件的编译器,您可以设置自己的 CXX 变量,或者
在环境中(Make 使用它):
CXX=clang++ make [file-name]
#OR
export CXX=clang++; make [file-name]
在本地 Makefile 中:
CXX:=clang++
#The implicit rule, which you'll find in the link, takes care of the rest
众所周知,在设备中我们使用命令的时候
make [file-name]
它会自动编译一些标志:
-ggdb -O0 -std=c99 -Wall - Werror
我需要知道CS50编辑的Makefile在哪个目录,因为我想为整个系统配置我自己的Makefile,通过它我可以制作任何.cpp文件.
当我用 make
编译 c++ 文件时,它会自动用 g++
编译,但我想用 clang++
编译器编译 .cpp 文件,添加一些必要的标志例如 -g
用于调试 -O0
用于汇编代码。
我想问的是,如果可能的话,如何为特定原因创建 Makefile。
Make 使用当前目录中的 Makefile 和 Implicit-Rules。您可以通过更改那些显式规则使用的变量来修改隐式规则的行为。 例如,要更改 .cpp 文件的编译器,您可以设置自己的 CXX 变量,或者
在环境中(Make 使用它):
CXX=clang++ make [file-name] #OR export CXX=clang++; make [file-name]
在本地 Makefile 中:
CXX:=clang++ #The implicit rule, which you'll find in the link, takes care of the rest