build_dir=..
include ../Rules.mk

SRCS = interface.cc \

TESTS = test_nbd.cc \
	test_interface.cc


OBJS = $(subst .cc,.o,$(SRCS))

SUBDIRS = nbd


all: $(SUBDIRS) $(OBJS)


.PHONY: nbd
nbd:
	$(MAKE) -C nbd

test_nbd: test_nbd.o if_nbd.o ../cache/active_cache.o ../cache/limited_cache.o ../cache/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/nbd-server.o ../interface/nbd/tools.o ../rpc/rpcclient.o ../rpc/rpcserver.o ../search/ackmapper.o ../search/commander.o ../search/engine.o ../search/request_queue.o ../stream/stream.o ../vtable/vtable.o
	$(CXX) $(CFLAGS) $(CXXFLAGS) $^ $(LDFLAGS) -o $@

test_interface: test_interface.o interface.o ../storage/storage_root.o ../cache/receptor.o ../cache/active_cache.o ../common/bufferedreq.o ../common/asynclog.o ../common/log.o ../common/color.o
	$(CXX) $(CFLAGS) $(CXXFLAGS) $^ $(LDFLAGS) -o $@


depend: $(SRCS) $(TESTS)
	makedepend $^

clean:
	rm -f $(OBJS) $(subst .cc,.o,$(TESTS))
	for d in $(SUBDIRS);do $(MAKE) -C $$d clean; done

# DO NOT DELETE

