build_dir=.
OUTPUT = vfield
all: $(OUTPUT)

include Rules.mk


SRCS = main.cc \
       argparser.cc \

OBJS = $(subst .cc,.o,$(SRCS))
SUBOBJS = interface/receptor.o storage/storage_root.o storage/storage_ram.o storage/storage_edge.o common/asynclog.o common/bufferedreq.o common/color.o common/ip46.o common/log.o common/threadpool.o interface/interface.o interface/nbd/if_nbd.o interface/nbd/nbd_processor.o rpc/rpcclient.o rpc/rpcserver.o search/engine.o search/controller.o stream/stream.o vtable/vtable.o

DIRS = common interface rpc search stream storage vtable


all: $(OUTPUT) 

.PHONY: $(DIRS)
$(DIRS):
	$(MAKE) -C $@

$(OUTPUT): $(DIRS) $(OBJS)
	$(CXX) $(CFLAGS) $(CXXFLAGS) $(OBJS) $(SUBOBJS) $(LDFLAGS) -o $@


.PHONY: depend memo clean
depend: $(SRCS)
	for d in $(DIRS);do $(MAKE) -C $$d depend; done
	makedepend $<

memo:
	grep -n -E "XXX|FIXME|TODO" `hg locate` > memo

clean:
	for d in $(DIRS);do $(MAKE) -C $$d clean; done
	rm -f $(OBJS) $(OUTPUT)

# DO NOT DELETE

