如何使用c的makefile将-lm移到最后?

问题描述 投票:0回答:1

我有以下的makefile

CC=cc
CFLAGS= -Wall -Wextra -pedantic -lm
DEPS = fileMake.h
OBJ = fileMake.o fileFunction.o 

%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS)

fileMake: $(OBJ)
    $(CC) -o $@ $^ $(CFLAGS)

它产生了如下的输出。

cc -Wall -Wextra -pedantic -lm secondDegreeFormula.c -o secondDegreeFormula

我想把"-lm "移到最后去掉多余的空格,比如:

cc -Wall -Wextra -pedantic secondDegreeFormula.c -o secondDegreeFormula -lm

我该怎么做?

EDIT.EDIT 1: 我想把-lm移到末尾,并去掉多余的空格,比如:我怎么能这样做呢?

CC=cc
CFLAGS=-Wall -Wextra -pedantic
LIBS=-lm
DEPS=fileMake.h
OBJ=fileMake.o fileFunction.o 

%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS) $(LIBS)

fileMake: $(OBJ)
    $(CC) -o $@ $^ $(CFLAGS) $(LIBS)

EDIT 2:

CC=cc
CFLAGS= -Wall -Wextra -pedantic
LIBS= -lm
DEPS=fileMake.h
OBJ=fileMake.o fileFunction.o 

fileMake: $(OBJ)
    $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
c makefile
1个回答
1
投票

你需要把动态库做成一个单独的变量,并在适当的地方包含它。

CFLAGS= -Wall -Wextra -pedantic
LIBS= -lm

...


fileMake: $(OBJ)
    $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
© www.soinside.com 2019 - 2024. All rights reserved.