我有一个源文件test.c
及其标题test.h
,文件main.c
和makefile
。 我想设置我的makefile,使(1)编译test.c
它来建立一个可执行test.o
, 和(2)编译test.c
使用-S
标志打印的汇编代码test.s
。如何编写使用-S和-c编译的makefile?
我试图设置makefile,因为我认为是正确的,但这当然并不实际运行最后的test.s
行。
FLAGS = -c -Wall
CC = gcc
ASM = -S
all : optimize
optimize: main.o test.o
$(CC) main.o test.o -o optimize
main.o: main.c test.h
$(CC) $(FLAGS) main.c
test.o: test.h test.c
$(CC) $(FLAGS) test.c
test.s: test.h test.c
$(CC) $(ASM) -Wall test.c
谁能告诉我如何我应该有这种不同的结构,创造都 test.s和test.o?
我试图改变optimize:
线及以下之一:
optimize: main.o test.o test.s
$(CC) main.o test.o test.s -o optimize
但链接了一个错误multiple definition of 'test'
。
如何'所有:优化test.s' ? –