Linux Makefile 小事例

来源:互联网 发布:圣经如何读 知乎 编辑:程序博客网 时间:2024/05/16 15:55

感觉Linux下不会makefile少点什么。

先说下我的目录

test.cpp  Makefilebin/include/     a.hsrc/     a.cpplib

makefile 文件

vpath %.h include vpath %.cpp src objects= obj/test.o INCLUDE = -I include SUBDIRS=adirLIB=-L lib -ltest.PHONY:allall:    .PHONY:getlibgetlib:lib/libtest.alib/libtest.a:obj/a.o    ar -r $@ $^obj/a.o:a.cpp    g++ -c $< -o $@ $(INCLUDE).PHONY:getexegetexe:bin/Handlebin/Handle:$(objects)     g++ $^ -o $@ $(INCLUDE) $(LIB)obj/test.o: test.cpp      g++ -c $< -o $@  $(INCLUDE) .PHONY:cleanclean:    -rm lib/* obj/* bin/*~    
a.h

#ifndef _A_H_#define _A_H_#include<iostream>using namespace std;class A{        public:                void Handle();};#endif


a.cpp

     

#include "a.h"void A::Handle(){        cout<<"这是A的一个函数!"<<endl;        cout<<"这是A的一个函数!"<<endl;}

test.cpp

#include"a.h"#include<vector>int main(){        A a1;         a1.Handle();        return 0;}

执行:

make getlib

make getexe

就会在 bin下生成执行文件 lib下生成lib文件