生成.so文件的Makefile2010-05-19 22:22


# DEBUG can be set to YES to include debug info, or NO otherwise
DEBUG := YES
OUTPUT := ../../../../../libs/libbasehelper.so
DEFS :=

#**********************************************************
VPATH = ./
CXX := g++
LD := g++
AR := ar rc
RANLIB := ranlib

DEBUG_CXXFLAGS :=  -Wall -g -DDEBUG
RELEASE_CXXFLAGS := -Wall -O3 -DNDEBUG

DEBUG_LDFLAGS := -g
RELEASE_LDFLAGS :=

ifeq (YES, $(DEBUG))
CXXFLAGS := $(DEBUG_CXXFLAGS) $(DEFS)
LDFLLAGS := $(DEBUG_LDFLAGS) $(DEFS)
else
CXXFLAGS := $(RELEASE_CXXFLAGS) $(DEFS)
LDFLLAGS := $(RELEASE_CSSFLAGS) $(DEFS)
endif

all:$(OUTPUT)

SRCS := $(wildcard *.cpp)

OBJS := $(addsuffix .o, $(basename $(SRCS)))

DEPS := $(addsuffix .d, $(basename $(SRCS)))
#**********************************************************
# OUTPUT
#**********************************************************

$(OUTPUT):$(OBJS)
$(LD) -o $@ -shared $(CXXFLAGS) $(OBJS) $(LIBS)

#**********************************************************
# common rule
#**********************************************************

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

include $(subst .cpp,.d,$(SRCS))

%.d : %.cpp
$(CXX) -M $(CPPFLAGS) $(INCS) $< > $@.$$$$; \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$> $@; \
rm -f $@.$$$$;

clean:
rm -f $(OBJS) $(OUTPUT) $(DEPS)

更多我的日记

生成linux执行文件的makefile  2010-05-19 22:20
拉风语  2010-05-13 18:56
2009-03-20的日记  2009-03-20 20:42

查看/发表评论   

 

    0条评论