提交 457fb3b1 authored 作者: blu's avatar blu

using cmake

上级 a605f0c9
#
#INFO: DRAFT, not completed
#
#
cmake_minimum_required (VERSION 3.0)
project (evsuits)
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(MACOSX TRUE)
endif()
add_definitions(-std=c++1z)
FIND_PACKAGE(OpenCV 4.0.0 REQUIRED)
#set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include_directories(inc vendor/include)
link_directories(vendor/lib)
set(ENV{PKG_CONFIG_PATH} "${CMAKE_SOURCE_DIR}/vendor/lib/pkgconfig:${PKG_CONFIG_PATH}")
FIND_PACKAGE(PkgConfig REQUIRED)
set(COMMON_SOURCES file1.cpp file2.cpp)
set(TARGET_SOURCES main.cpp)
set(TEST_SOURCES run_tests.cpp test_file1.cpp test_file2.cpp)
add_library(database database.cpp hello.h)
add_executable(evmgr evmgr.cpp)
target_link_libraries(evmgr )
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "-D__STDC_CONSTANT_MACROS")
if(MACOSX)
include_directories("/usr/local/Cellar/libssh2/1.9.0_1/include")
link_directories("/usr/local/Cellar/libssh2/1.9.0_1/lib")
list(APPEND SSH2LIB ssh2)
else()
list(APPEND SSH2LIB ssh2 gcrypt)
endif()
pkg_search_module(FMT REQUIRED fmt)
MESSAGE("FMT_VERSION: ${FMT_VERSION}")
pkg_search_module(ZMQ REQUIRED libzmq)
MESSAGE("ZMQ_VERSION: ${ZMQ_VERSION}")
pkg_search_module(CV REQUIRED opencv4)
MESSAGE("CV_VERSION: ${CV_VERSION}")
pkg_search_module(CURL REQUIRED libcurl)
MESSAGE("CURL_VERSION: ${CURL_VERSION}")
find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h)
find_library(AVCODEC_LIBRARY avcodec)
pkg_search_module(AVF REQUIRED libavformat)
MESSAGE("AVF_VERSION: ${AVF_VERSION}")
pkg_search_module(AVU REQUIRED libavutil)
MESSAGE("AVU_VERSION: ${AVU_VERSION},")
pkg_search_module(AVC REQUIRED libavcodec)
MESSAGE("AVC_VERSION: ${AVC_VERSION}")
pkg_search_module(AVS REQUIRED libswscale)
MESSAGE("AVS_VERSION: ${AVS_VERSION}")
# if(AV_FOUND)
# list(APPEND AV_INCLUDE_DIRS ${AVF_INCLUDE_DIR} ${AV_INCLUDE_DIR} ${AV_INCLUDE_DIR} ${AV_INCLUDE_DIR})
# list(APPEND VA_LIBRARY_DIRS ${AV_LIBRARY_DIRS} ${AV_LIBRARY_DIRS} ${AV_LIBRARY_DIRS} ${AV_LIBRARY_DIRS})
# list(APPEND VA_LIBRARIES ${AV_LIBRARY_DIRS} ${AV_LIBRARY_DIRS} ${AV_LIBRARY_DIRS} ${AV_LIBRARY_DIRS})
# else()
# message(FATAL_ERROR "${LIBAV_INCLUDE_DIR} ${LIBAV_LIBRARY} libavformat not available")
# endif()
include_directories("${CMAKE_CURRENT_SOURCE_DIR}" "inc" "vendor/include" "${CV_INCLUDE_DIRS}" "${AVF_INCLUDE_DIRS}" "${AVU_INCLUDE_DIRS}" "${AVC_INCLUDE_DIRS}" "${AVS_INCLUDE_DIRS}")
link_directories("vendor/lib" "${CV_LIBRARY_DIRS}" "${AVF_LIBRARY_DIRS}" "${AVC_LIBRARY_DIRS}" "${AVU_LIBRARY_DIRS}" "${AVS_LIBRARY_DIRS}")
add_library(database STATIC database.cpp)
add_library(zmqhelper STATIC inc/zmqhelper.cpp)
add_library(dirmon STATIC dirmon.cpp)
add_library(post STATIC postfile.cpp)
add_library(util STATIC inc/utils.cpp)
add_executable(evcloudsvc evcloudsvc.cpp)
target_link_libraries(evcloudsvc PUBLIC zmq fmt leveldb database zmqhelper util)
add_executable(evdaemon evdaemon.cpp)
target_link_libraries(evdaemon PUBLIC zmq fmt leveldb ${SSH2LIB} database zmqhelper util)
add_executable(evmgr evmgr.cpp)
target_link_libraries(evmgr PUBLIC zmq fmt leveldb avutil avformat database zmqhelper util)
find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h)
find_library(AVFORMAT_LIBRARY avformat)
add_executable(evpuller evpuller.cpp)
target_link_libraries(evpuller PUBLIC zmq fmt avformat avutil leveldb database zmqhelper util)
find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h)
find_library(AVUTIL_LIBRARY avutil)
add_executable(evpusher evpusher.cpp)
target_link_libraries(evpusher PUBLIC zmq fmt avformat avutil leveldb database zmqhelper util)
find_path(AVDEVICE_INCLUDE_DIR libavdevice/avdevice.h)
find_library(AVDEVICE_LIBRARY avdevice)
add_executable(evslicer evslicer.cpp)
target_link_libraries(evslicer PUBLIC zmq curl fmt fswatch avformat avutil database zmqhelper dirmon post util)
add_executable(decode_encode main.cpp)
target_include_directories(decode_encode PRIVATE ${AVCODEC_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${AVDEVICE_INCLUDE_DIR})
target_link_libraries(decode_encode PRIVATE ${AVCODEC_LIBRARY} ${AVFORMAT_LIBRARY} ${AVUTIL_LIBRARY} ${AVDEVICE_LIBRARY})
\ No newline at end of file
add_executable(evmlmotion evmlmotion.cpp)
target_link_libraries(evmlmotion PUBLIC zmq fmt avformat avutil swscale leveldb ${CV_LIBRARIES} database zmqhelper util)
\ No newline at end of file
# ifeq ($(OS),Windows_NT)
# CCFLAGS += -D WIN32
# ifeq ($(PROCESSOR_ARCHITEW6432),AMD64)
# CFLAGS
# else
# ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
# CCFLAGS += -D AMD64
# endif
# ifeq ($(PROCESSOR_ARCHITECTURE),x86)
# CCFLAGS += -D IA32
# endif
# endif
# else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
LIBS += -ldl -lm -latomic
endif
ifeq ($(UNAME_S),Darwin)
NOP=
endif
UNAME_P := $(shell uname -p)
ifeq ($(UNAME_P),x86_64)
NOP=
endif
ifneq ($(filter %86,$(UNAME_P)),)
NOP=
endif
ifneq ($(filter arm%,$(UNAME_P)),)
NOP=
endif
# endif
#DEBUG=-g
CC = gcc
CPP = g++
CPPFLAGS = $(DEBUG) -Wall -std=gnu++1z
CFLAGS = $(DEBUG) -Wall
LIBOPENCV = `pkg-config opencv4 --cflags --libs`
#LIBOPENCV=-Ivendor/include/opencv4 -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_core -lopencv_dnn -lopencv_highgui
LIBFFMPEG = `pkg-config libavformat libavutil libavcodec libswscale --cflags --libs`
LIBS +=-Lvendor/lib -lpthread -lleveldb
#-static
HEADERS=-Iinc -Ivendor/include
#SQLITE_SRC=vendor/sqlite/sqlite3.
#SQLITE=sqlite3.o
SQLITE_SRC=
SQLITE=
all: evmgr evpuller evpusher evslicer evmlmotion evdaemon evcloudsvc
# sqlite C object
sqlite3.o: vendor/sqlite/sqlite3.c
gcc -D SQLITE_THREADSAFE=1 -c vendor/sqlite/sqlite3.c
objs/database.o: database.cpp inc/database.h
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c database.cpp -o objs/database.o $(HEADERS)
objs/zmqhelper.o: inc/zmqhelper.cpp inc/zmqhelper.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c inc/zmqhelper.cpp -o objs/zmqhelper.o $(HEADERS)
objs/dirmon.o: dirmon.cpp dirmon.h
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c dirmon.cpp -o objs/dirmon.o $(HEADERS)
objs/utils.o: inc/utils.cpp inc/utils.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c inc/utils.cpp -o objs/utils.o $(HEADERS)
evmgr: evmgr.cpp database.cpp objs/utils.o inc/common.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evmgr evmgr.cpp objs/utils.o $(SQLITE) objs/database.o objs/zmqhelper.o $(HEADERS) $(LIBFFMPEG) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evpuller: evpuller.cpp database.cpp inc/av_common.hpp objs/utils.o inc/common.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evpuller evpuller.cpp objs/utils.o $(SQLITE) objs/database.o objs/zmqhelper.o $(HEADERS) $(LIBFFMPEG) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evpusher: evpusher.cpp inc/common.hpp inc/av_common.hpp objs/utils.o inc/tinythread.hpp objs/database.o objs/zmqhelper.o $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evpusher evpusher.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evslicer: evslicer.cpp inc/common.hpp inc/av_common.hpp postfile.cpp objs/utils.o objs/dirmon.o inc/tinythread.hpp objs/database.o objs/zmqhelper.o $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evslicer evslicer.cpp postfile.cpp objs/database.o objs/dirmon.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS) -lcurl -lfswatch
evmlmotion: evmlmotion.cpp inc/common.hpp inc/av_common.hpp objs/utils.o inc/avcvhelpers.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evmlmotion evmlmotion.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) $(LIBOPENCV) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evmlmotion_d: evmlmotion.cpp inc/common.hpp inc/av_common.hpp objs/utils.o inc/avcvhelpers.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) -DDEBUG $(LD_FLAGS) -o evmlmotion_d evmlmotion.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) $(LIBOPENCV) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evdaemon: evdaemon.cpp inc/common.hpp objs/utils.o objs/database.o objs/zmqhelper.o inc/tinythread.hpp database.cpp reverse_tun.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evdaemon evdaemon.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS) -lssh2 -lgcrypt
evcloudsvc: evcloudsvc.cpp objs/utils.o objs/database.o objs/zmqhelper.o inc/tinythread.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evcloudsvc evcloudsvc.cpp objs/utils.o objs/database.o objs/zmqhelper.o $(SQLITE) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS) -lfmt
rtspr: rtsp-relay.cpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o rtspr rtsp-relay.cpp $(LIBFFMPEG) $(LD_FLAGS)
cvsample: cvsample.cpp
$(CPP) $(CPPFLAGS) -o cvsample cvsample.cpp $(LIBOPENCV)
mux: demuxing_decoding.c
$(CC) $(CFLAGS) -o mux demuxing_decoding.c $(LIBFFMPEG)
.PHONY: clean
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/local/Cellar/cmake/3.15.4/bin/cmake
# The command to remove a file.
RM = /usr/local/Cellar/cmake/3.15.4/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /Users/blu/work/opencv-projects/opencv-motion-detect
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /Users/blu/work/opencv-projects/opencv-motion-detect
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/local/Cellar/cmake/3.15.4/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
/usr/local/Cellar/cmake/3.15.4/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /Users/blu/work/opencv-projects/opencv-motion-detect/CMakeFiles /Users/blu/work/opencv-projects/opencv-motion-detect/CMakeFiles/progress.marks
$(MAKE) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /Users/blu/work/opencv-projects/opencv-motion-detect/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
rm -fr evmgr evpuller evpusher evslicer evmlmotion evdaemon evcloudsvc *.dSYM *.out *.o objs/*.o
$(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named evmlmotion
# Build rule for target.
evmlmotion: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 evmlmotion
.PHONY : evmlmotion
# fast build rule for target.
evmlmotion/fast:
$(MAKE) -f CMakeFiles/evmlmotion.dir/build.make CMakeFiles/evmlmotion.dir/build
.PHONY : evmlmotion/fast
#=============================================================================
# Target rules for targets named evslicer
# Build rule for target.
evslicer: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 evslicer
.PHONY : evslicer
# fast build rule for target.
evslicer/fast:
$(MAKE) -f CMakeFiles/evslicer.dir/build.make CMakeFiles/evslicer.dir/build
.PHONY : evslicer/fast
#=============================================================================
# Target rules for targets named evpuller
# Build rule for target.
evpuller: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 evpuller
.PHONY : evpuller
# fast build rule for target.
evpuller/fast:
$(MAKE) -f CMakeFiles/evpuller.dir/build.make CMakeFiles/evpuller.dir/build
.PHONY : evpuller/fast
#=============================================================================
# Target rules for targets named evmgr
# Build rule for target.
evmgr: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 evmgr
.PHONY : evmgr
# fast build rule for target.
evmgr/fast:
$(MAKE) -f CMakeFiles/evmgr.dir/build.make CMakeFiles/evmgr.dir/build
.PHONY : evmgr/fast
#=============================================================================
# Target rules for targets named evdaemon
# Build rule for target.
evdaemon: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 evdaemon
.PHONY : evdaemon
# fast build rule for target.
evdaemon/fast:
$(MAKE) -f CMakeFiles/evdaemon.dir/build.make CMakeFiles/evdaemon.dir/build
.PHONY : evdaemon/fast
#=============================================================================
# Target rules for targets named evcloudsvc
# Build rule for target.
evcloudsvc: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 evcloudsvc
.PHONY : evcloudsvc
# fast build rule for target.
evcloudsvc/fast:
$(MAKE) -f CMakeFiles/evcloudsvc.dir/build.make CMakeFiles/evcloudsvc.dir/build
.PHONY : evcloudsvc/fast
#=============================================================================
# Target rules for targets named zmqhelper
# Build rule for target.
zmqhelper: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 zmqhelper
.PHONY : zmqhelper
# fast build rule for target.
zmqhelper/fast:
$(MAKE) -f CMakeFiles/zmqhelper.dir/build.make CMakeFiles/zmqhelper.dir/build
.PHONY : zmqhelper/fast
#=============================================================================
# Target rules for targets named util
# Build rule for target.
util: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 util
.PHONY : util
# fast build rule for target.
util/fast:
$(MAKE) -f CMakeFiles/util.dir/build.make CMakeFiles/util.dir/build
.PHONY : util/fast
#=============================================================================
# Target rules for targets named database
# Build rule for target.
database: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 database
.PHONY : database
# fast build rule for target.
database/fast:
$(MAKE) -f CMakeFiles/database.dir/build.make CMakeFiles/database.dir/build
.PHONY : database/fast
#=============================================================================
# Target rules for targets named post
# Build rule for target.
post: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 post
.PHONY : post
# fast build rule for target.
post/fast:
$(MAKE) -f CMakeFiles/post.dir/build.make CMakeFiles/post.dir/build
.PHONY : post/fast
#=============================================================================
# Target rules for targets named evpusher
# Build rule for target.
evpusher: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 evpusher
.PHONY : evpusher
# fast build rule for target.
evpusher/fast:
$(MAKE) -f CMakeFiles/evpusher.dir/build.make CMakeFiles/evpusher.dir/build
.PHONY : evpusher/fast
#=============================================================================
# Target rules for targets named dirmon
# Build rule for target.
dirmon: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 dirmon
.PHONY : dirmon
# fast build rule for target.
dirmon/fast:
$(MAKE) -f CMakeFiles/dirmon.dir/build.make CMakeFiles/dirmon.dir/build
.PHONY : dirmon/fast
database.o: database.cpp.o
.PHONY : database.o
# target to build an object file
database.cpp.o:
$(MAKE) -f CMakeFiles/database.dir/build.make CMakeFiles/database.dir/database.cpp.o
.PHONY : database.cpp.o
database.i: database.cpp.i
.PHONY : database.i
# target to preprocess a source file
database.cpp.i:
$(MAKE) -f CMakeFiles/database.dir/build.make CMakeFiles/database.dir/database.cpp.i
.PHONY : database.cpp.i
database.s: database.cpp.s
.PHONY : database.s
# target to generate assembly for a file
database.cpp.s:
$(MAKE) -f CMakeFiles/database.dir/build.make CMakeFiles/database.dir/database.cpp.s
.PHONY : database.cpp.s
dirmon.o: dirmon.cpp.o
.PHONY : dirmon.o
# target to build an object file
dirmon.cpp.o:
$(MAKE) -f CMakeFiles/dirmon.dir/build.make CMakeFiles/dirmon.dir/dirmon.cpp.o
.PHONY : dirmon.cpp.o
dirmon.i: dirmon.cpp.i
.PHONY : dirmon.i
# target to preprocess a source file
dirmon.cpp.i:
$(MAKE) -f CMakeFiles/dirmon.dir/build.make CMakeFiles/dirmon.dir/dirmon.cpp.i
.PHONY : dirmon.cpp.i
dirmon.s: dirmon.cpp.s
.PHONY : dirmon.s
# target to generate assembly for a file
dirmon.cpp.s:
$(MAKE) -f CMakeFiles/dirmon.dir/build.make CMakeFiles/dirmon.dir/dirmon.cpp.s
.PHONY : dirmon.cpp.s
evcloudsvc.o: evcloudsvc.cpp.o
.PHONY : evcloudsvc.o
# target to build an object file
evcloudsvc.cpp.o:
$(MAKE) -f CMakeFiles/evcloudsvc.dir/build.make CMakeFiles/evcloudsvc.dir/evcloudsvc.cpp.o
.PHONY : evcloudsvc.cpp.o
evcloudsvc.i: evcloudsvc.cpp.i
.PHONY : evcloudsvc.i
# target to preprocess a source file
evcloudsvc.cpp.i:
$(MAKE) -f CMakeFiles/evcloudsvc.dir/build.make CMakeFiles/evcloudsvc.dir/evcloudsvc.cpp.i
.PHONY : evcloudsvc.cpp.i
evcloudsvc.s: evcloudsvc.cpp.s
.PHONY : evcloudsvc.s
# target to generate assembly for a file
evcloudsvc.cpp.s:
$(MAKE) -f CMakeFiles/evcloudsvc.dir/build.make CMakeFiles/evcloudsvc.dir/evcloudsvc.cpp.s
.PHONY : evcloudsvc.cpp.s
evdaemon.o: evdaemon.cpp.o
.PHONY : evdaemon.o
# target to build an object file
evdaemon.cpp.o:
$(MAKE) -f CMakeFiles/evdaemon.dir/build.make CMakeFiles/evdaemon.dir/evdaemon.cpp.o
.PHONY : evdaemon.cpp.o
evdaemon.i: evdaemon.cpp.i
.PHONY : evdaemon.i
# target to preprocess a source file
evdaemon.cpp.i:
$(MAKE) -f CMakeFiles/evdaemon.dir/build.make CMakeFiles/evdaemon.dir/evdaemon.cpp.i
.PHONY : evdaemon.cpp.i
evdaemon.s: evdaemon.cpp.s
.PHONY : evdaemon.s
# target to generate assembly for a file
evdaemon.cpp.s:
$(MAKE) -f CMakeFiles/evdaemon.dir/build.make CMakeFiles/evdaemon.dir/evdaemon.cpp.s
.PHONY : evdaemon.cpp.s
evmgr.o: evmgr.cpp.o
.PHONY : evmgr.o
# target to build an object file
evmgr.cpp.o:
$(MAKE) -f CMakeFiles/evmgr.dir/build.make CMakeFiles/evmgr.dir/evmgr.cpp.o
.PHONY : evmgr.cpp.o
evmgr.i: evmgr.cpp.i
.PHONY : evmgr.i
# target to preprocess a source file
evmgr.cpp.i:
$(MAKE) -f CMakeFiles/evmgr.dir/build.make CMakeFiles/evmgr.dir/evmgr.cpp.i
.PHONY : evmgr.cpp.i
evmgr.s: evmgr.cpp.s
.PHONY : evmgr.s
# target to generate assembly for a file
evmgr.cpp.s:
$(MAKE) -f CMakeFiles/evmgr.dir/build.make CMakeFiles/evmgr.dir/evmgr.cpp.s
.PHONY : evmgr.cpp.s
evmlmotion.o: evmlmotion.cpp.o
.PHONY : evmlmotion.o
# target to build an object file
evmlmotion.cpp.o:
$(MAKE) -f CMakeFiles/evmlmotion.dir/build.make CMakeFiles/evmlmotion.dir/evmlmotion.cpp.o
.PHONY : evmlmotion.cpp.o
evmlmotion.i: evmlmotion.cpp.i
.PHONY : evmlmotion.i
# target to preprocess a source file
evmlmotion.cpp.i:
$(MAKE) -f CMakeFiles/evmlmotion.dir/build.make CMakeFiles/evmlmotion.dir/evmlmotion.cpp.i
.PHONY : evmlmotion.cpp.i
evmlmotion.s: evmlmotion.cpp.s
.PHONY : evmlmotion.s
# target to generate assembly for a file
evmlmotion.cpp.s:
$(MAKE) -f CMakeFiles/evmlmotion.dir/build.make CMakeFiles/evmlmotion.dir/evmlmotion.cpp.s
.PHONY : evmlmotion.cpp.s
evpuller.o: evpuller.cpp.o
.PHONY : evpuller.o
# target to build an object file
evpuller.cpp.o:
$(MAKE) -f CMakeFiles/evpuller.dir/build.make CMakeFiles/evpuller.dir/evpuller.cpp.o
.PHONY : evpuller.cpp.o
evpuller.i: evpuller.cpp.i
.PHONY : evpuller.i
# target to preprocess a source file
evpuller.cpp.i:
$(MAKE) -f CMakeFiles/evpuller.dir/build.make CMakeFiles/evpuller.dir/evpuller.cpp.i
.PHONY : evpuller.cpp.i
evpuller.s: evpuller.cpp.s
.PHONY : evpuller.s
# target to generate assembly for a file
evpuller.cpp.s:
$(MAKE) -f CMakeFiles/evpuller.dir/build.make CMakeFiles/evpuller.dir/evpuller.cpp.s
.PHONY : evpuller.cpp.s
evpusher.o: evpusher.cpp.o
.PHONY : evpusher.o
# target to build an object file
evpusher.cpp.o:
$(MAKE) -f CMakeFiles/evpusher.dir/build.make CMakeFiles/evpusher.dir/evpusher.cpp.o
.PHONY : evpusher.cpp.o
evpusher.i: evpusher.cpp.i
.PHONY : evpusher.i
# target to preprocess a source file
evpusher.cpp.i:
$(MAKE) -f CMakeFiles/evpusher.dir/build.make CMakeFiles/evpusher.dir/evpusher.cpp.i
.PHONY : evpusher.cpp.i
evpusher.s: evpusher.cpp.s
.PHONY : evpusher.s
# target to generate assembly for a file
evpusher.cpp.s:
$(MAKE) -f CMakeFiles/evpusher.dir/build.make CMakeFiles/evpusher.dir/evpusher.cpp.s
.PHONY : evpusher.cpp.s
evslicer.o: evslicer.cpp.o
.PHONY : evslicer.o
# target to build an object file
evslicer.cpp.o:
$(MAKE) -f CMakeFiles/evslicer.dir/build.make CMakeFiles/evslicer.dir/evslicer.cpp.o
.PHONY : evslicer.cpp.o
evslicer.i: evslicer.cpp.i
.PHONY : evslicer.i
# target to preprocess a source file
evslicer.cpp.i:
$(MAKE) -f CMakeFiles/evslicer.dir/build.make CMakeFiles/evslicer.dir/evslicer.cpp.i
.PHONY : evslicer.cpp.i
evslicer.s: evslicer.cpp.s
.PHONY : evslicer.s
# target to generate assembly for a file
evslicer.cpp.s:
$(MAKE) -f CMakeFiles/evslicer.dir/build.make CMakeFiles/evslicer.dir/evslicer.cpp.s
.PHONY : evslicer.cpp.s
inc/utils.o: inc/utils.cpp.o
.PHONY : inc/utils.o
# target to build an object file
inc/utils.cpp.o:
$(MAKE) -f CMakeFiles/util.dir/build.make CMakeFiles/util.dir/inc/utils.cpp.o
.PHONY : inc/utils.cpp.o
inc/utils.i: inc/utils.cpp.i
.PHONY : inc/utils.i
# target to preprocess a source file
inc/utils.cpp.i:
$(MAKE) -f CMakeFiles/util.dir/build.make CMakeFiles/util.dir/inc/utils.cpp.i
.PHONY : inc/utils.cpp.i
inc/utils.s: inc/utils.cpp.s
.PHONY : inc/utils.s
# target to generate assembly for a file
inc/utils.cpp.s:
$(MAKE) -f CMakeFiles/util.dir/build.make CMakeFiles/util.dir/inc/utils.cpp.s
.PHONY : inc/utils.cpp.s
inc/zmqhelper.o: inc/zmqhelper.cpp.o
.PHONY : inc/zmqhelper.o
# target to build an object file
inc/zmqhelper.cpp.o:
$(MAKE) -f CMakeFiles/zmqhelper.dir/build.make CMakeFiles/zmqhelper.dir/inc/zmqhelper.cpp.o
.PHONY : inc/zmqhelper.cpp.o
inc/zmqhelper.i: inc/zmqhelper.cpp.i
.PHONY : inc/zmqhelper.i
# target to preprocess a source file
inc/zmqhelper.cpp.i:
$(MAKE) -f CMakeFiles/zmqhelper.dir/build.make CMakeFiles/zmqhelper.dir/inc/zmqhelper.cpp.i
.PHONY : inc/zmqhelper.cpp.i
inc/zmqhelper.s: inc/zmqhelper.cpp.s
.PHONY : inc/zmqhelper.s
# target to generate assembly for a file
inc/zmqhelper.cpp.s:
$(MAKE) -f CMakeFiles/zmqhelper.dir/build.make CMakeFiles/zmqhelper.dir/inc/zmqhelper.cpp.s
.PHONY : inc/zmqhelper.cpp.s
postfile.o: postfile.cpp.o
.PHONY : postfile.o
# target to build an object file
postfile.cpp.o:
$(MAKE) -f CMakeFiles/post.dir/build.make CMakeFiles/post.dir/postfile.cpp.o
.PHONY : postfile.cpp.o
postfile.i: postfile.cpp.i
.PHONY : postfile.i
# target to preprocess a source file
postfile.cpp.i:
$(MAKE) -f CMakeFiles/post.dir/build.make CMakeFiles/post.dir/postfile.cpp.i
.PHONY : postfile.cpp.i
postfile.s: postfile.cpp.s
.PHONY : postfile.s
# target to generate assembly for a file
postfile.cpp.s:
$(MAKE) -f CMakeFiles/post.dir/build.make CMakeFiles/post.dir/postfile.cpp.s
.PHONY : postfile.cpp.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... evmlmotion"
@echo "... evslicer"
@echo "... evpuller"
@echo "... evmgr"
@echo "... evdaemon"
@echo "... evcloudsvc"
@echo "... rebuild_cache"
@echo "... zmqhelper"
@echo "... util"
@echo "... edit_cache"
@echo "... database"
@echo "... post"
@echo "... evpusher"
@echo "... dirmon"
@echo "... database.o"
@echo "... database.i"
@echo "... database.s"
@echo "... dirmon.o"
@echo "... dirmon.i"
@echo "... dirmon.s"
@echo "... evcloudsvc.o"
@echo "... evcloudsvc.i"
@echo "... evcloudsvc.s"
@echo "... evdaemon.o"
@echo "... evdaemon.i"
@echo "... evdaemon.s"
@echo "... evmgr.o"
@echo "... evmgr.i"
@echo "... evmgr.s"
@echo "... evmlmotion.o"
@echo "... evmlmotion.i"
@echo "... evmlmotion.s"
@echo "... evpuller.o"
@echo "... evpuller.i"
@echo "... evpuller.s"
@echo "... evpusher.o"
@echo "... evpusher.i"
@echo "... evpusher.s"
@echo "... evslicer.o"
@echo "... evslicer.i"
@echo "... evslicer.s"
@echo "... inc/utils.o"
@echo "... inc/utils.i"
@echo "... inc/utils.s"
@echo "... inc/zmqhelper.o"
@echo "... inc/zmqhelper.i"
@echo "... inc/zmqhelper.s"
@echo "... postfile.o"
@echo "... postfile.i"
@echo "... postfile.s"
.PHONY : help
#.PHONY: zmq
zmq:
cd vendor/libzmq && ./autogen.sh && ./configure --prefix=$(CURDIR)/vendor --enable-drafts
cd vendor/libzmq && make clean && make -j 4 && make install
#.PHONY: leveldb
leveldb:
cd vendor/leveldb && mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$(CURDIR)/vendor .. && make -j && make install
#.PHONY: fmt
fmt:
cd vendor/fmt && mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$(CURDIR)/vendor -DFMT_TEST=OFF .. && make -j && make install
#=============================================================================
# Special targets to cleanup operation of make.
fswatch:
cd vendor/fswatch && ./autogen.sh && ./configure --prefix=$(CURDIR)/vendor && make -j && make install
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
libcurl:
cd vendor/curl && ./buildconf && ./configure --prefix=$(CURDIR)/vendor && make -j && make install
# ifeq ($(OS),Windows_NT)
# CCFLAGS += -D WIN32
# ifeq ($(PROCESSOR_ARCHITEW6432),AMD64)
# CFLAGS
# else
# ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
# CCFLAGS += -D AMD64
# endif
# ifeq ($(PROCESSOR_ARCHITECTURE),x86)
# CCFLAGS += -D IA32
# endif
# endif
# else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
LIBS += -ldl -lm -latomic
endif
ifeq ($(UNAME_S),Darwin)
NOP=
endif
UNAME_P := $(shell uname -p)
ifeq ($(UNAME_P),x86_64)
NOP=
endif
ifneq ($(filter %86,$(UNAME_P)),)
NOP=
endif
ifneq ($(filter arm%,$(UNAME_P)),)
NOP=
endif
# endif
#DEBUG=-g
CC = gcc
CPP = g++
CPPFLAGS = $(DEBUG) -Wall -std=gnu++1z
CFLAGS = $(DEBUG) -Wall
LIBOPENCV = `pkg-config opencv4 --cflags --libs`
#LIBOPENCV=-Ivendor/include/opencv4 -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_core -lopencv_dnn -lopencv_highgui
LIBFFMPEG = `pkg-config libavformat libavutil libavcodec libswscale --cflags --libs`
LIBS +=-Lvendor/lib -lpthread -lleveldb
#-static
HEADERS=-Iinc -Ivendor/include
#SQLITE_SRC=vendor/sqlite/sqlite3.
#SQLITE=sqlite3.o
SQLITE_SRC=
SQLITE=
all: evmgr evpuller evpusher evslicer evmlmotion evdaemon evcloudsvc
# sqlite C object
sqlite3.o: vendor/sqlite/sqlite3.c
gcc -D SQLITE_THREADSAFE=1 -c vendor/sqlite/sqlite3.c
objs/database.o: database.cpp inc/database.h
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c database.cpp -o objs/database.o $(HEADERS)
objs/zmqhelper.o: inc/zmqhelper.cpp inc/zmqhelper.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c inc/zmqhelper.cpp -o objs/zmqhelper.o $(HEADERS)
objs/dirmon.o: dirmon.cpp dirmon.h
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c dirmon.cpp -o objs/dirmon.o $(HEADERS)
objs/utils.o: inc/utils.cpp inc/utils.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -c inc/utils.cpp -o objs/utils.o $(HEADERS)
evmgr: evmgr.cpp database.cpp objs/utils.o inc/common.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evmgr evmgr.cpp objs/utils.o $(SQLITE) objs/database.o objs/zmqhelper.o $(HEADERS) $(LIBFFMPEG) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evpuller: evpuller.cpp database.cpp inc/av_common.hpp objs/utils.o inc/common.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evpuller evpuller.cpp objs/utils.o $(SQLITE) objs/database.o objs/zmqhelper.o $(HEADERS) $(LIBFFMPEG) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evpusher: evpusher.cpp inc/common.hpp inc/av_common.hpp objs/utils.o inc/tinythread.hpp objs/database.o objs/zmqhelper.o $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evpusher evpusher.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evslicer: evslicer.cpp inc/common.hpp inc/av_common.hpp postfile.cpp objs/utils.o objs/dirmon.o inc/tinythread.hpp objs/database.o objs/zmqhelper.o $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evslicer evslicer.cpp postfile.cpp objs/database.o objs/dirmon.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS) -lcurl -lfswatch
evmlmotion: evmlmotion.cpp inc/common.hpp inc/av_common.hpp objs/utils.o inc/avcvhelpers.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evmlmotion evmlmotion.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) $(LIBOPENCV) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evmlmotion_d: evmlmotion.cpp inc/common.hpp inc/av_common.hpp objs/utils.o inc/avcvhelpers.hpp objs/database.o objs/zmqhelper.o inc/tinythread.hpp $(SQLITE_SRC)
$(CPP) $(CPPFLAGS) -DDEBUG $(LD_FLAGS) -o evmlmotion_d evmlmotion.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(LIBFFMPEG) $(HEADERS) $(LIBOPENCV) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS)
evdaemon: evdaemon.cpp inc/common.hpp objs/utils.o objs/database.o objs/zmqhelper.o inc/tinythread.hpp database.cpp reverse_tun.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evdaemon evdaemon.cpp objs/database.o objs/utils.o objs/zmqhelper.o $(SQLITE) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS) -lssh2 -lgcrypt
evcloudsvc: evcloudsvc.cpp objs/utils.o objs/database.o objs/zmqhelper.o inc/tinythread.hpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o evcloudsvc evcloudsvc.cpp objs/utils.o objs/database.o objs/zmqhelper.o $(SQLITE) $(HEADERS) `pkg-config --cflags --libs vendor/lib/pkgconfig/libzmq.pc` $(LIBS) -lfmt
rtspr: rtsp-relay.cpp
$(CPP) $(CPPFLAGS) $(LD_FLAGS) -o rtspr rtsp-relay.cpp $(LIBFFMPEG) $(LD_FLAGS)
cvsample: cvsample.cpp
$(CPP) $(CPPFLAGS) -o cvsample cvsample.cpp $(LIBOPENCV)
mux: demuxing_decoding.c
$(CC) $(CFLAGS) -o mux demuxing_decoding.c $(LIBFFMPEG)
.PHONY: clean
clean:
rm -fr evmgr evpuller evpusher evslicer evmlmotion evdaemon evcloudsvc *.dSYM *.out *.o objs/*.o
#.PHONY: zmq
zmq:
cd vendor/libzmq && ./autogen.sh && ./configure --prefix=$(CURDIR)/vendor --enable-drafts
cd vendor/libzmq && make clean && make -j 4 && make install
#.PHONY: leveldb
leveldb:
cd vendor/leveldb && mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$(CURDIR)/vendor .. && make -j && make install
#.PHONY: fmt
fmt:
cd vendor/fmt && mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$(CURDIR)/vendor -DFMT_TEST=OFF .. && make -j && make install
fswatch:
cd vendor/fswatch && ./autogen.sh && ./configure --prefix=$(CURDIR)/vendor && make -j && make install
libcurl:
cd vendor/curl && ./buildconf && ./configure --prefix=$(CURDIR)/vendor && make -j && make install
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论