- 论坛徽章:
- 1
|
回复 #1 fender0107401 的帖子
- ###########################################################################
- # _
- # ~Q~ (_)
- # ___ _ ___ __ __ __
- # / __| | | | / __\ \ /\ / /
- # | (__ |_| | \__ \\ V V /
- # \___|\__,_|_|___/ \_/\_/
- #
- # Copyright (C) 2008 - 8002, Cui Shaowei, <[email]shaovie@gmail.com[/email]>, It's free.
- # This is a general makefile template.
- ###########################################################################
- BIN_DIR = ./bin
- TARGET = $(BIN_DIR)/libnetdkit.so.1.0
- C_CFLAGS = -Wall -W -Wpointer-arith -pipe
- MACROS = -D_REENTRANT -D__USE_POSIX -DNDK_RTLOG#-DNDK_STRACE
- CC = gcc
- CPP_CFLAGS = -Wall -W -Wpointer-arith -pipe
- MAKE = make
- LINKER = g++
- INCLUDE_DIRS = -I .
- LIBS = -lpthread
- OPTIM_FLAG = -O2
- CPP = g++
- LFLAGS = -Wl -shared -fPIC
- LIB_DIRS =
- VPATH = ndk
- OBJECT_DIR = ./.obj/
- CPPFILES = \
- acceptor.cpp \
- pipe.cpp \
- thread.cpp \
- strace.cpp \
- sock_connector.cpp \
- circular_buffer.cpp \
- CFILES = \
- dictionary.c \
- iniparser.c
- # To use 'make debug=0' build release edition.
- ifdef debug
- ifeq ("$(origin debug)", "command line")
- IS_DEBUG = $(debug)
- endif
- else
- IS_DEBUG = 1
- endif
- ifndef IS_DEBUG
- IS_DEBUG = 1
- endif
- ifeq ($(IS_DEBUG), 1)
- OPTIM_FLAG += -g3
- endif
- # To use 'make quiet=1' all the build command will be hidden.
- # To use 'make quiet=0' all the build command will be displayed.
- ifdef quiet
- ifeq ("$(origin quiet)", "command line")
- QUIET = $(quiet)
- endif
- endif
- ifeq ($(QUIET), 1)
- Q = @
- else
- Q =
- endif
- OBJECTS := $(addprefix $(OBJECT_DIR), $(notdir $(CPPFILES:%.cpp=%.o)))
- OBJECTS += $(addprefix $(OBJECT_DIR), $(notdir $(CFILES:%.c=%.o)))
- CALL_CFLAGS := $(C_CFLAGS) $(INCLUDE_DIRS) $(MACROS) $(OPTIM_FLAG)
- CPPALL_CFLAGS := $(CPP_CFLAGS) $(INCLUDE_DIRS) $(MACROS) $(OPTIM_FLAG)
- LFLAGS += $(LIB_DIRS) $(LIBS) $(OPTIM_FLAG)
- all: checkdir $(TARGET)
- $(TARGET): $(OBJECTS)
- $(Q)$(LINKER) $(strip $(LFLAGS)) -o $@ $(OBJECTS)
- @ln -sf $(notdir $(TARGET)) $(BIN_DIR)/libnetdkit.so
- $(OBJECT_DIR)%.o:%.cpp
- $(Q)$(CPP) $(strip $(CPPALL_CFLAGS)) -c $< -o $@
- $(OBJECT_DIR)%.o:%.c
- $(Q)$(CC) $(strip $(CALL_CFLAGS)) -c $< -o $@
- checkdir:
- @if ! [ -d "$(BIN_DIR)" ]; then \
- mkdir $(BIN_DIR) ; \
- fi
- @if ! [ -d "$(OBJECT_DIR)" ]; then \
- mkdir $(OBJECT_DIR); \
- fi
- clean:
- rm -f $(OBJECTS)
- cleanall: clean
- rm -f $(TARGET)
- .PHONY: all clean cleanall checkdir
复制代码
给你个模板,自己改一下 |
|