gcc -o test_audio test_audio.c -lcunit -I/usr/include/CUnit -L/usr/lib/x86_64-linux-gnu/libcunit.so如何转换成makeall 可执行的makefile
时间: 2023-07-23 16:29:03 浏览: 120
如果你希望将编译命令转换成Makefile格式,并且在Makefile中使用`make all`命令进行编译,可以参考以下Makefile:
```
CC = gcc
CFLAGS = -I/usr/include/CUnit
LDFLAGS = -L/usr/lib/x86_64-linux-gnu -lcunit
TARGET = test_audio
OBJS = test_audio.o
.PHONY: all clean
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) -o $@ $^ $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
clean:
rm -f $(TARGET) $(OBJS)
```
在这个Makefile中,`.PHONY`表示声明一个伪目标。`all`是一个伪目标,表示需要编译生成所有目标文件。`clean`是一个伪目标,表示需要清理所有生成的目标文件和中间文件。
在规则中,`$(TARGET): $(OBJS)`表示`test_audio`依赖于`test_audio.o`文件。`$(CC) -o $@ $^ $(LDFLAGS)`表示链接生成可执行文件`test_audio`,`%.o: %.c`表示将所有的.c文件编译成.o文件。
你可以在终端中进入Makefile所在目录,然后执行`make all`命令来编译生成可执行文件。同时,你也可以执行`make clean`清理所有生成的目标文件和中间文件。
希望这个Makefile能够帮助你生成可执行的Makefile,并且使用`make all`命令进行编译。
阅读全文