在makefile中生成汇编文件
Posted
技术标签:
【中文标题】在makefile中生成汇编文件【英文标题】:Generation of assembly file in makefile 【发布时间】:2014-02-04 01:17:46 【问题描述】:我想修改 makefile 以生成所有的程序集文件。 make文件如下:
# Compiler and Linker
CC := gcc
LD := gcc
# 标准库
CFLAGS_STD := -g -std=gnu99 \ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \ -Wall -Wno-未使用的参数 LDFLAGS_STD := -lm
# glib
CFLAGS_GLIB := `pkg-config --cflags glib-2.0 gmodule-2.0`
LDFLAGS_GLIB := `pkg-config --libs glib-2.0 gmodule-2.0 gthread-2.0 gobject-2.0`
%.o: %.c %.h
@echo " [$@]"
$(CC) $(CFLAGS) -c $<
CFLAGS = $(CFLAGS_STD) $(CFLAGS_GLIB)
LDFLAGS = $(LDFLAGS_STD) $(LDFLAGS_GLIB)
OPTTREE_OBJS = opttree.o \
optsystem.o \
optmain.o \
kdtree.o
OPTTREE=./rrtst
OPTTREE_DEPENDENCIES:=$(OPTTREE_OBJS) $(LDFLAGS_COMMON)
all: $(OPTTREE)
$(OPTTREE): $(OPTTREE_DEPENDENCIES)
$(CC) -g -o $@ $(OPTTREE_OBJS) $(LDFLAGS) $(CFLAGS)
clean:
rm -f *.o *.a *~ $(OPTTREE) $(OPTSYSTEM_TEST)
请帮帮我。
问候,
帕万
【问题讨论】:
将-S
标志传递给您的编译器。并添加rm -f *.s
。
感谢重播。我对应该在哪里传递 -S 标志感到困惑?我可以通过修改 CFLAGS_STD := -g -S -std=gnu99 \ 来生成除 optmain.s 之外的三个程序集文件
【参考方案1】:
任意添加
-S
到您的 CFLAGS= 行的末尾,或
CFLAGS += -S
Makefile 中的其他位置,在你击中你想要的目标之前 获取汇编输出。
【讨论】:
以上是关于在makefile中生成汇编文件的主要内容,如果未能解决你的问题,请参考以下文章