没有规则来制作目标`-f'

时间:2014-02-03 05:42:48

标签: linux makefile terminal remote-server

我正在尝试创建一个像

这样的c文件
make –f makefile1

这是我的make文件:

TestAssn1: test_assign1_1.o dberror.o storage_mgr.o
        cc -o TestAssn1 test_assign1_1.o dberror.o storage_mgr.o
test_assign1_1.o: test_assign1_1.c test_helper.h dberror.h storage_mgr.h
        cc -c test_assign1_1.c
dberror.o: dberror.c dberror.h
        cc -c dberror.c
storage_mgr.o: storage_mgr.c storage_mgr.h dberror.h
        cc -c storage_mgr.c

但我只收到这条消息:

make: *** No rule to make target `–f'.  Stop.

我该如何纠正?

2 个答案:

答案 0 :(得分:5)

您需要在命令中使用普通短划线(-),而不是en dash

我猜您是从博客或其他网络来源复制此命令。许多博客/网站框架都有一个错误,即使用代码格式化的文本,他们会用印刷版的正确对应替换打字机标点符号。

答案 1 :(得分:0)

由于每个http://linux.die.net/man/1/make

的制作用量是正确的,所以这很奇怪

请尝试使用此选项的其他一些格式:

-f file, --file=file, --makefile=FILE  
    Use file as a makefile.   

否则,您的make可能不是该手册页中列出的那个(GNU make)。