我尝试用bmake来模拟这个规则
%.o: %.c echo $< $@
这在GNU make中是有效的,但是我很难用BSD make复制它。先谢了!
n6lpvg4x1#
这有点超出我的理解范围,但我认为有两件事需要改变:1.使用后缀规则代替(不支持,GNU Make特征)阵列规则。1.为自动变量使用bmake名称(bmake支持GNU Make自动变量,但不推荐使用)
.SUFFIXES: .o .c.o: echo ${.TARGET} ${.IMPSRC}
From netbsd wikiBSD make(又名bmake)使用传统的后缀规则(.c.o:...)而不是像gmake的(%.c:%.o:......),这些方法更通用、更灵活。另请参见https://linux.die.net/man/1/bmake
1条答案
按热度按时间n6lpvg4x1#
这有点超出我的理解范围,但我认为有两件事需要改变:
1.使用后缀规则代替(不支持,GNU Make特征)阵列规则。
1.为自动变量使用bmake名称(bmake支持GNU Make自动变量,但不推荐使用)
From netbsd wiki
BSD make(又名bmake)使用传统的后缀规则(.c.o:...)而不是像gmake的(%.c:%.o:......),这些方法更通用、更灵活。
另请参见https://linux.die.net/man/1/bmake