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