您的位置:首页 > 其它

makefile简单写法

2012-05-27 22:15 176 查看
四个文件:error.h error.cpp def.h test.cpp
error.cpp包含error.h
test.cpp包含def.h error.h

makefile如下:

objects = test.o error.o
#flags = -D_DEBUG # debug版本

edit: $(objects)
g++ -o edit $(objects)

test.o: def.h test.cpp
g++ -c test.cpp
error.o: error.h error.cpp
g++ -c error.cpp

clean:
rm edit $(objects)

// ----------自动查找.h .cpp-------------------

CC = g++
CFLAGS = -Wall

COM = ../com
TEST = .

OBJ = $(COM)/ByteArray.o $(TEST)/ByteArrayTest.o

all:$(OBJ)
$(CC) $(CFLAGS) $(OBJ) -o test

clean:
rm *.o test

// 常用模板

TARGET = ./chat

OBJPATH = .

SOURCES = $(wildcard *.cpp)

OBJS = $(patsubst %.cpp,%.o,$(SOURCES))

FULLOBJS = $(patsubst %.cpp,$(OBJPATH)/%.o,$(SOURCES))

INCPATH = -I. -I./libevent/header

LIBPATH = -L./libevent -levent_core -levent_threads

LFLAGS = -w:

CFLAGS = -w -c

CXX = g++

all:$(TARGET)

$(TARGET):$(OBJS)

$(CXX) $(LFLAGS) $(FULLOBJS) -o $(TARGET) $(LIBPATH)

$(OBJS):$(SOURCES)

$(CXX) $(CFLAGS) $(DFLAGS) $*.cpp -o $(OBJPATH)/$@ $(INCPATH)

clean:

rm -f $(OBJPATH)/*.o

rm -f $(TARGET)
模板,如使用muduo库:

CXX=g++
CFLAGS=-Wall -I/home/tujiaw/muduo/include
LDFLAGS=-L/home/tujiaw/muduo/lib
LIBS=-lmuduo_base -lmuduo_net -lpthread
OBJS=main.o echo.o

out:$(OBJS)
$(CXX) $(CFLAGS) $(OBJS) -o $@ $(LDFLAGS) $(LIBS)

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

clean:
rm out $(OBJS)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: