#
# MakeFile assignment 2
# Variables
CC=gcc
LINK=gcc
CFLAGS=-c -Wall -I.
OBJECT_FILES = cmpsc311-f13-assign2.o a2support.o
#Suffix rules
.SUFFIXES: .c .o
.c.o:
$(CC) -c $(CFLAGS) -o $@ $<
#Productions
cmpsc311-f13-assign2 : $(OBJECT_FILES)
$(LINK) $(OBJECT_FILES) -o $@
#Dependencies
cmpsc311-f13-assign2.o : cmpsc311-f13-assign2.c a2support.h
a2support.o : a2support.c a2support.h
clean:
rm cmpsc311-f13-assign2.o
rm a2support.o
每次我使用命令make Makefile
它什么也不做,我的makefile有问题还是另一个问题?
运行以下命令也不会产生任何影响:
gcc -o cmpsc311-f13-assign2 cmpsc311-f13-assign2.c a2support.c a2support.h -I.
答案 0 :(得分:3)
每次我使用命令
make Makefile
时都不会执行任何操作
make Makefile
尝试创建Makefile
。由于您没有任何规则来创建它,因此无需做任何事情。
通常在没有参数的情况下调用make
;它默认使用Makefile
,并尝试定义第一个目标(在您的情况下为cmpsc311-f13-assign2
)。
您可以使用-f
选项指定要使用的其他makefile:
make -f foo.mk
或者您可以使用参数来指定要构建的内容:
make clean
或两者:
make -f foo.mk clean
答案 1 :(得分:0)
除了上面提到的答案,你还需要在第14行添加一个TAB字符。
$(CC) -c $(CFLAGS) -o $@ $<