auto make

[复制链接]
keer_zu 发表于 2015-2-23 09:47 | 显示全部楼层 |阅读模式
auto make挺好用,比自己写Makefile方便。
 楼主| keer_zu 发表于 2015-2-23 10:18 | 显示全部楼层
先写一个主Makefile.am


类似:

SUBDIRS=teleserver netbase message sessionlayer FileConvertServer
CURRENTPATH=$(shell /bin/pwd)
INCLUDES=-I/$(CURRENTPATH)/netbase -I/$(CURRENTPATH)/common -I/$(CURRENTPATH)/sessionlayer -I/$(CURRENTPATH)/teleserver -I/$(CURRENTPATH)/FileConvertServer -I/$(CURRENTPATH)/message

LDADD_LIBS = -lpthread -levent -lrt -ljson -llog4cxx -laprutil-1 -lexpat
export INCLUDES
export CURRENTPATH
export LDADD_LIBS
 楼主| keer_zu 发表于 2015-2-23 10:24 | 显示全部楼层
SUBDIRS:   各个子目录

INCLUDES: 包含头文件的目录

LDADD_LIBS: 连接的库

后边几个export将这几个符号全局化,在子Makefile.am可以使用
原野之狼 发表于 2015-2-23 11:34 | 显示全部楼层
假期应该好好休息    技术搞不完的
 楼主| keer_zu 发表于 2015-2-23 12:10 | 显示全部楼层
原野之狼 发表于 2015-2-23 11:34
假期应该好好休息    技术搞不完的

回老家了?
 楼主| keer_zu 发表于 2015-2-23 19:17 | 显示全部楼层
子目录下的Makefile.am
 楼主| keer_zu 发表于 2015-2-24 13:37 | 显示全部楼层
AM_CPPFLAGS = \
        -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
        -DPACKAGE_SRC_DIR=\""$(srcdir)"\" \
        -DPACKAGE_DATA_DIR=\""$(datadir)"\"

AM_CFLAGS =\
         -Wall\
         -g\
         -D_GNU_SOURCE

bin_PROGRAMS = netbase

netbase_SOURCES = \
        connbaseimp.cpp \
        connbase.h \
        connbaseimp.h \
        eventlooper.h \
        eventlooperimp.cpp \
       eventlooperimp.h \
        test.cpp

noinst_LIBRARIES=libnetbase.a
libnetbase_a_SOURCES= \
        connbaseimp.cpp \
        connbase.h \
        connbaseimp.h \
        eventlooper.h \
        eventlooperimp.cpp \
        eventlooperimp.h


netbase_LDFLAGS = -L$(CURRENTPATH)/lib

netbase_LDADD = -levent -lrt
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1478

主题

12912

帖子

55

粉丝
快速回复 在线客服 返回列表 返回顶部

1478

主题

12912

帖子

55

粉丝
快速回复 在线客服 返回列表 返回顶部