113 lines
3.3 KiB
Makefile
113 lines
3.3 KiB
Makefile
CC ?= gcc
|
|
CFLAGS ?= -std=c11 -Wall -Wextra -O2 -pthread -D_GNU_SOURCE
|
|
CPPFLAGS ?= -Iinclude -Ithird_party/cjson -Ithird_party/kcp
|
|
LDFLAGS ?= -pthread
|
|
PYTHON ?= python3
|
|
|
|
ifeq ($(QUIET_FFMPEG_LOGS),1)
|
|
CFLAGS += -DQUIET_FFMPEG_LOGS
|
|
endif
|
|
|
|
BIN_DIR := bin
|
|
SRC_DIR := src
|
|
CMD_DIR := cmd
|
|
|
|
COMMON_SRCS := \
|
|
$(SRC_DIR)/omni_common.c \
|
|
$(SRC_DIR)/protocol.c \
|
|
$(SRC_DIR)/latencylog.c \
|
|
$(SRC_DIR)/tx_timestamp_debug.c \
|
|
$(SRC_DIR)/kcp_packet_debug.c \
|
|
$(SRC_DIR)/kcp_session_stats.c \
|
|
$(SRC_DIR)/linux_timestamping.c \
|
|
$(SRC_DIR)/interactive.c \
|
|
$(SRC_DIR)/transport_udp.c \
|
|
$(SRC_DIR)/transport_kcp.c \
|
|
$(SRC_DIR)/server_udp_relay.c \
|
|
$(SRC_DIR)/server_udp_hub.c \
|
|
$(SRC_DIR)/server_kcp_hub.c \
|
|
$(SRC_DIR)/peer_udp_client.c \
|
|
$(SRC_DIR)/peer_kcp_client.c \
|
|
third_party/cjson/cJSON.c \
|
|
third_party/kcp/ikcp.c
|
|
|
|
TARGETS := \
|
|
$(BIN_DIR)/udpserver \
|
|
$(BIN_DIR)/udppeer \
|
|
$(BIN_DIR)/udpping \
|
|
$(BIN_DIR)/udprelay \
|
|
$(BIN_DIR)/kcpserver \
|
|
$(BIN_DIR)/kcppeer \
|
|
$(BIN_DIR)/kcpping
|
|
|
|
CAMERA_VIDEO_SENDER := $(BIN_DIR)/camera_video_sender
|
|
FFMPEG_PIPELINE_COMMON_SRCS := \
|
|
$(SRC_DIR)/video_pipeline.c \
|
|
$(SRC_DIR)/gps_buffer.c \
|
|
$(SRC_DIR)/omni_common.c \
|
|
$(SRC_DIR)/protocol.c \
|
|
$(SRC_DIR)/latencylog.c \
|
|
$(SRC_DIR)/kcp_packet_debug.c \
|
|
$(SRC_DIR)/kcp_session_stats.c \
|
|
$(SRC_DIR)/linux_timestamping.c \
|
|
$(SRC_DIR)/transport_kcp.c \
|
|
$(SRC_DIR)/peer_kcp_client.c \
|
|
third_party/cjson/cJSON.c \
|
|
third_party/kcp/ikcp.c
|
|
|
|
CAMERA_VIDEO_SENDER_SRCS := \
|
|
$(CMD_DIR)/v1_camera_pipeline_ifdef.c \
|
|
$(FFMPEG_PIPELINE_COMMON_SRCS)
|
|
|
|
B_SIDE_OMNID := $(BIN_DIR)/b_side_omnid
|
|
B_SIDE_OMNID_SRCS := \
|
|
$(CMD_DIR)/b_side_omnid.c \
|
|
$(FFMPEG_PIPELINE_COMMON_SRCS)
|
|
|
|
all: $(TARGETS)
|
|
|
|
$(BIN_DIR):
|
|
mkdir -p $(BIN_DIR)
|
|
|
|
$(BIN_DIR)/udpserver: $(CMD_DIR)/udpserver.c $(COMMON_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BIN_DIR)/udppeer: $(CMD_DIR)/udppeer.c $(COMMON_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BIN_DIR)/udpping: $(CMD_DIR)/udpping.c $(COMMON_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BIN_DIR)/udprelay: $(CMD_DIR)/udprelay.c $(COMMON_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BIN_DIR)/kcpserver: $(CMD_DIR)/kcpserver.c $(COMMON_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BIN_DIR)/kcppeer: $(CMD_DIR)/kcppeer.c $(COMMON_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BIN_DIR)/kcpping: $(CMD_DIR)/kcpping.c $(COMMON_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(CAMERA_VIDEO_SENDER): $(CAMERA_VIDEO_SENDER_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) $$(pkg-config --cflags libavformat libavcodec libavutil libswscale) -o $@ $^ $(LDFLAGS) $$(pkg-config --libs libavformat libavcodec libavutil libswscale) -lm
|
|
|
|
camera_video_sender: $(CAMERA_VIDEO_SENDER)
|
|
|
|
$(B_SIDE_OMNID): $(B_SIDE_OMNID_SRCS) | $(BIN_DIR)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) $$(pkg-config --cflags libavformat libavcodec libavutil libswscale) -o $@ $^ $(LDFLAGS) $$(pkg-config --libs libavformat libavcodec libavutil libswscale) -lm
|
|
|
|
b_side_omnid: $(B_SIDE_OMNID)
|
|
|
|
clean:
|
|
rm -rf $(BIN_DIR)
|
|
|
|
python-ext:
|
|
cd python && $(PYTHON) setup.py build_ext --inplace
|
|
|
|
python-install:
|
|
cd python && $(PYTHON) -m pip install -e .
|
|
|
|
.PHONY: all clean python-ext python-install camera_video_sender b_side_omnid
|