Makefile编译多个可执行文件

简单实例:


CC = gcc
CXX = g++
CFLAGS = -O -DDBG -D_REENTRANT -Wall -DUSE_PTHREAD -pthread
LDFLAGS = -ldl -lnsl -lm -lpthread

SRCS = $(wildcard *.cpp)
OBJS = $(patsubst %cpp, %o, $(SRCS))  //利用模式匹配生成.o文件

DATALIBS = dblib/lib.a
ZIPLIBS = ZipCoder/ZipCoder.a  

TARGET = ../bin/excute test
all: $(TARGET)

../bin/excute : excute.o $(filter-out test.o,$(OBJS)) //消除生成多个可执行文件的影响,如果有更多个:$(filter-out $(test1.o,test2.o..),$(OBJS))
		$(CXX) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(ZIPLIBS) $(DATALIBS)
test :  test.o $(filter-out excute.o,$(OBJS))
		$(CXX) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(ZIPLIBS) $(DATALIBS)

#$(ZIPLIBS): ZipCoder/Makefile ZipCoder/zlib/Makefile
#	cd ZipCoder/zlib/; make; cd ..; make; cd ..;

%.o : %.c
	$(CC) $(CFLAGS) -c $^ -o $@
%.o : %.cpp
	$(CXX) $(CFLAGS) -c $^ -o $@	

.PHONY : clean

clean :
	rm -f *.o
	rm -f ../bin/excute

# install:
# 		mv Excute excute; cp -f ordermisd ../bin/;



一个makefile学习地址:

http://www.cnblogs.com/wang_yb/p/3990952.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值