C++ 为多次执行创建makefile

C++ 为多次执行创建makefile,c++,makefile,C++,Makefile,我检查了之前的问题,但没有发现与我类似的问题: 我有客户端和服务器两个进程 首先,我在ubuntu gcc上执行: g++-o daemon.cpp exclude\u function.cpp-lpthread-std=c++11 然后运行/a 客户执行: g++-obuser\u main.cpp client.cpp 执行/b 我是否可以创建make文件,以便在执行时可以创建bota和b? 或者makefile如何对我的案例有用 我是makefile的新手。Make将构建第一个目标,除非指

我检查了之前的问题,但没有发现与我类似的问题:

我有客户端和服务器两个进程

首先,我在ubuntu gcc上执行:

g++-o daemon.cpp exclude\u function.cpp-lpthread-std=c++11
然后运行
/a

客户执行:

g++-obuser\u main.cpp client.cpp
执行
/b

我是否可以创建make文件,以便在执行时可以创建bot
a
b
? 或者makefile如何对我的案例有用


我是makefile的新手。

Make将构建第一个目标,除非指定了目标。因此,如果使用下面的Makefile执行make,那么实际上makeall将运行。这要求目标a和b是最新的,具体如下。(记住用凸耳替换前导空白)


谢谢,所以要使用它,我需要另存为
makefile
?那么如何执行它呢?通常作为Makefile(大写的第一个字符)。只需运行“make”或“make a”或“make b”。首先两者都可以,而其他的只构建一个目标。您可以避免使用Make的自动变量(例如
g++-o$@$^
)重复makefile中的文件名,但我认为,这一步会让初学者对makefile感到困惑。高级生成文件可以变得任意复杂。酷!,如果你认为这个问题对其他人有用,就投票表决吧!刚果,你的第一个得分答案!
all: a b

a: daemon.cpp exclude_fucntion.cpp
        g++ -o a daemon.cpp exclude_fucntion.cpp -lpthread -std=c++11

b: user_main.cpp client.cpp
        g++ -o b user_main.cpp client.cpp