我有一个Makefile
在 Ubuntu Linux 13.04 上编译 C 代码的程序。它看起来像这样:
CC=gcc
CFLAGS=-c -Wall
LDFLAGS=-lm
SOURCES=$(wildcard *.c)
OBJECTS=$(SOURCES:.c=.o)
EXECS=$(SOURCES:%.c=%)
all: $(OBJECTS) $(EXECS)
.c.o:
$(CC) $(CFLAGS) $< -o $@
.o.:
$(CC) -o $@ $^ $(LDFLAGS)
现在,ld
想要$(LDFLAGS)
出现在我把它放在上面的行的末尾。当我make
在此运行时,Makefile
我得到以下类型的输出:
$ make
gcc -c -Wall FILENAME.c -o FILENAME.o
...
gcc -lm FILENAME.o -o FILENAME
...
为什么-lm
在 C 编译器之后出现在第二行而不是在行尾?