强大的Make

每一次用Make都会不禁感叹这个东西有多么的强大,强烈建议所有做开发工作,也推荐不做开发工作,但是有许多各种各样文件需要处理的人深入学习一下Make,当然,简单学习一下其实挺简单的,能做的事也很简单就是了,要强大当然还是要深入的学习。

下面是我的一个模板,比较方便,共享出来给懒人们玩玩。基本上如果是写个简单的项目,这个就满足绝大多数需求了,甚至包含了对头文件依赖的处理,确实非常方便。

CC=clang
CXX=clang++

TARGET=test
C_SRCS=$(wildcard *.c)
C_OBJS=${C_SRCS:%.c=%.o}

CXX_SRCS=$(wildcard *.cpp)
CXX_OBJS=${CXX_SRCS:%.cpp=%.o}

$(TARGET) : .c_depend .cxx_depend $(C_OBJS) $(CXX_OBJS)
	$(CXX) $(LDFLAGS) $(C_OBJS) $(CXX_OBJS) -o $@

.c_depend : $(C_SRCS)
	$(CC) $(CFLAGS) -MM $(C_SRCS) > .c_depend
	
.cxx_depend : $(CXX_SRCS)
	$(CXX) $(CXXFLAGS) -MM $(CXX_SRCS) > .cxx_depend

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

%.o : %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

-include .c_depend .cxx_depend

clean :
	rm *.o $(TARGET) .c_depend .cxx_depend

-EOF-


blog comments powered by Disqus

Published

19 March 2012