yxr:搜集了不少makefile技巧,但是没有一个从头到尾,能够拿来就用的。工作需要,写了一个C++的简单makefile,记录下来,以备使用。

 1)Makefile中有不少已经存在的缺省变量,比如CFLAGS,CC,LIBRARY(?)

2)

CC  = gcc

ifdef LOGFILE

ERROLOG = 2>&1 >> $(LOGFILE)

endif

SRC        = $(wildcard *.cpp)                                          ###  列举所有cpp

SRC_O   = $(SRC:cpp=o)             ### 根据列举所有的cpp,将其后缀名换为.o

all:test                                                                             ### 最后的程序名叫test

test: $(SRC_O)                                                           #产生test可执行文件

  @echo $(SRC_O)              ##打印所有已o结尾的文件

  @$(CC)  -o $@ $^ -lstdc++          #运行gcc  参数 -o , $@–目标文件,$^–所有的依赖文件,$<–第一个依赖文件。  -lstdc++ 应该是library stdc++吧

.c.o:

  $(CC) -c $< -std=c++0x            #所有.c生成.o文件

clean:

  @rm -f *.o

  @rm -f test

  

yxr:Makefile 简单样本-风君雪科技博客