有3个文件:" client.c" ," server.c"和" util.h"
我需要在linux上使用gcc编译它,并且有2个可执行文件,1个用于客户端,另一个用于服务器。 但是可以运行多个客户端,并且只能运行1个服务器。 我不知道如何做到这一点,只为客户端创建1个makefile,为服务器创建另一个makefile或只为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)