main.o: vtable/vtable.h /usr/include/netinet/in.h /usr/include/features.h
main.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
main.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
main.o: /usr/include/stdint.h /usr/include/bits/wchar.h
main.o: /usr/include/sys/socket.h /usr/include/sys/uio.h
main.o: /usr/include/sys/types.h /usr/include/bits/types.h
main.o: /usr/include/bits/typesizes.h /usr/include/time.h
main.o: /usr/include/endian.h /usr/include/bits/endian.h
main.o: /usr/include/sys/select.h /usr/include/bits/select.h
main.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
main.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
main.o: /usr/include/bits/uio.h /usr/include/bits/socket.h
main.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
main.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
main.o: /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h
main.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
main.o: /usr/include/bits/in.h /usr/include/bits/byteswap.h
main.o: /usr/include/boost/scoped_ptr.hpp /usr/include/boost/assert.hpp
main.o: /usr/include/assert.h /usr/include/boost/checked_delete.hpp
main.o: /usr/include/boost/detail/workaround.hpp rpc/rpcserver.h
main.o: /usr/include/boost/utility.hpp
main.o: /usr/include/boost/utility/addressof.hpp
main.o: /usr/include/boost/config.hpp /usr/include/boost/config/user.hpp
main.o: /usr/include/boost/config/select_compiler_config.hpp
main.o: /usr/include/boost/config/compiler/gcc.hpp
main.o: /usr/include/boost/config/select_stdlib_config.hpp
main.o: /usr/include/boost/config/select_platform_config.hpp
main.o: /usr/include/boost/config/posix_features.hpp /usr/include/unistd.h
main.o: /usr/include/bits/posix_opt.h /usr/include/bits/confname.h
main.o: /usr/include/getopt.h /usr/include/boost/config/suffix.hpp
main.o: /usr/include/boost/utility/base_from_member.hpp
main.o: /usr/include/boost/preprocessor/arithmetic/inc.hpp
main.o: /usr/include/boost/preprocessor/config/config.hpp
main.o: /usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
main.o: /usr/include/boost/preprocessor/cat.hpp
main.o: /usr/include/boost/preprocessor/punctuation/comma_if.hpp
main.o: /usr/include/boost/preprocessor/control/if.hpp
main.o: /usr/include/boost/preprocessor/control/iif.hpp
main.o: /usr/include/boost/preprocessor/logical/bool.hpp
main.o: /usr/include/boost/preprocessor/facilities/empty.hpp
main.o: /usr/include/boost/preprocessor/punctuation/comma.hpp
main.o: /usr/include/boost/preprocessor/repetition/repeat.hpp
main.o: /usr/include/boost/preprocessor/debug/error.hpp
main.o: /usr/include/boost/preprocessor/detail/auto_rec.hpp
main.o: /usr/include/boost/preprocessor/tuple/eat.hpp
main.o: /usr/include/boost/preprocessor/tuple/elem.hpp
main.o: /usr/include/boost/preprocessor/tuple/rem.hpp
main.o: /usr/include/boost/preprocessor/repetition/enum_params.hpp
main.o: /usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
main.o: /usr/include/boost/preprocessor/arithmetic/add.hpp
main.o: /usr/include/boost/preprocessor/arithmetic/dec.hpp
main.o: /usr/include/boost/preprocessor/control/while.hpp
main.o: /usr/include/boost/preprocessor/list/fold_left.hpp
main.o: /usr/include/boost/preprocessor/list/detail/fold_left.hpp
main.o: /usr/include/boost/preprocessor/control/expr_iif.hpp
main.o: /usr/include/boost/preprocessor/list/adt.hpp
main.o: /usr/include/boost/preprocessor/detail/is_binary.hpp
main.o: /usr/include/boost/preprocessor/detail/check.hpp
main.o: /usr/include/boost/preprocessor/logical/compl.hpp
main.o: /usr/include/boost/preprocessor/list/fold_right.hpp
main.o: /usr/include/boost/preprocessor/list/detail/fold_right.hpp
main.o: /usr/include/boost/preprocessor/list/reverse.hpp
main.o: /usr/include/boost/preprocessor/logical/bitand.hpp
main.o: /usr/include/boost/preprocessor/control/detail/while.hpp
main.o: /usr/include/boost/preprocessor/arithmetic/sub.hpp
main.o: /usr/include/boost/utility/enable_if.hpp
main.o: /usr/include/boost/config.hpp /usr/include/boost/next_prior.hpp
main.o: /usr/include/boost/noncopyable.hpp rpc/rpcclient.h storage/storage.h
main.o: interface/receptor.h /usr/include/boost/shared_array.hpp
main.o: /usr/include/boost/detail/shared_count.hpp
main.o: /usr/include/boost/throw_exception.hpp
main.o: /usr/include/boost/detail/bad_weak_ptr.hpp
main.o: /usr/include/boost/detail/sp_counted_base.hpp
main.o: /usr/include/boost/detail/sp_counted_base_gcc_x86.hpp
main.o: /usr/include/boost/detail/sp_counted_impl.hpp
main.o: /usr/include/boost/thread.hpp /usr/include/boost/thread/thread.hpp
main.o: /usr/include/boost/thread/detail/config.hpp
main.o: /usr/include/boost/config/requires_threads.hpp
main.o: /usr/include/boost/config/auto_link.hpp
main.o: /usr/include/boost/function.hpp
main.o: /usr/include/boost/preprocessor/iterate.hpp
main.o: /usr/include/boost/preprocessor/iteration/iterate.hpp
main.o: /usr/include/boost/preprocessor/array/elem.hpp
main.o: /usr/include/boost/preprocessor/array/data.hpp
main.o: /usr/include/boost/preprocessor/array/size.hpp
main.o: /usr/include/boost/preprocessor/slot/slot.hpp
main.o: /usr/include/boost/preprocessor/slot/detail/def.hpp
main.o: /usr/include/boost/function/detail/prologue.hpp
main.o: /usr/include/boost/function/function_base.hpp
main.o: /usr/include/boost/type_traits/is_integral.hpp
main.o: /usr/include/boost/type_traits/detail/bool_trait_def.hpp
main.o: /usr/include/boost/type_traits/detail/template_arity_spec.hpp
main.o: /usr/include/boost/mpl/int.hpp /usr/include/boost/mpl/int_fwd.hpp
main.o: /usr/include/boost/mpl/aux_/adl_barrier.hpp
main.o: /usr/include/boost/mpl/aux_/config/adl.hpp
main.o: /usr/include/boost/mpl/aux_/config/msvc.hpp
main.o: /usr/include/boost/mpl/aux_/config/intel.hpp
main.o: /usr/include/boost/mpl/aux_/config/gcc.hpp
main.o: /usr/include/boost/mpl/aux_/config/workaround.hpp
main.o: /usr/include/boost/mpl/aux_/nttp_decl.hpp
main.o: /usr/include/boost/mpl/aux_/config/nttp.hpp
main.o: /usr/include/boost/mpl/aux_/integral_wrapper.hpp
main.o: /usr/include/boost/mpl/integral_c_tag.hpp
main.o: /usr/include/boost/mpl/aux_/config/static_constant.hpp
main.o: /usr/include/boost/mpl/aux_/static_cast.hpp
main.o: /usr/include/boost/mpl/aux_/template_arity_fwd.hpp
main.o: /usr/include/boost/mpl/aux_/preprocessor/params.hpp
main.o: /usr/include/boost/mpl/aux_/config/preprocessor.hpp
main.o: /usr/include/boost/preprocessor/comma_if.hpp
main.o: /usr/include/boost/preprocessor/repeat.hpp
main.o: /usr/include/boost/preprocessor/inc.hpp
main.o: /usr/include/boost/mpl/aux_/config/lambda.hpp
main.o: /usr/include/boost/mpl/aux_/config/ttp.hpp
main.o: /usr/include/boost/mpl/aux_/config/ctps.hpp
main.o: /usr/include/boost/mpl/aux_/config/overload_resolution.hpp
main.o: /usr/include/boost/type_traits/integral_constant.hpp
main.o: /usr/include/boost/mpl/bool.hpp /usr/include/boost/mpl/bool_fwd.hpp
main.o: /usr/include/boost/mpl/integral_c.hpp
main.o: /usr/include/boost/mpl/integral_c_fwd.hpp
main.o: /usr/include/boost/mpl/aux_/lambda_support.hpp
main.o: /usr/include/boost/type_traits/detail/bool_trait_undef.hpp
main.o: /usr/include/boost/type_traits/composite_traits.hpp
main.o: /usr/include/boost/type_traits/is_array.hpp
main.o: /usr/include/boost/type_traits/config.hpp
main.o: /usr/include/boost/type_traits/is_enum.hpp
main.o: /usr/include/boost/type_traits/add_reference.hpp
main.o: /usr/include/boost/type_traits/is_reference.hpp
main.o: /usr/include/boost/type_traits/detail/type_trait_def.hpp
main.o: /usr/include/boost/type_traits/detail/type_trait_undef.hpp
main.o: /usr/include/boost/type_traits/is_arithmetic.hpp
main.o: /usr/include/boost/type_traits/is_float.hpp
main.o: /usr/include/boost/type_traits/detail/ice_or.hpp
main.o: /usr/include/boost/type_traits/is_convertible.hpp
main.o: /usr/include/boost/type_traits/detail/yes_no_type.hpp
main.o: /usr/include/boost/type_traits/ice.hpp
main.o: /usr/include/boost/type_traits/detail/ice_and.hpp
main.o: /usr/include/boost/type_traits/detail/ice_not.hpp
main.o: /usr/include/boost/type_traits/detail/ice_eq.hpp
main.o: /usr/include/boost/type_traits/is_abstract.hpp
main.o: /usr/include/boost/static_assert.hpp
main.o: /usr/include/boost/type_traits/is_class.hpp
main.o: /usr/include/boost/type_traits/is_union.hpp
main.o: /usr/include/boost/type_traits/remove_cv.hpp
main.o: /usr/include/boost/type_traits/broken_compiler_spec.hpp
main.o: /usr/include/boost/type_traits/detail/cv_traits_impl.hpp
main.o: /usr/include/boost/type_traits/intrinsics.hpp
main.o: /usr/include/boost/type_traits/is_function.hpp
main.o: /usr/include/boost/type_traits/detail/false_result.hpp
main.o: /usr/include/boost/type_traits/detail/is_function_ptr_helper.hpp
main.o: /usr/include/boost/type_traits/is_member_pointer.hpp
main.o: /usr/include/boost/type_traits/is_member_function_pointer.hpp
main.o: /usr/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
main.o: /usr/include/boost/type_traits/is_pointer.hpp
main.o: /usr/include/boost/type_traits/is_stateless.hpp
main.o: /usr/include/boost/type_traits/has_trivial_constructor.hpp
main.o: /usr/include/boost/type_traits/is_pod.hpp
main.o: /usr/include/boost/type_traits/is_void.hpp
main.o: /usr/include/boost/type_traits/is_scalar.hpp
main.o: /usr/include/boost/type_traits/has_trivial_copy.hpp
main.o: /usr/include/boost/type_traits/is_volatile.hpp
main.o: /usr/include/boost/type_traits/has_trivial_destructor.hpp
main.o: /usr/include/boost/type_traits/is_empty.hpp
main.o: /usr/include/boost/ref.hpp /usr/include/boost/pending/ct_if.hpp
main.o: /usr/include/boost/function_equal.hpp /usr/include/boost/mem_fn.hpp
main.o: /usr/include/boost/get_pointer.hpp
main.o: /usr/include/boost/bind/mem_fn_template.hpp
main.o: /usr/include/boost/bind/mem_fn_cc.hpp
main.o: /usr/include/boost/preprocessor/enum.hpp
main.o: /usr/include/boost/preprocessor/repetition/enum.hpp
main.o: /usr/include/boost/preprocessor/enum_params.hpp
main.o: /usr/include/boost/thread/mutex.hpp
main.o: /usr/include/boost/thread/detail/lock.hpp
main.o: /usr/include/boost/thread/exceptions.hpp /usr/include/pthread.h
main.o: /usr/include/sched.h /usr/include/bits/sched.h /usr/include/signal.h
main.o: /usr/include/bits/setjmp.h /usr/include/boost/thread/condition.hpp
main.o: /usr/include/boost/thread/once.hpp
main.o: /usr/include/boost/thread/recursive_mutex.hpp
main.o: /usr/include/boost/thread/tss.hpp /usr/include/boost/thread/xtime.hpp
main.o: /usr/include/boost/cstdint.hpp /usr/include/boost/scoped_array.hpp
main.o: stream/stream.h stream/autosock.h stream/finalizer.h
main.o: /usr/include/fcntl.h /usr/include/bits/fcntl.h
main.o: /usr/include/boost/bind.hpp /usr/include/boost/type.hpp
main.o: /usr/include/boost/bind/arg.hpp
main.o: /usr/include/boost/bind/bind_template.hpp
main.o: /usr/include/boost/bind/bind_cc.hpp
main.o: /usr/include/boost/bind/bind_mf_cc.hpp
main.o: /usr/include/boost/bind/placeholders.hpp
main.o: /usr/include/boost/shared_ptr.hpp vfield.h protocol.h
main.o: /usr/include/aio.h search/controller.h interface/interface.h
main.o: interface/nbd/if_nbd.h argparser.h
main.o: /usr/include/boost/lexical_cast.hpp /usr/include/boost/limits.hpp
main.o: /usr/include/boost/format.hpp
main.o: /usr/include/boost/format/detail/compat_workarounds.hpp
main.o: /usr/include/boost/format/detail/config_macros.hpp
main.o: /usr/include/boost/format/detail/workarounds_gcc-2_95.hpp
main.o: /usr/include/boost/format/detail/workarounds_stlport.hpp
main.o: /usr/include/boost/format/format_fwd.hpp
main.o: /usr/include/boost/format/internals_fwd.hpp
main.o: /usr/include/boost/format/internals.hpp
main.o: /usr/include/boost/optional.hpp
main.o: /usr/include/boost/optional/optional.hpp
main.o: /usr/include/boost/type_traits/alignment_of.hpp
main.o: /usr/include/boost/type_traits/detail/size_t_trait_def.hpp
main.o: /usr/include/boost/mpl/size_t.hpp
main.o: /usr/include/boost/mpl/size_t_fwd.hpp
main.o: /usr/include/boost/type_traits/detail/size_t_trait_undef.hpp
main.o: /usr/include/boost/type_traits/type_with_alignment.hpp
main.o: /usr/include/boost/mpl/if.hpp
main.o: /usr/include/boost/mpl/aux_/value_wknd.hpp
main.o: /usr/include/boost/mpl/aux_/config/integral.hpp
main.o: /usr/include/boost/mpl/aux_/config/eti.hpp
main.o: /usr/include/boost/mpl/aux_/na_spec.hpp
main.o: /usr/include/boost/mpl/lambda_fwd.hpp
main.o: /usr/include/boost/mpl/void_fwd.hpp
main.o: /usr/include/boost/mpl/aux_/na.hpp
main.o: /usr/include/boost/mpl/aux_/na_fwd.hpp
main.o: /usr/include/boost/mpl/aux_/lambda_arity_param.hpp
main.o: /usr/include/boost/mpl/aux_/arity.hpp
main.o: /usr/include/boost/mpl/aux_/config/dtp.hpp
main.o: /usr/include/boost/mpl/aux_/preprocessor/enum.hpp
main.o: /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp
main.o: /usr/include/boost/mpl/limits/arity.hpp
main.o: /usr/include/boost/preprocessor/logical/and.hpp
main.o: /usr/include/boost/preprocessor/identity.hpp
main.o: /usr/include/boost/preprocessor/facilities/identity.hpp
main.o: /usr/include/boost/preprocessor/empty.hpp
main.o: /usr/include/boost/preprocessor/list/for_each_i.hpp
main.o: /usr/include/boost/preprocessor/repetition/for.hpp
main.o: /usr/include/boost/preprocessor/repetition/detail/for.hpp
main.o: /usr/include/boost/preprocessor/tuple/to_list.hpp
main.o: /usr/include/boost/preprocessor/list/transform.hpp
main.o: /usr/include/boost/preprocessor/list/append.hpp
main.o: /usr/include/boost/type_traits/remove_reference.hpp
main.o: /usr/include/boost/mpl/not.hpp
main.o: /usr/include/boost/mpl/aux_/nested_type_wknd.hpp
main.o: /usr/include/boost/detail/reference_content.hpp
main.o: /usr/include/boost/type_traits/has_nothrow_copy.hpp
main.o: /usr/include/boost/mpl/void.hpp /usr/include/boost/none_t.hpp
main.o: /usr/include/boost/utility/compare_pointees.hpp
main.o: /usr/include/boost/format/alt_sstream.hpp
main.o: /usr/include/boost/format/alt_sstream_impl.hpp
main.o: /usr/include/boost/format/format_class.hpp
main.o: /usr/include/boost/format/exceptions.hpp
main.o: /usr/include/boost/format/format_implementation.hpp
main.o: /usr/include/boost/format/group.hpp
main.o: /usr/include/boost/format/feed_args.hpp
main.o: /usr/include/boost/format/detail/msvc_disambiguater.hpp
main.o: /usr/include/boost/format/parsing.hpp
main.o: /usr/include/boost/format/free_funcs.hpp
main.o: /usr/include/boost/format/detail/unset_macros.hpp
