关闭

一个编译C++ 文件常用得 makefile ,直接拷贝就可以用哦。

标签: gccmakefilewildcard
653人阅读 评论(0) 收藏 举报
分类:

SRCROOT 当前源代码目录

SRCROOT=../src/


CC = g++


INCLUDE_PATH=$(shell find $(SRCROOT) -type d) ../src

INCLUDE=$(addprefix -I ,$(INCLUDE_PATH))


#设置编译得参数 -g 表示可以产生debug符号

FLAGS = -g -fPIC


#SRC_FILE 也可以这样来做:

#SRC_FILES=$(wildcard *.cpp)
#DIR=$(notdir $(src))
#OBJS=$(patsubst %.c%.o$(dir) )


SRC_FILES=$(shell find $(SRCROOT) -name '*.cpp') 

OBJS=$(patsubst %.mm,%.o,$(patsubst %.cpp,%.oo,$(SRC_FILES)))


all:    ALLEXE


ALLEXE:  $(OBJS)

$(CC) $(FLAGS) -o $@ $^

find $(SRCROOT) -name '*.o' | xargs rm -fr

find $(SRCROOT) -name '*.oo' | xargs rm -fr

find $(SRCROOT) -name '*.s' | xargs rm -fr

find $(SRCROOT) -name '*.ss' | xargs rm -fr


%.o: %.cpp

$(CC) $(FLAGS) -o $@ $<

#也可以这样写:

# $(OBJS): %.o: %.c
# $(CC) -c $(CFLAGS) $< -o $@ 

#    记得命令用tab开头哦。。。


clean:

find $(SRCROOT) -name '*.o' | xargs rm -fr

find $(SRCROOT) -name '*.oo' | xargs rm -fr

find $(SRCROOT) -name '*.s' | xargs rm -fr

find $(SRCROOT) -name '*.ss' | xargs rm -fr

rm -fr ALLEXE 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16966次
    • 积分:315
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:10篇
    • 译文:0篇
    • 评论:0条
    文章存档