cmogstored.git  about / heads / tags
alternative mogstored implementation for MogileFS
blob f0d0c291230e8e9ae7cb4b527e92c232a59c7fef 3843 bytes (raw)
$ git show v0.0.0:Makefile.am	# shows this blob on the CLI

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
 
ACLOCAL_AMFLAGS = -I m4
AM_CPPFLAGS = -I$(top_builddir)/lib
AM_CFLAGS = $(WARN_CFLAGS) $(PTHREAD_CFLAGS)
SUBDIRS = lib

mog_src =
mog_src += accept.c
mog_src += accept_loop.c
mog_src += activeq.c
mog_src += addrinfo.c
mog_src += alloc.c
mog_src += bind_listen.c
mog_src += bsd/queue_safe.h
mog_src += canonpath.c
mog_src += cfg.c
mog_src += cfg.h
mog_src += cfg_validate.c
mog_src += cloexec_detect.c
mog_src += cloexec_from.c
mog_src += close.c
mog_src += cmogstored.h
mog_src += compat_accept.h
mog_src += defaults.h
mog_src += dev.c
mog_src += die.c
mog_src += digmd5.c
mog_src += digmd5.h
mog_src += fdmap.c
mog_src += fdmap.h
mog_src += file.c
mog_src += fs.c
mog_src += gcc.h
mog_src += iostat.c
mog_src += iostat.h
mog_src += iostat_process.c
mog_src += iov_str.h
mog_src += listen_parser.h
mog_src += listen_parser_internal.c
mog_src += maxconns.c
mog_src += mgmt.c
mog_src += mgmt.h
mog_src += mgmt_fn.c
mog_src += mnt.c
mog_src += mnt.h
mog_src += notify.c
mog_src += pidfile.c
mog_src += queue_common.h
mog_src += queue_epoll.c
mog_src += queue_epoll.h
mog_src += queue_loop.c
mog_src += queue_step.c
mog_src += sig.c
mog_src += svc.c
mog_src += svc_dev.c
mog_src += thrpool.c
mog_src += trywrite.c
mog_src += util.h
mog_src += warn.c

LDADD = $(LIBINTL) $(top_builddir)/lib/libgnu.a

RLFLAGS = -G2
RAGEL = ragel
RL_MAIN = cfg_parser.rl iostat_parser.rl listen_parser.rl mgmt_parser.rl \
          valid_path.rl
RL_CGEN = cfg_parser.c  iostat_parser.c  listen_parser.c  mgmt_parser.c \
          valid_path.c
BUILT_SOURCES = $(RL_CGEN)
RL_ALL = listen_parser_common.rl $(RL_MAIN)

cfg_parser.c: cfg_parser.rl listen_parser_common.rl
listen_parser.c: listen_parser.rl listen_parser_common.rl

%.c: %.rl
	$(AM_V_GEN)$(RAGEL) $< -C $(RLFLAGS) -o $@

bin_PROGRAMS = cmogstored
cmogstored_SOURCES = $(mog_src) $(BUILT_SOURCES) cmogstored.c

TEST_EXTENSIONS = .rb
RB_LOG_COMPILER = $(top_srcdir)/test/ruby-parallel.sh
RB_TESTS = test/mgmt-usage.rb test/mgmt.rb test/mgmt-iostat.rb \
 test/cmogstored-cfg.rb

check_PROGRAMS = test/valid-path-1 test/trywrite-1 \
  test/cfg-parser-1 test/fdmap-1 test/thrpool-1 test/queue-1 \
  test/queue-epoll-1

TESTS = $(RB_TESTS) $(check_PROGRAMS)

test_COMMON = $(mog_src) $(BUILT_SOURCES) check.h

test_valid_path_1_SOURCES = test/valid-path-1.c $(test_COMMON)
test_trywrite_1_SOURCES = test/trywrite-1.c $(test_COMMON)
test_cfg_parser_1_SOURCES = test/cfg-parser-1.c $(test_COMMON)
test_fdmap_1_SOURCES = test/fdmap-1.c $(test_COMMON)
test_thrpool_1_SOURCES = test/thrpool-1.c $(test_COMMON)
test_queue_1_SOURCES = test/queue-1.c $(test_COMMON)
test_queue_epoll_1_SOURCES = test/queue-epoll-1.c $(test_COMMON)

HELP2MAN = help2man
dist_man_MANS = cmogstored.1

cmogstored.1: cmogstored.x
	$(MAKE) $(top_builddir)/cmogstored
	$(HELP2MAN) -i $< -N $(top_builddir)/cmogstored > $@

extra_doc = HACKING NEWS ChangeLog
RAKE = rake
$(top_srcdir)/NEWS: configure.ac
	$(AM_V_GEN)$(RAKE) news > $@.$$$$ && mv $@.$$$$ $@
$(top_srcdir)/ChangeLog: configure.ac
	$(AM_V_GEN)$(RAKE) changelog > $@.$$$$ && mv $@.$$$$ $@

RSYNC = rsync
WWW_DOC = README AUTHORS NEWS.atom.xml INSTALL $(extra_doc)
NEWS.atom.xml: configure.ac
	$(AM_V_GEN)$(RAKE) news_atom > $@.$$$$ && mv $@.$$$$ $@
publish: NEWS.atom.xml NEWS ChangeLog
	mkdir -p www/
	-git set-file-times
	$(INSTALL_DATA) -p $(WWW_DOC) www/
	for i in $$(git ls-files doc/); do $(INSTALL_DATA) -p $$i www/; done
	$(RSYNC) -av www/ bogomips.org:/srv/bogomips/cmogstored/

.PHONY: publish

EXTRA_DIST = $(RB_TESTS) $(RL_ALL) $(extra_doc) \
  .gitignore Rakefile autogen.sh bsd/README doc m4 \
  test/iostat-mock.rb test/ruby-parallel.mk test/ruby-parallel.sh \
  cmogstored.x

TESTS_ENVIRONMENT = PATH=$(top_builddir):$$PATH

CLEANFILES = *.gcov *.gcda *.gcno
MAINTAINERCLEANFILES = $(dist_man_MANS)
include $(top_srcdir)/coverage.mk
include $(top_srcdir)/release.mk

git clone https://yhbt.net/cmogstored.git