当前位置: 技术问答>linux和unix
Makefile 中使用GCC选项
来源: 互联网 发布时间:2016-11-28
本文导语: 所有文件的组织 projest |- Makefile |- hello.c |- hello.h |- test.c |- hello.h Makefile 的内容如下, # Compilers and compile general parameter CC = $(CROSS_COMPILE)gcc CC_OPT = -g -c -Wall -Wuninitialized -O2 ${O...
所有文件的组织
projest
|- Makefile
|- hello.c
|- hello.h
|- test.c
|- hello.h
Makefile 的内容如下,
当执行make all的时候能编译所有的.c文件,并且生成hello.lib文件。不过觉得编译选项太少了,只有-c 和 -o
make all
/usr/bin/gcc -c -o hello.o hello.c
/usr/bin/gcc -c -o test.o test.c
ld -o hello.lib hello.o test.o -X -r
我想加入调试的选项如-g, -W, 也就是编译的时候如下的输出,该怎么修改Makefile
make all
/usr/bin/gcc -g -Wall -c -o hello.o hello.c
/usr/bin/gcc -g -Wall -c -o test.o test.c
ld -o hello.lib hello.o test.o -X -r
projest
|- Makefile
|- hello.c
|- hello.h
|- test.c
|- hello.h
Makefile 的内容如下,
# Compilers and compile general parameter
CC = $(CROSS_COMPILE)gcc
CC_OPT = -g -c -Wall -Wuninitialized -O2 ${OG_BUILD_VARS}
# Libs and lib general parameter
LIBRARIAN = $(CROSS_COMPILE)ld
LIBRARIAN_OPT = -X -r
# Linkers and linker general parameters
LINKER = $(CROSS_COMPILE)gcc
LINKER_OPT =
OBJLIST = hello.o test.o
LIBS = hello.lib
all:$(LIBS)
$(LIBS): $(OBJLIST)
$(LIBRARIAN) -o $(LIBS) $(OBJLIST) $(LIBRARIAN_OPT)
clean:
rm -f *.o *.lib *.c.mod
当执行make all的时候能编译所有的.c文件,并且生成hello.lib文件。不过觉得编译选项太少了,只有-c 和 -o
make all
/usr/bin/gcc -c -o hello.o hello.c
/usr/bin/gcc -c -o test.o test.c
ld -o hello.lib hello.o test.o -X -r
我想加入调试的选项如-g, -W, 也就是编译的时候如下的输出,该怎么修改Makefile
make all
/usr/bin/gcc -g -Wall -c -o hello.o hello.c
/usr/bin/gcc -g -Wall -c -o test.o test.c
ld -o hello.lib hello.o test.o -X -r
|
在Makefile中增加
.c.o
$(CC) -c $
.c.o
$(CC) -c $