我正在为C编写一个Makefile.我希望能够通过环境变量指定不同的编译和链接程序.但是,我希望它在没有任何其他变量的情况下工作.我试图与ld联系.但是,默认值不与标准C库链接.
问题:
如何将C程序与ld或$ LD链接
是否可以从cc获取适当的标志?
我无法$(CC)代替使用$(LD).这LD ?= cc也行不通.
我想要这样的东西是真的:
环境变量CC设置为tcc.
环境变量LD未设置.
我的Makefile使用tcc进行编译,并使用系统默认链接器为C进行链接.
不幸的是,一些C编译器无法链接某些库.我有tcc和glfw这个问题.
PS
Linux用户
条件赋值$(LD)?= cc无法工作,因为$(LD)是预定义的.
如果要在没有预定义变量的情况下启动make,请使用选项-R:
> make -p | grep LD
...
LD = ld
...
> make -p -R | grep LD
>
Run Code Online (Sandbox Code Playgroud)