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