Commit 66d2dccf authored by gejun's avatar gejun

Use Makefile instead of COMAKE in example/echo_c++

Change-Id: Icb6ba0a05d330fc069259fd925a1efd3d1942e8d
#edit-mode: -*- python -*-
#coding:gbk
#注意:在此目录下你无法comake2 -UB,comake2会抱怨baidu-rpc是本目录的父节点,
#如果你要运行本项目,得先在baidu-rpc目录下comake2 -UB后回到本目录comake2 -P。
#你自己的项目不会有这个问题(因为不会是baidu-rpc的子目录)
#到代码树根目录的相对路径
WORKROOT('../../../../../')
#C++编译参数.
CPPFLAGS('-std=c++0x -g -DNDEBUG -O2 -pipe -W -Wall -Werror -fPIC -fno-omit-frame-pointer -Wno-deprecated -Wno-unused-parameter')
#在目前的版本中,只要用到baidu-rpc的项目都强烈建议加下面一行,以避免在gcc4下的误优化
CPPFLAGS('-D__const__=')
#为了方便本例通过comake2 -UB下载依赖,我们直接import上层baidu-rpc的依赖,
#在你自己的项目中,你得把下面三行改成CONFIGS('public/baidu-rpc@ci-base')
INCPATHS('../../')
LIBS(GLOB('../../output/lib/lib*.a'))
ImportConfigsFrom('../../')
#链接参数.
LDFLAGS('-lpthread -lrt -lssl -lcrypto -ldl -lz')
#这是支持.proto作为源文件必须的
PROTOC(ENV.WorkRoot() + "/third-64/protobuf/bin/protoc")
#可执行文件
Application('echo_client', Sources('echo.proto client.cpp'))
Application('echo_server', Sources('echo.proto server.cpp'))
CC=gcc
CXX=g++
CXXFLAGS=
CFLAGS=
CPPFLAGS=-std=c++0x \
-g \
-DNDEBUG \
-O2 \
-pipe \
-W \
-Wall \
-Werror \
-fPIC \
-fno-omit-frame-pointer \
-Wno-deprecated \
-Wno-unused-parameter \
-D__const__=
INCPATH=-I../../
GFLAGS_PATH=../../../../../third-64/gflags
LEVELDB_PATH=../../../../../third-64/leveldb
PROTOBUF_PATH=../../../../../third-64/protobuf
DEP_INCPATH=-I$(GFLAGS_PATH)/include -I$(LEVELDB_PATH)/include -I$(PROTOBUF_PATH)/include
PROTOC=$(PROTOBUF_PATH)/bin/protoc
LIBS=../../output/lib/libbase.a \
../../output/lib/libbrpc.a \
../../output/lib/libbthread.a \
../../output/lib/libbvar.a \
../../output/lib/libjson2pb.a \
../../output/lib/libmcpack2pb.a \
$(GFLAGS_PATH)/lib/libgflags.a \
$(LEVELDB_PATH)/lib/libleveldb.a \
$(PROTOBUF_PATH)/lib/libprotobuf.a \
-lpthread \
-lrt \
-lssl \
-lcrypto \
-ldl \
-lz
.PHONY:all
all: echo_client echo_server
.PHONY:clean
clean:
rm -rf echo_client
rm -rf echo_server
rm -rf echo.pb.cc
rm -rf echo.pb.h
rm -rf echo.pb.o
rm -rf client.o
rm -rf server.o
echo_client:echo.pb.o client.o
$(CXX) echo.pb.o client.o -Xlinker "-(" $(LIBS) -Xlinker "-)" -o echo_client
echo_server:echo.pb.o server.o
$(CXX) echo.pb.o server.o -Xlinker "-(" $(LIBS) -Xlinker "-)" -o echo_server
echo.pb.o:echo.pb.cc
$(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o echo.pb.o echo.pb.cc
echo.pb.cc echo.pb.h:echo.proto
$(PROTOC) --cpp_out=. --proto_path=. echo.proto
client.o:client.cpp
$(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o client.o client.cpp
server.o:server.cpp
$(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o server.o server.cpp
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment