Makefile 1.33 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# 判断不同的系统使用不同的编译器
# ifeq ($(OS),Windows_NT)
# 	CC := arm-linux-gnueabihf-gcc
# else
	CC := gcc
# endif

# 指定obj文件夹
OBJ_DIR := obj

# 指定lib文件夹
LIB_DIR := lib

# 指定输出文件夹
OUT_DIR := bin

# 指定源文件
SRCS := $(wildcard *.c)

# 指定Socket文件夹
SOCKET_DIR := socket

# 测试Socket部分(除了注销注册外的)
socket : sock_msg.o SocketClient SocketServer
	@chmod 777 $(OUT_DIR)/*.out
26 27 28
	@./$(OUT_DIR)/SocketServer.out


29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

SocketClient : sock_msg.o $(SOCKET_DIR)/SocketClient.c 
	@$(CC) -c $(SOCKET_DIR)/$@.c -o $(OBJ_DIR)/$@.o
	@if [ ! -d "$(OBJ_DIR)" ]; then \
		mkdir obj; \
	fi
	@$(CC) -o $(OUT_DIR)/$@.out $(OBJ_DIR)/$@.o $(OBJ_DIR)/$<

SocketServer : sock_msg.o $(SOCKET_DIR)/SocketClient.c 
	@$(CC) -c $(SOCKET_DIR)/$@.c -o $(OBJ_DIR)/$@.o
	@if [ ! -d "$(OBJ_DIR)" ]; then \
		mkdir obj; \
	fi
	@$(CC) -o $(OUT_DIR)/$@.out $(OBJ_DIR)/$@.o $(OBJ_DIR)/$<

# 测试Socket注销注册部分

# 测试msg本地发送接收部分

# 测试msg发送接收信号部分

# 测试msg发送接收部分

# 编译库文件
sock_msg.o : $(LIB_DIR)/sock_msg.c $(LIB_DIR)/sock_msg.h
	@if [ ! -d "$(OBJ_DIR)" ]; then \
		mkdir obj; \
	fi
	@$(CC) -c $< -o $(OBJ_DIR)/$@

.PHONY: clean
clean:
	-rm -rf $(OBJ_DIR)/*.o
	-rm -rf $(OUT_DIR)/*.out