diff --git a/CMakeLists.txt b/CMakeLists.txt index 63ff638..5f6a679 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,6 @@ set(file_src src/filewatcher.c src/fio.c src/io.c src/libfile.c) set(ipc_src src/libipc.c src/msgq_posix.c src/msgq_sysv.c src/netlink.c src/shm.c src/unix_socket.c) set(gevent_src src/epoll.c src/libgevent.c src/poll.c src/select.c) set(dict_src src/libdict.c) -set(macro_src src/libmacro.c) set(queue_src src/libqueue.c) set(vector_src src/libvector.c) @@ -19,7 +18,6 @@ target_link_libraries(ipc rt gevent dict) add_library(log SHARED ${log_src}) add_library(file SHARED ${file_src}) -add_library(macro SHARED ${macro_src}) add_library(queue SHARED ${queue_src}) add_library(vector SHARED ${vector_src}) diff --git a/Makefile b/Makefile index be25e2b..10a1869 100644 --- a/Makefile +++ b/Makefile @@ -1,119 +1,772 @@ -############################################################################### -# common -############################################################################### -#ARCH: linux/arm/android/ios/win -ARCH ?= linux -CROSS_PREFIX ?= -OUTPUT ?= /usr/local -BUILD_DIR := $(shell pwd)/../build/ -ARCH_INC := $(BUILD_DIR)/$(ARCH).inc -COLOR_INC := $(BUILD_DIR)/color.inc +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.10 -ifeq ($(ARCH_INC), $(wildcard $(ARCH_INC))) -include $(ARCH_INC) -endif +# Default target executed when no arguments are given to make. +default_target: all -CC = $(CROSS_PREFIX)gcc -CXX = $(CROSS_PREFIX)g++ -LD = $(CROSS_PREFIX)ld -AR = $(CROSS_PREFIX)ar -STRIP = $(CROSS_PREFIX)strip +.PHONY : default_target -ifeq ($(COLOR_INC), $(wildcard $(COLOR_INC))) -include $(COLOR_INC) -else -CC_V = $(CC) -CXX_V = $(CXX) -LD_V = $(LD) -AR_V = $(AR) -CP_V = $(CP) -RM_V = $(RM) -endif - -############################################################################### -# target and object -############################################################################### -LIBNAME = libgear -VERSION_SH = $(shell pwd)/src/version.sh $(LIBNAME) -VER = $(shell $(VERSION_SH); awk '/define\ $(LIBNAME)_version/{print $$3}' version.h) -TGT_LIB_H = $(LIBNAME).h -TGT_LIB_A = $(LIBNAME).a -TGT_LIB_SO = $(LIBNAME).so -TGT_LIB_SO_VER = $(TGT_LIB_SO).${VER} - -OBJS_LIB := $(patsubst %.c,%.o,$(wildcard src/*.c)) +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: -############################################################################### -# cflags and ldflags -############################################################################### +#============================================================================= +# Special targets provided by cmake. -ifeq ($(MODE), release) -CFLAGS := -O2 -Wall -Werror -fPIC -LTYPE := release -else -CFLAGS := -g -Wall -Werror -fPIC -LTYPE := debug -endif -ifeq ($(OUTPUT),/usr/local) -OUTLIBPATH := /usr/local -else -OUTLIBPATH := $(OUTPUT)/$(LTYPE) -endif -CFLAGS += $($(ARCH)_CFLAGS) -CFLAGS += -I./include -CFLAGS += -I$(OUTPUT)/include - -CFLAGS += -DNO_CRYPTO - -SHARED := -shared - -LDFLAGS := $($(ARCH)_LDFLAGS) -LDFLAGS += -pthread - -############################################################################### -# target -############################################################################### -.PHONY : all clean - -TGT := $(TGT_LIB_A) -TGT += $(TGT_LIB_SO) - -OBJS := $(OBJS_LIB) - -all: $(TGT) - -%.o:%.c - $(CC_V) -c $(CFLAGS) $< -o $@ - -$(TGT_LIB_A): $(OBJS_LIB) - $(AR_V) rcs $@ $^ - -$(TGT_LIB_SO): $(OBJS_LIB) - $(CC_V) -o $@ $^ $(SHARED) - @mv $(TGT_LIB_SO) $(TGT_LIB_SO_VER) - @ln -sf $(TGT_LIB_SO_VER) $(TGT_LIB_SO) +# 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/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/hacker/github/snowball.repo/gear-lib + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/hacker/github/snowball.repo/gear-lib + +#============================================================================= +# 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/bin/cmake -H$(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 "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.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 /home/hacker/github/snowball.repo/gear-lib/CMakeFiles /home/hacker/github/snowball.repo/gear-lib/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/hacker/github/snowball.repo/gear-lib/CMakeFiles 0 +.PHONY : all + +# The main clean target clean: - $(RM_V) -f $(OBJS) - $(RM_V) -f $(TGT) - $(RM_V) -f version.h - $(RM_V) -f $(TGT_LIB_SO)* - $(RM_V) -f $(TGT_LIB_SO_VER) + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean -install: - $(MAKEDIR_OUTPUT) - @if [ "$(MODE)" = "release" ];then $(STRIP) $(TGT); fi - @mkdir -p ${OUTPUT}/include/gear-lib - @mkdir -p ${OUTPUT}/lib/gear-lib - $(CP_V) -r include/$(TGT_LIB_H) $(OUTPUT)/include/gear-lib - $(CP_V) -r $(TGT_LIB_A) $(OUTLIBPATH)/lib/gear-lib - $(CP_V) -r $(TGT_LIB_SO) $(OUTLIBPATH)/lib/gear-lib - $(CP_V) -r $(TGT_LIB_SO_VER) $(OUTLIBPATH)/lib/gear-lib +# 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) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named dict + +# Build rule for target. +dict: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 dict +.PHONY : dict + +# fast build rule for target. +dict/fast: + $(MAKE) -f CMakeFiles/dict.dir/build.make CMakeFiles/dict.dir/build +.PHONY : dict/fast + +#============================================================================= +# Target rules for targets named ipc + +# Build rule for target. +ipc: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ipc +.PHONY : ipc + +# fast build rule for target. +ipc/fast: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/build +.PHONY : ipc/fast + +#============================================================================= +# Target rules for targets named file + +# Build rule for target. +file: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 file +.PHONY : file + +# fast build rule for target. +file/fast: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/build +.PHONY : file/fast + +#============================================================================= +# Target rules for targets named gevent + +# Build rule for target. +gevent: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 gevent +.PHONY : gevent + +# fast build rule for target. +gevent/fast: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/build +.PHONY : gevent/fast + +#============================================================================= +# Target rules for targets named log + +# Build rule for target. +log: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 log +.PHONY : log + +# fast build rule for target. +log/fast: + $(MAKE) -f CMakeFiles/log.dir/build.make CMakeFiles/log.dir/build +.PHONY : log/fast + +#============================================================================= +# Target rules for targets named vector + +# Build rule for target. +vector: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 vector +.PHONY : vector + +# fast build rule for target. +vector/fast: + $(MAKE) -f CMakeFiles/vector.dir/build.make CMakeFiles/vector.dir/build +.PHONY : vector/fast + +#============================================================================= +# Target rules for targets named queue + +# Build rule for target. +queue: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 queue +.PHONY : queue + +# fast build rule for target. +queue/fast: + $(MAKE) -f CMakeFiles/queue.dir/build.make CMakeFiles/queue.dir/build +.PHONY : queue/fast + +src/epoll.o: src/epoll.c.o + +.PHONY : src/epoll.o + +# target to build an object file +src/epoll.c.o: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/epoll.c.o +.PHONY : src/epoll.c.o + +src/epoll.i: src/epoll.c.i + +.PHONY : src/epoll.i + +# target to preprocess a source file +src/epoll.c.i: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/epoll.c.i +.PHONY : src/epoll.c.i + +src/epoll.s: src/epoll.c.s + +.PHONY : src/epoll.s + +# target to generate assembly for a file +src/epoll.c.s: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/epoll.c.s +.PHONY : src/epoll.c.s + +src/filewatcher.o: src/filewatcher.c.o + +.PHONY : src/filewatcher.o + +# target to build an object file +src/filewatcher.c.o: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/filewatcher.c.o +.PHONY : src/filewatcher.c.o + +src/filewatcher.i: src/filewatcher.c.i + +.PHONY : src/filewatcher.i + +# target to preprocess a source file +src/filewatcher.c.i: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/filewatcher.c.i +.PHONY : src/filewatcher.c.i + +src/filewatcher.s: src/filewatcher.c.s + +.PHONY : src/filewatcher.s + +# target to generate assembly for a file +src/filewatcher.c.s: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/filewatcher.c.s +.PHONY : src/filewatcher.c.s + +src/fio.o: src/fio.c.o + +.PHONY : src/fio.o + +# target to build an object file +src/fio.c.o: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/fio.c.o +.PHONY : src/fio.c.o + +src/fio.i: src/fio.c.i + +.PHONY : src/fio.i + +# target to preprocess a source file +src/fio.c.i: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/fio.c.i +.PHONY : src/fio.c.i + +src/fio.s: src/fio.c.s + +.PHONY : src/fio.s + +# target to generate assembly for a file +src/fio.c.s: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/fio.c.s +.PHONY : src/fio.c.s + +src/io.o: src/io.c.o + +.PHONY : src/io.o + +# target to build an object file +src/io.c.o: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/io.c.o +.PHONY : src/io.c.o + +src/io.i: src/io.c.i + +.PHONY : src/io.i + +# target to preprocess a source file +src/io.c.i: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/io.c.i +.PHONY : src/io.c.i + +src/io.s: src/io.c.s + +.PHONY : src/io.s + +# target to generate assembly for a file +src/io.c.s: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/io.c.s +.PHONY : src/io.c.s + +src/libdict.o: src/libdict.c.o + +.PHONY : src/libdict.o + +# target to build an object file +src/libdict.c.o: + $(MAKE) -f CMakeFiles/dict.dir/build.make CMakeFiles/dict.dir/src/libdict.c.o +.PHONY : src/libdict.c.o + +src/libdict.i: src/libdict.c.i + +.PHONY : src/libdict.i + +# target to preprocess a source file +src/libdict.c.i: + $(MAKE) -f CMakeFiles/dict.dir/build.make CMakeFiles/dict.dir/src/libdict.c.i +.PHONY : src/libdict.c.i + +src/libdict.s: src/libdict.c.s + +.PHONY : src/libdict.s + +# target to generate assembly for a file +src/libdict.c.s: + $(MAKE) -f CMakeFiles/dict.dir/build.make CMakeFiles/dict.dir/src/libdict.c.s +.PHONY : src/libdict.c.s + +src/libfile.o: src/libfile.c.o + +.PHONY : src/libfile.o + +# target to build an object file +src/libfile.c.o: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/libfile.c.o +.PHONY : src/libfile.c.o + +src/libfile.i: src/libfile.c.i + +.PHONY : src/libfile.i + +# target to preprocess a source file +src/libfile.c.i: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/libfile.c.i +.PHONY : src/libfile.c.i + +src/libfile.s: src/libfile.c.s + +.PHONY : src/libfile.s + +# target to generate assembly for a file +src/libfile.c.s: + $(MAKE) -f CMakeFiles/file.dir/build.make CMakeFiles/file.dir/src/libfile.c.s +.PHONY : src/libfile.c.s + +src/libgevent.o: src/libgevent.c.o + +.PHONY : src/libgevent.o + +# target to build an object file +src/libgevent.c.o: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/libgevent.c.o +.PHONY : src/libgevent.c.o + +src/libgevent.i: src/libgevent.c.i + +.PHONY : src/libgevent.i + +# target to preprocess a source file +src/libgevent.c.i: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/libgevent.c.i +.PHONY : src/libgevent.c.i + +src/libgevent.s: src/libgevent.c.s + +.PHONY : src/libgevent.s + +# target to generate assembly for a file +src/libgevent.c.s: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/libgevent.c.s +.PHONY : src/libgevent.c.s + +src/libipc.o: src/libipc.c.o + +.PHONY : src/libipc.o + +# target to build an object file +src/libipc.c.o: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/libipc.c.o +.PHONY : src/libipc.c.o + +src/libipc.i: src/libipc.c.i + +.PHONY : src/libipc.i + +# target to preprocess a source file +src/libipc.c.i: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/libipc.c.i +.PHONY : src/libipc.c.i + +src/libipc.s: src/libipc.c.s + +.PHONY : src/libipc.s + +# target to generate assembly for a file +src/libipc.c.s: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/libipc.c.s +.PHONY : src/libipc.c.s + +src/liblog.o: src/liblog.c.o + +.PHONY : src/liblog.o + +# target to build an object file +src/liblog.c.o: + $(MAKE) -f CMakeFiles/log.dir/build.make CMakeFiles/log.dir/src/liblog.c.o +.PHONY : src/liblog.c.o + +src/liblog.i: src/liblog.c.i + +.PHONY : src/liblog.i + +# target to preprocess a source file +src/liblog.c.i: + $(MAKE) -f CMakeFiles/log.dir/build.make CMakeFiles/log.dir/src/liblog.c.i +.PHONY : src/liblog.c.i + +src/liblog.s: src/liblog.c.s + +.PHONY : src/liblog.s + +# target to generate assembly for a file +src/liblog.c.s: + $(MAKE) -f CMakeFiles/log.dir/build.make CMakeFiles/log.dir/src/liblog.c.s +.PHONY : src/liblog.c.s + +src/libqueue.o: src/libqueue.c.o + +.PHONY : src/libqueue.o + +# target to build an object file +src/libqueue.c.o: + $(MAKE) -f CMakeFiles/queue.dir/build.make CMakeFiles/queue.dir/src/libqueue.c.o +.PHONY : src/libqueue.c.o + +src/libqueue.i: src/libqueue.c.i + +.PHONY : src/libqueue.i + +# target to preprocess a source file +src/libqueue.c.i: + $(MAKE) -f CMakeFiles/queue.dir/build.make CMakeFiles/queue.dir/src/libqueue.c.i +.PHONY : src/libqueue.c.i + +src/libqueue.s: src/libqueue.c.s + +.PHONY : src/libqueue.s + +# target to generate assembly for a file +src/libqueue.c.s: + $(MAKE) -f CMakeFiles/queue.dir/build.make CMakeFiles/queue.dir/src/libqueue.c.s +.PHONY : src/libqueue.c.s + +src/libvector.o: src/libvector.c.o + +.PHONY : src/libvector.o + +# target to build an object file +src/libvector.c.o: + $(MAKE) -f CMakeFiles/vector.dir/build.make CMakeFiles/vector.dir/src/libvector.c.o +.PHONY : src/libvector.c.o + +src/libvector.i: src/libvector.c.i + +.PHONY : src/libvector.i + +# target to preprocess a source file +src/libvector.c.i: + $(MAKE) -f CMakeFiles/vector.dir/build.make CMakeFiles/vector.dir/src/libvector.c.i +.PHONY : src/libvector.c.i + +src/libvector.s: src/libvector.c.s + +.PHONY : src/libvector.s + +# target to generate assembly for a file +src/libvector.c.s: + $(MAKE) -f CMakeFiles/vector.dir/build.make CMakeFiles/vector.dir/src/libvector.c.s +.PHONY : src/libvector.c.s + +src/msgq_posix.o: src/msgq_posix.c.o + +.PHONY : src/msgq_posix.o + +# target to build an object file +src/msgq_posix.c.o: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/msgq_posix.c.o +.PHONY : src/msgq_posix.c.o + +src/msgq_posix.i: src/msgq_posix.c.i + +.PHONY : src/msgq_posix.i + +# target to preprocess a source file +src/msgq_posix.c.i: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/msgq_posix.c.i +.PHONY : src/msgq_posix.c.i + +src/msgq_posix.s: src/msgq_posix.c.s + +.PHONY : src/msgq_posix.s + +# target to generate assembly for a file +src/msgq_posix.c.s: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/msgq_posix.c.s +.PHONY : src/msgq_posix.c.s + +src/msgq_sysv.o: src/msgq_sysv.c.o + +.PHONY : src/msgq_sysv.o + +# target to build an object file +src/msgq_sysv.c.o: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/msgq_sysv.c.o +.PHONY : src/msgq_sysv.c.o + +src/msgq_sysv.i: src/msgq_sysv.c.i + +.PHONY : src/msgq_sysv.i + +# target to preprocess a source file +src/msgq_sysv.c.i: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/msgq_sysv.c.i +.PHONY : src/msgq_sysv.c.i + +src/msgq_sysv.s: src/msgq_sysv.c.s + +.PHONY : src/msgq_sysv.s + +# target to generate assembly for a file +src/msgq_sysv.c.s: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/msgq_sysv.c.s +.PHONY : src/msgq_sysv.c.s + +src/netlink.o: src/netlink.c.o + +.PHONY : src/netlink.o + +# target to build an object file +src/netlink.c.o: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/netlink.c.o +.PHONY : src/netlink.c.o + +src/netlink.i: src/netlink.c.i + +.PHONY : src/netlink.i + +# target to preprocess a source file +src/netlink.c.i: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/netlink.c.i +.PHONY : src/netlink.c.i + +src/netlink.s: src/netlink.c.s + +.PHONY : src/netlink.s + +# target to generate assembly for a file +src/netlink.c.s: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/netlink.c.s +.PHONY : src/netlink.c.s + +src/poll.o: src/poll.c.o + +.PHONY : src/poll.o + +# target to build an object file +src/poll.c.o: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/poll.c.o +.PHONY : src/poll.c.o + +src/poll.i: src/poll.c.i + +.PHONY : src/poll.i + +# target to preprocess a source file +src/poll.c.i: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/poll.c.i +.PHONY : src/poll.c.i + +src/poll.s: src/poll.c.s + +.PHONY : src/poll.s + +# target to generate assembly for a file +src/poll.c.s: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/poll.c.s +.PHONY : src/poll.c.s + +src/select.o: src/select.c.o + +.PHONY : src/select.o + +# target to build an object file +src/select.c.o: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/select.c.o +.PHONY : src/select.c.o + +src/select.i: src/select.c.i + +.PHONY : src/select.i + +# target to preprocess a source file +src/select.c.i: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/select.c.i +.PHONY : src/select.c.i + +src/select.s: src/select.c.s + +.PHONY : src/select.s + +# target to generate assembly for a file +src/select.c.s: + $(MAKE) -f CMakeFiles/gevent.dir/build.make CMakeFiles/gevent.dir/src/select.c.s +.PHONY : src/select.c.s + +src/shm.o: src/shm.c.o + +.PHONY : src/shm.o + +# target to build an object file +src/shm.c.o: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/shm.c.o +.PHONY : src/shm.c.o + +src/shm.i: src/shm.c.i + +.PHONY : src/shm.i + +# target to preprocess a source file +src/shm.c.i: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/shm.c.i +.PHONY : src/shm.c.i + +src/shm.s: src/shm.c.s + +.PHONY : src/shm.s + +# target to generate assembly for a file +src/shm.c.s: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/shm.c.s +.PHONY : src/shm.c.s + +src/unix_socket.o: src/unix_socket.c.o + +.PHONY : src/unix_socket.o + +# target to build an object file +src/unix_socket.c.o: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/unix_socket.c.o +.PHONY : src/unix_socket.c.o + +src/unix_socket.i: src/unix_socket.c.i + +.PHONY : src/unix_socket.i + +# target to preprocess a source file +src/unix_socket.c.i: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/unix_socket.c.i +.PHONY : src/unix_socket.c.i + +src/unix_socket.s: src/unix_socket.c.s + +.PHONY : src/unix_socket.s + +# target to generate assembly for a file +src/unix_socket.c.s: + $(MAKE) -f CMakeFiles/ipc.dir/build.make CMakeFiles/ipc.dir/src/unix_socket.c.s +.PHONY : src/unix_socket.c.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 "... rebuild_cache" + @echo "... edit_cache" + @echo "... dict" + @echo "... ipc" + @echo "... file" + @echo "... gevent" + @echo "... log" + @echo "... vector" + @echo "... queue" + @echo "... src/epoll.o" + @echo "... src/epoll.i" + @echo "... src/epoll.s" + @echo "... src/filewatcher.o" + @echo "... src/filewatcher.i" + @echo "... src/filewatcher.s" + @echo "... src/fio.o" + @echo "... src/fio.i" + @echo "... src/fio.s" + @echo "... src/io.o" + @echo "... src/io.i" + @echo "... src/io.s" + @echo "... src/libdict.o" + @echo "... src/libdict.i" + @echo "... src/libdict.s" + @echo "... src/libfile.o" + @echo "... src/libfile.i" + @echo "... src/libfile.s" + @echo "... src/libgevent.o" + @echo "... src/libgevent.i" + @echo "... src/libgevent.s" + @echo "... src/libipc.o" + @echo "... src/libipc.i" + @echo "... src/libipc.s" + @echo "... src/liblog.o" + @echo "... src/liblog.i" + @echo "... src/liblog.s" + @echo "... src/libqueue.o" + @echo "... src/libqueue.i" + @echo "... src/libqueue.s" + @echo "... src/libvector.o" + @echo "... src/libvector.i" + @echo "... src/libvector.s" + @echo "... src/msgq_posix.o" + @echo "... src/msgq_posix.i" + @echo "... src/msgq_posix.s" + @echo "... src/msgq_sysv.o" + @echo "... src/msgq_sysv.i" + @echo "... src/msgq_sysv.s" + @echo "... src/netlink.o" + @echo "... src/netlink.i" + @echo "... src/netlink.s" + @echo "... src/poll.o" + @echo "... src/poll.i" + @echo "... src/poll.s" + @echo "... src/select.o" + @echo "... src/select.i" + @echo "... src/select.s" + @echo "... src/shm.o" + @echo "... src/shm.i" + @echo "... src/shm.s" + @echo "... src/unix_socket.o" + @echo "... src/unix_socket.i" + @echo "... src/unix_socket.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# 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) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system -uninstall: - cd $(OUTPUT)/include/gear-lib && rm -f $(TGT_LIB_H) - $(RM_V) -f $(OUTLIBPATH)/lib/gear-lib/$(TGT_LIB_A) - $(RM_V) -f $(OUTLIBPATH)/lib/gear-lib/$(TGT_LIB_SO) - $(RM_V) -f $(OUTLIBPATH)/lib/gear-lib/$(TGT_LIB_SO_VER) diff --git a/README.cn.md b/README.cn.md index e69d143..472185a 100644 --- a/README.cn.md +++ b/README.cn.md @@ -16,8 +16,7 @@ | libdict: 哈希字典 | libhash: linux内核原生哈希库 | | libringbuffer: 循环缓冲 | libqueue: 数据队列 | | librbtree: 内核rbtree | libsort: | -| libvector: 容器库 | libmacro: 通用宏定义 | -| libdarray: 动态数组 | | +| libvector: 容器库 | libdarray: 动态数组 | ## 网络库 | | | diff --git a/README.md b/README.md index dfe8e61..ee14be9 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,7 @@ This is a collection of basic libraries. | libdict: Hash key-value dictonary library | libhash: Hash key-value library based on hlist from kernel | | libringbuffer: | libqueue: queue library, support memory hook | | librbtree: comes from linux kernel rbtree. | libsort: | -| libvector: | libmacro: Basic Macro define library, include kernel list and so on | -| libdarray: Dynamic array | | +| libvector: | libdarray: Dynamic array | ## Network | | | diff --git a/gear-lib/component.mk b/gear-lib/component.mk index c7d75ff..e7110c3 100644 --- a/gear-lib/component.mk +++ b/gear-lib/component.mk @@ -1,6 +1,6 @@ -COMPONENT_ADD_INCLUDEDIRS = . ./libposix ./libmacro ./libthread ./libdarray ./libmedia-io ./libqueue ./liblog -COMPONENT_SRCDIRS = libposix libposix4rtos libmacro libdarray libqueue libthread libmedia-io librtmpc liblog -COMPONENT_OBJEXCLUDE = libposix/test_libposix.o libmacro/test_libmacor.o libdarray/test_libdarray.o libqueue/test_libqueue.o libthread/test_libthread.o libmedia-io/test_libmedia-io.o librtmpc/test_librtmpc.o liblog/test_liblog.o +COMPONENT_ADD_INCLUDEDIRS = . ./libposix ./libthread ./libdarray ./libmedia-io ./libqueue ./liblog +COMPONENT_SRCDIRS = libposix libposix4rtos libdarray libqueue libthread libmedia-io librtmpc liblog +COMPONENT_OBJEXCLUDE = libposix/test_libposix.o libdarray/test_libdarray.o libqueue/test_libqueue.o libthread/test_libthread.o libmedia-io/test_libmedia-io.o librtmpc/test_librtmpc.o liblog/test_liblog.o COMPONENT_DEPENDS := newlib CFLAGS += -DFREERTOS #for libposix CFLAGS += -DESP32 #for libposix4rtos diff --git a/gear-lib/libconfig/libconfig++/lua/lua_config.cpp b/gear-lib/libconfig/libconfig++/lua/lua_config.cpp index fb90d6d..5435556 100644 --- a/gear-lib/libconfig/libconfig++/lua/lua_config.cpp +++ b/gear-lib/libconfig/libconfig++/lua/lua_config.cpp @@ -21,7 +21,6 @@ #include #include #include -#include #include #include "luatables.h" diff --git a/gear-lib/libfile/filewatcher.c b/gear-lib/libfile/filewatcher.c index 7c0eb98..9be4c18 100644 --- a/gear-lib/libfile/filewatcher.c +++ b/gear-lib/libfile/filewatcher.c @@ -19,7 +19,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. ******************************************************************************/ -#include +#include #include "libfilewatcher.h" #include #include @@ -38,7 +38,7 @@ int add_path_list(struct fw *fw, int wd, const char *path) char key[KEY_LEN]; memset(key, 0, sizeof(key)); snprintf(key, KEY_LEN, "%d", wd); - char *val = CALLOC(PATH_MAX, char); + char *val = calloc(PATH_MAX, sizeof(char)); strncpy(val, path, PATH_MAX); dict_add(fw->dict_path, key, val); return 0; @@ -228,7 +228,7 @@ int fw_update_watch(struct fw *fw, struct inotify_event *iev) struct fw *fw_init(void (notify_cb)(struct fw *fw, enum fw_type type, char *path)) { - struct fw *fw = CALLOC(1, struct fw); + struct fw *fw = calloc(1, sizeof(struct fw)); if (!fw) { printf("malloc fw failed\n"); goto err; diff --git a/gear-lib/libhash/Makefile.nmake b/gear-lib/libhash/Makefile.nmake index 8a60878..7de6752 100644 --- a/gear-lib/libhash/Makefile.nmake +++ b/gear-lib/libhash/Makefile.nmake @@ -20,7 +20,7 @@ OBJS_UNIT_TEST = test_$(LIBNAME).obj ############################################################################### # cflags and ldflags ############################################################################### -CFLAGS = /IWIN32-Code /IWIN32-Code/nmake /Iinclude /I. /I../libmacro/ +CFLAGS = /IWIN32-Code /IWIN32-Code/nmake /Iinclude /I. !IF "$(MODE)"=="release" CFLAGS = $(CFLAGS) /O2 /GF !ELSE diff --git a/gear-lib/libipc/Makefile b/gear-lib/libipc/Makefile index 20adb42..2c4965c 100644 --- a/gear-lib/libipc/Makefile +++ b/gear-lib/libipc/Makefile @@ -57,7 +57,6 @@ EXTRA_CFLAGS += -fPIC endif EXTRA_CFLAGS += $($(ARCH)_CFLAGS) EXTRA_CFLAGS += -I$(OUTPUT)/include/gear-lib -EXTRA_CFLAGS += -I../libmacro/ SHARED := -shared diff --git a/gear-lib/libjpeg-ex/libjpeg-ex.c b/gear-lib/libjpeg-ex/libjpeg-ex.c index 20609d8..354d48e 100644 --- a/gear-lib/libjpeg-ex/libjpeg-ex.c +++ b/gear-lib/libjpeg-ex/libjpeg-ex.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include "libjpeg-ex.h" diff --git a/gear-lib/libp2p/libp2p.c b/gear-lib/libp2p/libp2p.c index a7d0b07..11ba146 100644 --- a/gear-lib/libp2p/libp2p.c +++ b/gear-lib/libp2p/libp2p.c @@ -22,7 +22,6 @@ #include "libp2p.h" #include "libstun.h" #include "libptcp.h" -#include #include #include #include diff --git a/gear-lib/libp2p/libptcp.c b/gear-lib/libp2p/libptcp.c index 62d8bd3..38c90c7 100644 --- a/gear-lib/libp2p/libptcp.c +++ b/gear-lib/libp2p/libptcp.c @@ -21,7 +21,6 @@ ******************************************************************************/ #include "queue.h" #include "libptcp.h" -#include #include #include diff --git a/gear-lib/libp2p/queue.h b/gear-lib/libp2p/queue.h index 287df25..4c360d4 100644 --- a/gear-lib/libp2p/queue.h +++ b/gear-lib/libp2p/queue.h @@ -26,7 +26,7 @@ extern "C" { #endif -#include +#include #include #include #include diff --git a/gear-lib/libp2p/test_libp2p.c b/gear-lib/libp2p/test_libp2p.c index 4c67ad4..e29a1ba 100644 --- a/gear-lib/libp2p/test_libp2p.c +++ b/gear-lib/libp2p/test_libp2p.c @@ -20,7 +20,6 @@ * SOFTWARE. ******************************************************************************/ #include "libp2p.h" -#include #include #include #include diff --git a/gear-lib/libqueue/Makefile.nmake b/gear-lib/libqueue/Makefile.nmake index bcc076e..ec480e3 100644 --- a/gear-lib/libqueue/Makefile.nmake +++ b/gear-lib/libqueue/Makefile.nmake @@ -20,7 +20,7 @@ OBJS_UNIT_TEST = test_$(LIBNAME).obj ############################################################################### # cflags and ldflags ############################################################################### -CFLAGS = /I../libposix4win/ /I../libmacro/ /I. +CFLAGS = /I../libposix4win/ /I. !IF "$(MODE)"=="release" CFLAGS = $(CFLAGS) /O2 /GF diff --git a/gear-lib/librtsp/media_source_live.c b/gear-lib/librtsp/media_source_live.c index a4faa91..3de592f 100644 --- a/gear-lib/librtsp/media_source_live.c +++ b/gear-lib/librtsp/media_source_live.c @@ -21,7 +21,6 @@ ******************************************************************************/ #include #include -#include #include #include "sdp.h" #include "media_source.h" @@ -129,12 +128,12 @@ static int init_header(struct x264_ctx *c) static struct x264_ctx *x264_open(struct codec_ctx *cc, struct media_encoder *ma) { - struct media_encoder *ma = CALLOC(1, struct media_encoder); + struct media_encoder *ma = calloc(1, sizeof(struct media_encoder)); if (!ma) { loge("malloc media_encoder failed!\n"); return NULL; } - struct x264_ctx *c = CALLOC(1, struct x264_ctx); + struct x264_ctx *c = calloc(1, sizeof(struct x264_ctx)); if (!c) { loge("malloc x264_ctx failed!\n"); return NULL; diff --git a/gear-lib/libsort/Makefile b/gear-lib/libsort/Makefile index ba38789..3e54550 100644 --- a/gear-lib/libsort/Makefile +++ b/gear-lib/libsort/Makefile @@ -1,4 +1,6 @@ - +############################################################################### +# common +############################################################################### #ARCH: linux/arm/android/ios/win ARCH ?= linux OUTPUT ?= /usr/local @@ -16,9 +18,12 @@ AR_V ?= $(AR) CP_V ?= $(CP) RM_V ?= $(RM) - +############################################################################### +# target and object +############################################################################### LIBNAME = libsort VERSION_SH = $(shell pwd)/version.sh $(LIBNAME) +VER = $(shell $(VERSION_SH); awk '/define\ $(LIBNAME)_version/{print $$3}' version.h) TGT_LIB_H = $(LIBNAME).h TGT_LIB_A = $(LIBNAME).a TGT_LIB_SO = $(LIBNAME).so @@ -33,6 +38,9 @@ OBJS_LIB += select_sort.o OBJS_UNIT_TEST = test_$(LIBNAME).o +############################################################################### +# cflags and ldflags +############################################################################### ifeq ($(MODE), release) CFLAGS := -O2 -Wall -Werror -fPIC LTYPE := release @@ -46,12 +54,14 @@ else OUTLIBPATH :=$(OUTPUT)/$(LTYPE) endif CFLAGS += $($(ARCH)_CFLAGS) -CFLAGS += -I$(OUTPUT)/include +CFLAGS += -I$(OUTPUT)/include/gear-lib SHARED := -shared LDFLAGS := $($(ARCH)_LDFLAGS) - +############################################################################### +# target +############################################################################### .PHONY : all clean TGT := $(TGT_LIB_A) @@ -69,7 +79,9 @@ $(TGT_LIB_A): $(OBJS_LIB) $(AR_V) rcs $@ $^ $(TGT_LIB_SO): $(OBJS_LIB) - $(CC_V) -o $@ $^ $(SHARED) + $(CC_V) -o $@ $^ $(SHARED) $(LDFLAGS) + @mv $(TGT_LIB_SO) $(TGT_LIB_SO_VER) + @ln -sf $(TGT_LIB_SO_VER) $(TGT_LIB_SO) $(TGT_UNIT_TEST): $(OBJS_UNIT_TEST) $(ANDROID_MAIN_OBJ) $(CC_V) -o $@ $^ $(TGT_LIB_A) $(LDFLAGS) @@ -77,13 +89,17 @@ $(TGT_UNIT_TEST): $(OBJS_UNIT_TEST) $(ANDROID_MAIN_OBJ) clean: $(RM_V) -f $(OBJS) $(RM_V) -f $(TGT) + $(RM_V) -f version.h + $(RM_V) -f $(TGT_LIB_SO)* + $(RM_V) -f $(TGT_LIB_SO_VER) install: $(MAKEDIR_OUTPUT) - if [ "$(MODE)" = "release" ];then $(STRIP) $(TGT); fi + @if [ "$(MODE)" = "release" ];then $(STRIP) $(TGT); fi $(CP_V) -r $(TGT_LIB_H) $(OUTPUT)/include/gear-lib $(CP_V) -r $(TGT_LIB_A) $(OUTLIBPATH)/lib/gear-lib $(CP_V) -r $(TGT_LIB_SO) $(OUTLIBPATH)/lib/gear-lib + $(CP_V) -r $(TGT_LIB_SO_VER) $(OUTLIBPATH)/lib/gear-lib uninstall: cd $(OUTPUT)/include/gear-lib/ && rm -f $(TGT_LIB_H) diff --git a/gear-lib/libsort/version.sh b/gear-lib/libsort/version.sh new file mode 100755 index 0000000..e97bbd5 --- /dev/null +++ b/gear-lib/libsort/version.sh @@ -0,0 +1,27 @@ +#!/bin/sh +major=0 +minor=1 +patch=0 + +libname=$1 +output=version.h + +LIBNAME=`echo ${libname} | tr 'a-z' 'A-Z'` +export version=${major}.${minor}.${patch} +export buildid=`git log -1 --pretty=format:"git-%cd-%h" --date=short 2>/dev/null` +autogen_version_h() +{ +cat > version.h <