在PintOS中运行make时获取未定义的引用“floor”

我试图在PintOS makefile上运行make,但我一直得到未定义的引用“floor”错误。 makefile在下面。 我用gcc 4.6.1运行Ubuntu 11.10。 任何帮助表示赞赏。

all: setitimer-helper squish-pty squish-unix CC = gcc CFLAGS = -Wall -W LDFLAGS = -lm setitimer-helper: setitimer-helper.o squish-pty: squish-pty.o squish-unix: squish-unix.o clean: rm -f *.o setitimer-helper squish-pty squish-unix 

-lm应该在LDLIBS ,而不是LDFLAGS

区别很重要,因为链接可执行文件的隐式规则是:

 $(CC) $(LDFLAGS) no $(LOADLIBES) $(LDLIBS) 

ld (由GCC调用)具有严格的从左到右的依赖性解析算法。