Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

Linux Makefile 小事例

$
0
0

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

先说下我的目录

test.cpp  Makefile
bin/
include/
     a.h
src/
     a.cpp
lib

makefile 文件

vpath %.h include 
vpath %.cpp src 
objects= obj/test.o 
INCLUDE = -I include 
SUBDIRS=adir
LIB=-L lib -ltest
.PHONY:all
all:
    


.PHONY:getlib
getlib:lib/libtest.a
lib/libtest.a:obj/a.o
    ar -r $@ $^
obj/a.o:a.cpp
    g++ -c $< -o $@ $(INCLUDE)
.PHONY:getexe
getexe:bin/Handle
bin/Handle:$(objects) 
    g++ $^ -o $@ $(INCLUDE) $(LIB)
obj/test.o: test.cpp  
    g++ -c $< -o $@  $(INCLUDE) 
.PHONY:clean
clean:
    -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文件

作者:king1076 发表于2013-11-28 1:12:41 原文链接
阅读:86 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>