首页 > 代码库 > Easymake
Easymake
Easymake太好用了,偷懒神器,强力推荐.
一、根目录下的easymake.mk就是makefile模板,我们自定义的makefile只需要包含这个模板即可
include ../../easymake.mk
二、源码包自带的sample够我们参考应用了。
drwx------ 4 4096 9月 26 10:56 basicsdrwx------ 4 4096 9月 26 09:50 sodrwx------ 3 4096 9月 26 09:49 staticLibdrwx------ 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 Makefilemakeg++ -MP -MMD -c -o bin/math/add.o math/add.cppg++ -MP -MMD -c -o bin/add.o add.cpp# main detectedg++ -o bin/add bin/math/add.o bin/add.o./bin/addadd(5,6) returns 11create add_test.cppmake testg++ -MP -MMD -c -o bin/add_test.o add_test.cpp# main detectedg++ -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‘ failedmake: *** [test] Error 2
2、so生成库文件并且运行,用shell脚本来编译
make bin/libmylib.sog++ add_test.cpp -I. -L./bin/ -lmylib -o bin/targetLD_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.cppg++ -I. -fPIC -MP -MMD -c -o bin/add_test.o add_test.cpp# main detectedg++ -shared -o bin/libmylib.so bin/math/add.o add(8,8)=16
3、staticLib生成静态库,就不一一编译运行了,同上
4、vpath这个实例可以同时编译多个可运行项目,makefile只需要添加自定义的项目源码路径就行了
VPATH = ../src2include ../../../easymake.mk
运行实例
dong@ubuntu:~/cb/easymake-master/samples/vpath/proj$ makeg++ -MP -MMD -c -o bin/math/add.o math/add.cppg++ -MP -MMD -c -o bin/main.o main.cpp# main detectedg++ -MP -MMD -c -o bin/hello_world.o ../src2/hello_world.cppg++ -MP -MMD -c -o bin/test.o ../src2/test.cpp# main detectedg++ -o bin/main bin/math/add.o bin/main.o bin/hello_world.og++ -o bin/test bin/math/add.o bin/hello_world.o bin/test.o
三、Easymake源码在这里下载
https://github.com/roxma/easymake
Easymake
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。