makefile求助

笑对人生 2013-09-24 05:07:18
别人写的makefile,生成 .exe文件的。 但是我想生成.a文件。 不知道如何改。我对makefile也是一知半解。求助. 我知道需要改 $(EXE1):$(OBJS) $(OBJS2)
$(CC) -g -o $@ $^ $(LDFLAGS)
但我尝试一下没有改对。

#OS=`uname``uname -a | sed -n '1p' | perl -nle 'print $$1 if /\s+([0-9]\.\d+)/'`
#GCC=`gcc --version | sed -n '1p' | perl -nle 'print $$1 if /\s+([0-9]\.\d+)/'`
OS=$(shell uname)$(shell uname -a | sed -n '1p' | perl -nle 'print $$1 if /\s+([0-9]\.\d+)/')
GCC=$(shell gcc --version | sed -n '1p' | perl -nle 'print $$1 if /\s+([0-9]\.\d+)/')
CC=g++
DIR_LIST=./ ../common ../stack ../HttpStack ../log4c
OutPut=build/self
#SOURCE CODE
CC_SRC=$(shell find $(DIR_LIST) -name "*.cpp" )
CC_SRC2=$(shell find $(DIR_LIST) -name "*.c" )

#OBJECTS
CC_OBJS=$(patsubst %.cpp,./$(OutPut)/%.o,$(CC_SRC))
CC_OBJS2=$(patsubst %.c,./$(OutPut)/%.o,$(CC_SRC2))
OBJS=$(CC_OBJS)
OBJS2=$(CC_OBJS2)
#DEPS
DEPS=$(patsubst %.o,%.d,$(OBJS))

#DIRS
define OBJ_MKDIR
OBJ_DIRS+=./$(OutPut)/$(1)
endef
CC_DIRS=$(shell find $(DIR_LIST) -type d|sed -e '/.svn/d')
$(foreach dir,$(CC_DIRS),$(eval $(call OBJ_MKDIR,$(dir))))

#DEPS
DEPS=$(patsubst %.o,%.d,$(OBJS))

#INCLUDE DIR
define SAFE_MKDIR
INC_DIR+=-I $(1)
endef
$(foreach dir,$(CC_DIRS),$(eval $(call SAFE_MKDIR,$(dir))))
#LIB_DIR
LIB_DIR=-L/usr/local/lib -L $(BOOST_LIB) -L ../lib
LIBS= -Wl,-Bstatic -lboost_date_time -lboost_system -lboost_thread -llog4cplus -lssl -lcrypto -Wl,-Bdynamic -lrt -lpthread -ldl
LDFLAGS= $(LIBS)
CPPFLAGS=$(INC_DIR) $(DFLAGS)

EXE1=./srv

all:$(EXE1)
$(shell mkdir -p $(sort $(OBJ_DIRS)))
include $(DEPS)

$(EXE1):$(OBJS) $(OBJS2)
$(CC) -g -o $@ $^ $(LDFLAGS)

./$(OutPut)/%.o:%.cpp
$(CC) -g -o $@ -c -fPIC $< $(CPPFLAGS)


./$(OutPut)/%.d:%.cpp
@set -e; rm -f $@; \
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
sed 's,.*\.o[ :]*,$(patsubst %.d,%.o,$@) $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$

./$(OutPut)/%.o:%.c
$(CC) -g -o $@ -c -fPIC $< $(CPPFLAGS)


./$(OutPut)/%.d:%.c
@set -e; rm -f $@; \
$(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \
sed 's,.*\.o[ :]*,$(patsubst %.d,%.o,$@) $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
...全文
65 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