first version of makefile
This commit is contained in:
commit
e9a013f3e7
53
Makefile
Normal file
53
Makefile
Normal file
@ -0,0 +1,53 @@
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -O2 -Ilibmysyslog
|
||||
LDFLAGS = -Lbuild -lmysyslog -lconfig
|
||||
|
||||
BUILD_DIR = build
|
||||
|
||||
SRCS_CLIENT = myRPC-client.c
|
||||
SRCS_SERVER = myRPC-server.c
|
||||
|
||||
OBJS_CLIENT = $(BUILD_DIR)/myRPC-client.o
|
||||
OBJS_SERVER = $(BUILD_DIR)/myRPC-server.o
|
||||
|
||||
TARGET_CLIENT = $(BUILD_DIR)/myRPC-client
|
||||
TARGET_SERVER = $(BUILD_DIR)/myRPC-server
|
||||
|
||||
LIB_SRC = libmysyslog/libmysyslog.c
|
||||
LIB_OBJ = $(BUILD_DIR)/libmysyslog.o
|
||||
LIB_A = $(BUILD_DIR)/libmysyslog.a
|
||||
|
||||
.PHONY: all clean deb
|
||||
|
||||
all: $(BUILD_DIR) $(LIB_A) $(TARGET_CLIENT) $(TARGET_SERVER)
|
||||
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
# Компиляция объектного файла для myRPC-client
|
||||
$(BUILD_DIR)/myRPC-client.o: myRPC-client.c | $(BUILD_DIR)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
# Компиляция объектного файла для myRPC-server
|
||||
$(BUILD_DIR)/myRPC-server.o: myRPC-server.c | $(BUILD_DIR)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
# Компиляция объекта для libmysyslog
|
||||
$(BUILD_DIR)/libmysyslog.o: $(LIB_SRC) | $(BUILD_DIR)
|
||||
$(CC) $(CFLAGS) -fPIC -c $< -o $@
|
||||
|
||||
# Создание статической библиотеки libmysyslog.a
|
||||
$(LIB_A): $(BUILD_DIR)/libmysyslog.o
|
||||
ar rcs $@ $^
|
||||
|
||||
# Линковка myRPC-client
|
||||
$(TARGET_CLIENT): $(OBJS_CLIENT)
|
||||
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
# Линковка myRPC-server
|
||||
$(TARGET_SERVER): $(OBJS_SERVER)
|
||||
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user