interface.o: interface.h /usr/include/stdint.h /usr/include/features.h
interface.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
interface.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
interface.o: /usr/include/bits/wchar.h /usr/include/boost/scoped_ptr.hpp
interface.o: /usr/include/boost/assert.hpp /usr/include/assert.h
interface.o: /usr/include/boost/checked_delete.hpp
interface.o: /usr/include/boost/detail/workaround.hpp
interface.o: /usr/include/boost/utility.hpp
interface.o: /usr/include/boost/utility/addressof.hpp
interface.o: /usr/include/boost/config.hpp /usr/include/boost/config/user.hpp
interface.o: /usr/include/boost/config/select_compiler_config.hpp
interface.o: /usr/include/boost/config/compiler/gcc.hpp
interface.o: /usr/include/boost/config/select_stdlib_config.hpp
interface.o: /usr/include/boost/config/select_platform_config.hpp
interface.o: /usr/include/boost/config/posix_features.hpp
interface.o: /usr/include/unistd.h /usr/include/bits/posix_opt.h
interface.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
interface.o: /usr/include/bits/confname.h /usr/include/getopt.h
interface.o: /usr/include/boost/config/suffix.hpp /usr/include/limits.h
interface.o: /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h
interface.o: /usr/include/linux/limits.h /usr/include/bits/posix2_lim.h
interface.o: /usr/include/boost/utility/base_from_member.hpp
interface.o: /usr/include/boost/preprocessor/arithmetic/inc.hpp
interface.o: /usr/include/boost/preprocessor/config/config.hpp
interface.o: /usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
interface.o: /usr/include/boost/preprocessor/cat.hpp
interface.o: /usr/include/boost/preprocessor/punctuation/comma_if.hpp
interface.o: /usr/include/boost/preprocessor/control/if.hpp
interface.o: /usr/include/boost/preprocessor/control/iif.hpp
interface.o: /usr/include/boost/preprocessor/logical/bool.hpp
interface.o: /usr/include/boost/preprocessor/facilities/empty.hpp
interface.o: /usr/include/boost/preprocessor/punctuation/comma.hpp
interface.o: /usr/include/boost/preprocessor/repetition/repeat.hpp
interface.o: /usr/include/boost/preprocessor/debug/error.hpp
interface.o: /usr/include/boost/preprocessor/detail/auto_rec.hpp
interface.o: /usr/include/boost/preprocessor/tuple/eat.hpp
interface.o: /usr/include/boost/preprocessor/tuple/elem.hpp
interface.o: /usr/include/boost/preprocessor/tuple/rem.hpp
interface.o: /usr/include/boost/preprocessor/repetition/enum_params.hpp
interface.o: /usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
interface.o: /usr/include/boost/preprocessor/arithmetic/add.hpp
interface.o: /usr/include/boost/preprocessor/arithmetic/dec.hpp
interface.o: /usr/include/boost/preprocessor/control/while.hpp
interface.o: /usr/include/boost/preprocessor/list/fold_left.hpp
interface.o: /usr/include/boost/preprocessor/list/detail/fold_left.hpp
interface.o: /usr/include/boost/preprocessor/control/expr_iif.hpp
interface.o: /usr/include/boost/preprocessor/list/adt.hpp
interface.o: /usr/include/boost/preprocessor/detail/is_binary.hpp
interface.o: /usr/include/boost/preprocessor/detail/check.hpp
interface.o: /usr/include/boost/preprocessor/logical/compl.hpp
interface.o: /usr/include/boost/preprocessor/list/fold_right.hpp
interface.o: /usr/include/boost/preprocessor/list/detail/fold_right.hpp
interface.o: /usr/include/boost/preprocessor/list/reverse.hpp
interface.o: /usr/include/boost/preprocessor/logical/bitand.hpp
interface.o: /usr/include/boost/preprocessor/control/detail/while.hpp
interface.o: /usr/include/boost/preprocessor/arithmetic/sub.hpp
interface.o: /usr/include/boost/utility/enable_if.hpp
interface.o: /usr/include/boost/config.hpp /usr/include/boost/next_prior.hpp
interface.o: /usr/include/boost/noncopyable.hpp /usr/include/boost/bind.hpp
interface.o: /usr/include/boost/ref.hpp /usr/include/boost/mpl/bool.hpp
interface.o: /usr/include/boost/mpl/bool_fwd.hpp
interface.o: /usr/include/boost/mpl/aux_/adl_barrier.hpp
interface.o: /usr/include/boost/mpl/aux_/config/adl.hpp
interface.o: /usr/include/boost/mpl/aux_/config/msvc.hpp
interface.o: /usr/include/boost/mpl/aux_/config/intel.hpp
interface.o: /usr/include/boost/mpl/aux_/config/gcc.hpp
interface.o: /usr/include/boost/mpl/aux_/config/workaround.hpp
interface.o: /usr/include/boost/mpl/integral_c_tag.hpp
interface.o: /usr/include/boost/mpl/aux_/config/static_constant.hpp
interface.o: /usr/include/boost/mem_fn.hpp /usr/include/boost/get_pointer.hpp
interface.o: /usr/include/boost/bind/mem_fn_template.hpp
interface.o: /usr/include/boost/bind/mem_fn_cc.hpp
interface.o: /usr/include/boost/type.hpp /usr/include/boost/bind/arg.hpp
interface.o: /usr/include/boost/bind/bind_template.hpp
interface.o: /usr/include/boost/bind/bind_cc.hpp
interface.o: /usr/include/boost/bind/bind_mf_cc.hpp
interface.o: /usr/include/boost/bind/placeholders.hpp
test_nbd.o: interface.h /usr/include/stdint.h /usr/include/features.h
test_nbd.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
test_nbd.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
test_nbd.o: /usr/include/bits/wchar.h /usr/include/boost/scoped_ptr.hpp
test_nbd.o: /usr/include/boost/assert.hpp /usr/include/assert.h
test_nbd.o: /usr/include/boost/checked_delete.hpp
test_nbd.o: /usr/include/boost/detail/workaround.hpp
test_nbd.o: /usr/include/boost/utility.hpp
test_nbd.o: /usr/include/boost/utility/addressof.hpp
test_nbd.o: /usr/include/boost/config.hpp /usr/include/boost/config/user.hpp
test_nbd.o: /usr/include/boost/config/select_compiler_config.hpp
test_nbd.o: /usr/include/boost/config/compiler/gcc.hpp
test_nbd.o: /usr/include/boost/config/select_stdlib_config.hpp
test_nbd.o: /usr/include/boost/config/select_platform_config.hpp
test_nbd.o: /usr/include/boost/config/posix_features.hpp
test_nbd.o: /usr/include/unistd.h /usr/include/bits/posix_opt.h
test_nbd.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
test_nbd.o: /usr/include/bits/confname.h /usr/include/getopt.h
test_nbd.o: /usr/include/boost/config/suffix.hpp /usr/include/limits.h
test_nbd.o: /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h
test_nbd.o: /usr/include/linux/limits.h /usr/include/bits/posix2_lim.h
test_nbd.o: /usr/include/boost/utility/base_from_member.hpp
test_nbd.o: /usr/include/boost/preprocessor/arithmetic/inc.hpp
test_nbd.o: /usr/include/boost/preprocessor/config/config.hpp
test_nbd.o: /usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
test_nbd.o: /usr/include/boost/preprocessor/cat.hpp
test_nbd.o: /usr/include/boost/preprocessor/punctuation/comma_if.hpp
test_nbd.o: /usr/include/boost/preprocessor/control/if.hpp
test_nbd.o: /usr/include/boost/preprocessor/control/iif.hpp
test_nbd.o: /usr/include/boost/preprocessor/logical/bool.hpp
test_nbd.o: /usr/include/boost/preprocessor/facilities/empty.hpp
test_nbd.o: /usr/include/boost/preprocessor/punctuation/comma.hpp
test_nbd.o: /usr/include/boost/preprocessor/repetition/repeat.hpp
test_nbd.o: /usr/include/boost/preprocessor/debug/error.hpp
test_nbd.o: /usr/include/boost/preprocessor/detail/auto_rec.hpp
test_nbd.o: /usr/include/boost/preprocessor/tuple/eat.hpp
test_nbd.o: /usr/include/boost/preprocessor/tuple/elem.hpp
test_nbd.o: /usr/include/boost/preprocessor/tuple/rem.hpp
test_nbd.o: /usr/include/boost/preprocessor/repetition/enum_params.hpp
test_nbd.o: /usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
test_nbd.o: /usr/include/boost/preprocessor/arithmetic/add.hpp
test_nbd.o: /usr/include/boost/preprocessor/arithmetic/dec.hpp
test_nbd.o: /usr/include/boost/preprocessor/control/while.hpp
test_nbd.o: /usr/include/boost/preprocessor/list/fold_left.hpp
test_nbd.o: /usr/include/boost/preprocessor/list/detail/fold_left.hpp
test_nbd.o: /usr/include/boost/preprocessor/control/expr_iif.hpp
test_nbd.o: /usr/include/boost/preprocessor/list/adt.hpp
test_nbd.o: /usr/include/boost/preprocessor/detail/is_binary.hpp
test_nbd.o: /usr/include/boost/preprocessor/detail/check.hpp
test_nbd.o: /usr/include/boost/preprocessor/logical/compl.hpp
test_nbd.o: /usr/include/boost/preprocessor/list/fold_right.hpp
test_nbd.o: /usr/include/boost/preprocessor/list/detail/fold_right.hpp
test_nbd.o: /usr/include/boost/preprocessor/list/reverse.hpp
test_nbd.o: /usr/include/boost/preprocessor/logical/bitand.hpp
test_nbd.o: /usr/include/boost/preprocessor/control/detail/while.hpp
test_nbd.o: /usr/include/boost/preprocessor/arithmetic/sub.hpp
test_nbd.o: /usr/include/boost/utility/enable_if.hpp
test_nbd.o: /usr/include/boost/config.hpp /usr/include/boost/next_prior.hpp
test_nbd.o: /usr/include/boost/noncopyable.hpp
test_interface.o: interface.h /usr/include/stdint.h /usr/include/features.h
test_interface.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
test_interface.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h
test_interface.o: /usr/include/bits/wchar.h /usr/include/boost/scoped_ptr.hpp
test_interface.o: /usr/include/boost/assert.hpp /usr/include/assert.h
test_interface.o: /usr/include/boost/checked_delete.hpp
test_interface.o: /usr/include/boost/detail/workaround.hpp
test_interface.o: /usr/include/boost/utility.hpp
test_interface.o: /usr/include/boost/utility/addressof.hpp
test_interface.o: /usr/include/boost/config.hpp
test_interface.o: /usr/include/boost/config/user.hpp
test_interface.o: /usr/include/boost/config/select_compiler_config.hpp
test_interface.o: /usr/include/boost/config/compiler/gcc.hpp
test_interface.o: /usr/include/boost/config/select_stdlib_config.hpp
test_interface.o: /usr/include/boost/config/select_platform_config.hpp
test_interface.o: /usr/include/boost/config/posix_features.hpp
test_interface.o: /usr/include/unistd.h /usr/include/bits/posix_opt.h
test_interface.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
test_interface.o: /usr/include/bits/confname.h /usr/include/getopt.h
test_interface.o: /usr/include/boost/config/suffix.hpp /usr/include/limits.h
test_interface.o: /usr/include/bits/posix1_lim.h
test_interface.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
test_interface.o: /usr/include/bits/posix2_lim.h
test_interface.o: /usr/include/boost/utility/base_from_member.hpp
test_interface.o: /usr/include/boost/preprocessor/arithmetic/inc.hpp
test_interface.o: /usr/include/boost/preprocessor/config/config.hpp
test_interface.o: /usr/include/boost/preprocessor/repetition/enum_binary_params.hpp
test_interface.o: /usr/include/boost/preprocessor/cat.hpp
test_interface.o: /usr/include/boost/preprocessor/punctuation/comma_if.hpp
test_interface.o: /usr/include/boost/preprocessor/control/if.hpp
test_interface.o: /usr/include/boost/preprocessor/control/iif.hpp
test_interface.o: /usr/include/boost/preprocessor/logical/bool.hpp
test_interface.o: /usr/include/boost/preprocessor/facilities/empty.hpp
test_interface.o: /usr/include/boost/preprocessor/punctuation/comma.hpp
test_interface.o: /usr/include/boost/preprocessor/repetition/repeat.hpp
test_interface.o: /usr/include/boost/preprocessor/debug/error.hpp
test_interface.o: /usr/include/boost/preprocessor/detail/auto_rec.hpp
test_interface.o: /usr/include/boost/preprocessor/tuple/eat.hpp
test_interface.o: /usr/include/boost/preprocessor/tuple/elem.hpp
test_interface.o: /usr/include/boost/preprocessor/tuple/rem.hpp
test_interface.o: /usr/include/boost/preprocessor/repetition/enum_params.hpp
test_interface.o: /usr/include/boost/preprocessor/repetition/repeat_from_to.hpp
test_interface.o: /usr/include/boost/preprocessor/arithmetic/add.hpp
test_interface.o: /usr/include/boost/preprocessor/arithmetic/dec.hpp
test_interface.o: /usr/include/boost/preprocessor/control/while.hpp
test_interface.o: /usr/include/boost/preprocessor/list/fold_left.hpp
test_interface.o: /usr/include/boost/preprocessor/list/detail/fold_left.hpp
test_interface.o: /usr/include/boost/preprocessor/control/expr_iif.hpp
test_interface.o: /usr/include/boost/preprocessor/list/adt.hpp
test_interface.o: /usr/include/boost/preprocessor/detail/is_binary.hpp
test_interface.o: /usr/include/boost/preprocessor/detail/check.hpp
test_interface.o: /usr/include/boost/preprocessor/logical/compl.hpp
test_interface.o: /usr/include/boost/preprocessor/list/fold_right.hpp
test_interface.o: /usr/include/boost/preprocessor/list/detail/fold_right.hpp
test_interface.o: /usr/include/boost/preprocessor/list/reverse.hpp
test_interface.o: /usr/include/boost/preprocessor/logical/bitand.hpp
test_interface.o: /usr/include/boost/preprocessor/control/detail/while.hpp
test_interface.o: /usr/include/boost/preprocessor/arithmetic/sub.hpp
test_interface.o: /usr/include/boost/utility/enable_if.hpp
test_interface.o: /usr/include/boost/config.hpp
test_interface.o: /usr/include/boost/next_prior.hpp
test_interface.o: /usr/include/boost/noncopyable.hpp
