【发布时间】: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 之外的三个程序集文件