我不熟悉我的老师为我们的一个家庭作业创建的这种样式的makefile,因为它没有gcc命令。这是makefile。我需要知道的是放置-g cflag的位置。
### Architecture choice
#Uncomment for 64-bit
LIBRARY = libmtron.a
#Uncomment for 32-bit
#LIBRARY = libmtron32.a
### File lists
BINS = simulate
OBJS = driver.o
### Phony targets all/clean
.PHONY: all clean
all: $(BINS)
clean:
$(RM) $(BINS) $(OBJS)
### Build rules
# Be sure to link in the library
$(BINS): $(OBJS) $(LIBRARY)
# update if the header file is changed
driver.o: driver.h mtron.h
simulate: mtron.h
感谢您的帮助!
答案 0 :(得分:0)
这个makefile正在利用make的内置规则集来创建对象和链接可执行文件,而不是让你自己输入它们。
Make有一个看起来(或多或少)的默认规则:
%.o : %.c
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
如果您没有自己指定任何规则来构建.o
并且需要构建一个并且它具有.c
,那么它将使用默认的内置规则。
所以,你的问题的答案是,“将CFLAGS
的任务放在你想要的任何地方”。无论你把它放在哪里,它都将被默认规则使用。