1CC := gcc 2CFLAGS := -Wall 3 4COMMON_SRCS := demo_entry_posix.c 5 6TCP_CLIENT_SRCS := tcp_client_test.c 7TCP_SERVER_SRCS := tcp_server_test.c 8UDP_CLIENT_SRCS := udp_client_test.c 9UDP_SERVER_SRCS := udp_server_test.c 10 11TCP_CLIENT_TARGET := tcp_client_test 12TCP_SERVER_TARGET := tcp_server_test 13UDP_CLIENT_TARGET := udp_client_test 14UDP_SERVER_TARGET := udp_server_test 15 16########################################################################################################### 17 18COMMON_OBJS := $(addsuffix .o, $(notdir $(basename $(COMMON_SRCS)))) 19TCP_CLIENT_OBJS := $(addsuffix .o, $(notdir $(basename $(TCP_CLIENT_SRCS)))) 20TCP_SERVER_OBJS := $(addsuffix .o, $(notdir $(basename $(TCP_SERVER_SRCS)))) 21UDP_CLIENT_OBJS := $(addsuffix .o, $(notdir $(basename $(UDP_CLIENT_SRCS)))) 22UDP_SERVER_OBJS := $(addsuffix .o, $(notdir $(basename $(UDP_SERVER_SRCS)))) 23 24SRCS := $(COMMON_SRCS) $(TCP_CLIENT_SRCS) $(TCP_SERVER_SRCS) $(UDP_CLIENT_SRCS) $(UDP_SERVER_SRCS) 25OBJS := $(addsuffix .o, $(notdir $(basename $(SRCS)))) 26 27TARGETS := $(TCP_CLIENT_TARGET) $(TCP_SERVER_TARGET) $(UDP_CLIENT_TARGET) $(UDP_SERVER_TARGET) 28 29########################################################################################################### 30 31all: $(TARGETS) 32 33$(TCP_CLIENT_TARGET): $(TCP_CLIENT_OBJS) $(COMMON_OBJS) 34 $(CC) $(CCFLAGS) -o $@ $^ 35 36$(TCP_SERVER_TARGET): $(TCP_SERVER_OBJS) $(COMMON_OBJS) 37 $(CC) $(CCFLAGS) -o $@ $^ 38 39$(UDP_CLIENT_TARGET): $(UDP_CLIENT_OBJS) $(COMMON_OBJS) 40 $(CC) $(CCFLAGS) -o $@ $^ 41 42$(UDP_SERVER_TARGET): $(UDP_SERVER_OBJS) $(COMMON_OBJS) 43 $(CC) $(CCFLAGS) -o $@ $^ 44 45clean: 46 rm $(OBJS) $(TARGETS) || echo 47 48.PHONY: clean all 49