码迷,mamicode.com
首页 > 其他好文 > 详细

Easymake

时间:2016-09-26 13:05:11      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

Easymake太好用了,偷懒神器,强力推荐.

 

一、根目录下的easymake.mk就是makefile模板,我们自定义的makefile只需要包含这个模板即可

include ../../easymake.mk

 

二、源码包自带的sample够我们参考应用了。

drwx------ 4  4096  9月 26 10:56 basics
drwx------ 4  4096  9月 26 09:50 so
drwx------ 3  4096  9月 26 09:49 staticLib
drwx------ 4  4096  9月 26 09:49 vpath

1、basics常规应用,包含一个shell脚本,也就是copy一份makefile文件 

cp ../../easymake.mk Makefile

运行实例

dong@ubuntu:~/cb/easymake-master/samples/basics$ ./test.sh 
cp ../../easymake.mk Makefile

make
g++   -MP -MMD -c -o bin/math/add.o  math/add.cpp
g++   -MP -MMD -c -o bin/add.o  add.cpp
# main detected
g++ -o bin/add bin/math/add.o bin/add.o

./bin/add
add(5,6) returns 11



create add_test.cpp


make test
g++   -MP -MMD -c -o bin/add_test.o  add_test.cpp
# main detected
g++ -o bin/add_test bin/math/add.o bin/add_test.o

# run [bin/add_test]
  # add_test: add_test.cpp:7: int main(): Assertion `add(1,1)==3 failed.
Makefile:216: recipe for target test failed
make: *** [test] Error 2

 

2、so生成库文件并且运行,用shell脚本来编译

make bin/libmylib.so

g++ add_test.cpp -I. -L./bin/ -lmylib -o bin/target

LD_LIBRARY_PATH=./bin/ ./bin/target

运行实例

dong@ubuntu:~/cb/easymake-master/samples/so$ ./so_test.sh 
g++  -I. -fPIC -MP -MMD -c -o bin/math/add.o  math/add.cpp
g++  -I. -fPIC -MP -MMD -c -o bin/add_test.o  add_test.cpp
# main detected

g++ -shared -o bin/libmylib.so bin/math/add.o  
add(8,8)=16

 

3、staticLib生成静态库,就不一一编译运行了,同上

 

4、vpath这个实例可以同时编译多个可运行项目,makefile只需要添加自定义的项目源码路径就行了

VPATH = ../src2

include ../../../easymake.mk


运行实例

dong@ubuntu:~/cb/easymake-master/samples/vpath/proj$ make
g++   -MP -MMD -c -o bin/math/add.o  math/add.cpp
g++   -MP -MMD -c -o bin/main.o  main.cpp
# main detected
g++   -MP -MMD -c -o bin/hello_world.o  ../src2/hello_world.cpp
g++   -MP -MMD -c -o bin/test.o  ../src2/test.cpp
# main detected
g++ -o bin/main bin/math/add.o bin/main.o bin/hello_world.o
g++ -o bin/test bin/math/add.o bin/hello_world.o bin/test.o

 

三、Easymake源码在这里下载

 

 

 

 

 

Easymake

标签:

原文地址:http://www.cnblogs.com/dong1/p/5908476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!