如何编写自己的 Makefile(.mak 文件)?

jom*_*mes 3 c makefile

我想知道如何写一个Makefile( .mak-file)。

我有4个文件:

  1. myfunctions.h
//myfunctions.h
#ifndef MYFUNCTIONS_H
#define MYFUNCTIONS_H

void show();

#endif
Run Code Online (Sandbox Code Playgroud)
  1. myfunctions.c
//myfunctions.c
#include "myfunctions.h"

void show(){
printf("running!");
}
Run Code Online (Sandbox Code Playgroud)
  1. mymain.c
//mymain.c
#include "myfunctions.h"

int main(int argc, char *argv[]) {
show();
}
Run Code Online (Sandbox Code Playgroud)
  1. 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)

我究竟做错了什么?

JL2*_*210 6

您需要将该文件用作 Makefile 本身,而不是用作目标。所以你应该跑

make -f mymake.mak
Run Code Online (Sandbox Code Playgroud)

您也可以重命名mymake.makMakefileormakefile并重新运行make

什么make是试图在这里做的是创建一个名为目标mymake.mak。既然mymake.mak已经存在,就make认为它的工作已经完成并退出。