1.编译可执行程序
.PHONY: all dir clean install
OSNAME := $(shell uname)
CXX = g++
CXXFLAGS = -O0 -g -ggdb3 -Werror
SRC_DIR = .
OBJ_DIR = ./obj
BIN_DIR = ./bin
BIN = example
OBJECTS = example.o
INC = -I ../include \
-I ../../../import/opensource/include \
LIB = -lpthread \
../lib/libbcproducer.l.a \
../../../import/opensource/lib/libzookeeper_mt.a \
-L../../../import/opensource/lib -lprotobuf \
all: dir $(addprefix $(BIN_DIR)/,$(BIN))
dir:
@-mkdir -p $(OBJ_DIR)
@-mkdir -p $(BIN_DIR)
$(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp ./%.cpp
$(CXX) $(CXXFLAGS) $(INC) -o $@ -c $<
$(BIN_DIR)/$(BIN):$(addprefix $(OBJ_DIR)/, $(OBJECTS))
$(CXX) $(CXXFLAGS) -o $@ $^ $(LIB)
clean:
@rm -f $(addprefix $(BIN_DIR)/,$(BIN)) $(OBJ_DIR)/*.o
@rm -rf $(BIN_DIR) $(OBJ_DIR)
2.编译静态库