1 PKGDIR ?= . 2 L4DIR ?= $(PKGDIR)/../.. 3 4 TARGET = \ 5 dstest_block_client dstest_host_client dstest_pipe_client dstest_test_client \ 6 dstest_block_server dstest_host_server dstest_pipe_server dstest_test_server 7 8 MODE = static 9 10 # Locations for interface input and generated output. 11 12 IDL_DIR = $(L4DIR)/pkg/libsystypes/idl 13 IDL_MK_DIR = $(L4DIR)/idl4re/mk 14 IDL_BUILD_DIR = . 15 IDL_EXPORT_DIR = . 16 17 include $(IDL_MK_DIR)/idl.mk 18 19 # Compound interfaces. 20 21 mapped_file_object_NAME = MappedFileObject 22 mapped_file_object_INTERFACES = dataspace file mapped_file 23 24 opener_context_object_NAME = OpenerContextObject 25 opener_context_object_INTERFACES = dataspace opener_context 26 27 pipe_object_NAME = PipeObject 28 pipe_object_INTERFACES = dataspace pipe 29 30 COMP_INTERFACES_CC = mapped_file_object opener_context_object pipe_object 31 32 # Individual interfaces. 33 34 CLIENT_INTERFACES_CC = dataspace file mapped_file opener opener_context pipe pipe_opener 35 36 SERVER_INTERFACES_CC = opener pipe_opener $(call common_interfaces,$(COMP_INTERFACES_CC)) 37 38 # Generated and plain source files. 39 40 CLIENT_INTERFACES_SRC_CC = $(call interfaces_to_client_cc,$(CLIENT_INTERFACES_CC)) 41 42 SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC) $(COMP_INTERFACES_CC)) 43 44 COMMON_SRC_CC = memory/memory_utils.cc 45 46 PLAIN_SRC_CC_dstest_block_client = tests/dstest_block_client.cc client/file.cc 47 48 PLAIN_SRC_CC_dstest_host_client = tests/dstest_host_client.cc client/file.cc 49 50 PLAIN_SRC_CC_dstest_pipe_client = tests/dstest_pipe_client.cc client/file.cc 51 52 PLAIN_SRC_CC_dstest_test_client = tests/dstest_test_client.cc client/file.cc 53 54 PLAIN_SRC_CC_common_server = \ 55 generic/accessor.cc generic/pager.cc \ 56 generic/resource_server.cc \ 57 mapping/access_map.cc mapping/flexpage.cc mapping/ipc.cc \ 58 memory/memory_incremental.cc mapping/page_mapper.cc \ 59 memory/memory_preallocated.cc memory/region.cc \ 60 pages/page_queue.cc pages/page_queue_partitioned.cc \ 61 pages/page_queue_shared.cc pages/pages.cc 62 63 PLAIN_SRC_CC_common_file_server = \ 64 files/file_pager.cc files/file_paging.cc \ 65 files/opener_resource.cc files/opener_context_resource.cc \ 66 generic/simple_pager.cc 67 68 PLAIN_SRC_CC_dstest_block_server = \ 69 $(PLAIN_SRC_CC_common_server) \ 70 $(PLAIN_SRC_CC_common_file_server) \ 71 files/block_file_accessor.cc files/block_file_opener.cc \ 72 files/host_file_accessor.cc files/host_file_opener.cc \ 73 servers/block_file_server.cc 74 75 PLAIN_SRC_CC_dstest_host_server = \ 76 $(PLAIN_SRC_CC_common_server) \ 77 $(PLAIN_SRC_CC_common_file_server) \ 78 files/host_file_accessor.cc files/host_file_opener.cc \ 79 servers/host_file_server.cc 80 81 PLAIN_SRC_CC_dstest_pipe_server = \ 82 $(PLAIN_SRC_CC_common_server) \ 83 pipes/pipe_opener_resource.cc pipes/pipe_pager.cc \ 84 pipes/pipe_accessor.cc pipes/pipe_paging.cc \ 85 servers/pipe_server.cc 86 87 PLAIN_SRC_CC_dstest_test_server = \ 88 $(PLAIN_SRC_CC_common_server) \ 89 $(PLAIN_SRC_CC_common_file_server) \ 90 files/test_file_accessor.cc files/test_file_opener.cc \ 91 servers/test_file_server.cc 92 93 # Normal definitions. 94 95 SRC_CC_dstest_block_client = \ 96 $(CLIENT_INTERFACES_SRC_CC) \ 97 $(PLAIN_SRC_CC_dstest_block_client) \ 98 $(COMMON_SRC_CC) 99 100 SRC_CC_dstest_host_client = \ 101 $(CLIENT_INTERFACES_SRC_CC) \ 102 $(PLAIN_SRC_CC_dstest_host_client) \ 103 $(COMMON_SRC_CC) 104 105 SRC_CC_dstest_pipe_client = \ 106 $(CLIENT_INTERFACES_SRC_CC) \ 107 $(PLAIN_SRC_CC_dstest_pipe_client) \ 108 $(COMMON_SRC_CC) 109 110 SRC_CC_dstest_test_client = \ 111 $(CLIENT_INTERFACES_SRC_CC) \ 112 $(PLAIN_SRC_CC_dstest_test_client) \ 113 $(COMMON_SRC_CC) 114 115 SRC_CC_dstest_block_server = \ 116 $(SERVER_INTERFACES_SRC_CC) \ 117 $(PLAIN_SRC_CC_dstest_block_server) \ 118 $(COMMON_SRC_CC) 119 120 SRC_CC_dstest_host_server = \ 121 $(SERVER_INTERFACES_SRC_CC) \ 122 $(PLAIN_SRC_CC_dstest_host_server) \ 123 $(COMMON_SRC_CC) 124 125 SRC_CC_dstest_pipe_server = \ 126 $(SERVER_INTERFACES_SRC_CC) \ 127 $(PLAIN_SRC_CC_dstest_pipe_server) \ 128 $(COMMON_SRC_CC) 129 130 SRC_CC_dstest_test_server = \ 131 $(SERVER_INTERFACES_SRC_CC) \ 132 $(PLAIN_SRC_CC_dstest_test_server) \ 133 $(COMMON_SRC_CC) 134 135 REQUIRES_LIBS = l4re_c-util libipc libstdc++ libsystypes 136 137 PRIVATE_INCDIR = $(PKGDIR) $(PKGDIR)/client \ 138 $(PKGDIR)/files $(PKGDIR)/generic \ 139 $(PKGDIR)/mapping $(PKGDIR)/memory \ 140 $(PKGDIR)/pages $(PKGDIR)/pipes \ 141 $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) 142 143 include $(L4DIR)/mk/prog.mk 144 include $(IDL_MK_DIR)/interface_rules.mk 145 146 $(PLAIN_SRC_CC_dstest_block_client): $(CLIENT_INTERFACES_SRC_CC) 147 148 $(PLAIN_SRC_CC_dstest_host_client): $(CLIENT_INTERFACES_SRC_CC) 149 150 $(PLAIN_SRC_CC_dstest_pipe_client): $(CLIENT_INTERFACES_SRC_CC) 151 152 $(PLAIN_SRC_CC_dstest_test_client): $(CLIENT_INTERFACES_SRC_CC) 153 154 $(PLAIN_SRC_CC_dstest_block_server): $(SERVER_INTERFACES_SRC_CC) 155 156 $(PLAIN_SRC_CC_dstest_host_server): $(SERVER_INTERFACES_SRC_CC) 157 158 $(PLAIN_SRC_CC_dstest_pipe_server): $(SERVER_INTERFACES_SRC_CC) 159 160 $(PLAIN_SRC_CC_dstest_test_server): $(SERVER_INTERFACES_SRC_CC)