我想知道如何写一个Makefile( .mak-file)。
我有4个文件:
myfunctions.h://myfunctions.h
#ifndef MYFUNCTIONS_H
#define MYFUNCTIONS_H
void show();
#endif
Run Code Online (Sandbox Code Playgroud)
myfunctions.c://myfunctions.c
#include "myfunctions.h"
void show(){
printf("running!");
}
Run Code Online (Sandbox Code Playgroud)
mymain.c://mymain.c
#include "myfunctions.h"
int main(int argc, char *argv[]) {
show();
}
Run Code Online (Sandbox Code Playgroud)
mymake.mak://mymake.mak
myprogramm: mymain.c myfunctions.c
gcc -o myprogramm mymain.c myfunctions.c -I.
Run Code Online (Sandbox Code Playgroud)
我运行mymake.makwithmake mymakemak.mak并收到此错误:
make: Nothing to be done for `mymake.mak'.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
您需要将该文件用作 Makefile 本身,而不是用作目标。所以你应该跑
make -f mymake.mak
Run Code Online (Sandbox Code Playgroud)
您也可以重命名mymake.mak为Makefileormakefile并重新运行make。
什么make是试图在这里做的是创建一个名为目标mymake.mak。既然mymake.mak已经存在,就make认为它的工作已经完成并退出。