(一)写Makefile.am
当写完代码之后,在代码所在的目录src中,编写Makefile.am文件,其内容如下:
bin_PROGRAMS = ap_collector ap_server
#Add extra debug info for gdb
AM_CFLAGS = -ggdb
ACLOCAL_AMFLAGS = -I m4
# libnfdump sources
ipmap = ip_map.c ip_map.h
getregion = get_region.c get_region.h
pbkafka = pb_kafka.c pb_kafka.h
protobuf = proto/sflow.pb-c.c proto/sflow.pb-c.h
filelist = file_list.c file_list.h
redisclient = redis_client.c redis_client.h
parsefile = parse_file.c parse_file.h
getconfig = parse_config.c parse_config.h
ap_collector_SOURCES = $(ipmap) $(getregion) $(filelist) $(parsefile) $(redisclient) $(getconfig)
ap_collector_LDADD = -lhiredis -lmysqlclient
ap_server_SOURCES = region_aggr.c $(ipmap) $(pbkafka) $(protobuf) $(getconfig)
ap_server_LDADD = -lhiredis -lrdkafka -lprotobuf-c
其中,bin_PROGRAMS为要生成的可执行文件名,可以为多个。