如何在服务器 - 客户端程序上为gcc创建makefile?

时间:2018-01-15 11:02:20

标签: c linux makefile

有3个文件:" client.c" ," server.c"和" util.h"

我需要在linux上使用gcc编译它,并且有2个可执行文件,1个用于客户端,另一个用于服务器。 但是可以运行多个客户端,并且只能运行1个服务器。 我不知道如何做到这一点,只为客户端创建1个makefile,为服务器创建另一个makefile或只为1创建它可以工作吗?

1 个答案:

答案 0 :(得分:3)

只能创建一个Makefile:

TARGET=client server 
normal: $(TARGET)
client: client.c
    gcc -Wall client.c -o client
server: server.c
    gcc -Wall server.c -o server
clean:
    $(RM) $(TARGET) 

它将创建2个可执行文件(服务器和客户端)来运行。与一个/多个客户端同时执行服务器。

[编辑] 我被告知一个改进的解决方案:

TARGET=client server 
CC=gcc
CFLAGS= -Wall -Wextra -g
normal: $(TARGET)
client: client.c
    $(CC) $(CFLAGS) client.c -o client
server: server.c
    $(CC) $(CFLAGS) server.c -o server
clean:
    $(RM) $(TARGET)