1 PKGDIR ?= ../.. 2 L4DIR ?= $(PKGDIR)/../../.. 3 4 TARGET = libexec.a libexec.so 5 PC_FILENAME = libexec 6 7 # Locations for interface input and generated output. 8 9 IDL_DIR = $(PKGDIR)/../libsystypes/idl 10 IDL_MK_DIR = $(L4DIR)/idl4re/mk 11 IDL_BUILD_DIR = . 12 IDL_EXPORT_DIR = $(OBJ_BASE)/include/contrib/$(CONTRIB_INCDIR)/exec 13 14 include $(IDL_MK_DIR)/idl.mk 15 16 # Required interfaces. 17 18 CLIENT_INTERFACES_CC = dataspace 19 20 SERVER_INTERFACES_CC = \ 21 opener pager_object parent_notification_object \ 22 parent_pager_object process_creator_context_object 23 24 # Generated and plain source files. 25 26 CLIENT_INTERFACES_SRC_CC = $(call interfaces_to_client_cc,$(CLIENT_INTERFACES_CC)) 27 28 SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC)) 29 30 # Normal source files. 31 32 PLAIN_SRC_CC = \ 33 common.cc elf.cc \ 34 external_pager.cc \ 35 internal_pager.cc \ 36 memory.cc memory_area.cc \ 37 pager.cc \ 38 process.cc process_creating.cc \ 39 process_creator_context_resource.cc \ 40 process_creator_resource.cc \ 41 process_monitor.cc \ 42 segment.cc stack.cc 43 44 # Normal definitions. 45 46 SRC_CC = \ 47 $(CLIENT_INTERFACES_SRC_CC) \ 48 $(SERVER_INTERFACES_SRC_CC) \ 49 $(PLAIN_SRC_CC) 50 51 REQUIRES_LIBS = l4re_c-util libmem libipc libstdc++ libsystypes libfsclient libfsserver libresource 52 53 PRIVATE_INCDIR = $(PKGDIR)/include/exec $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) 54 55 CONTRIB_INCDIR = libexec 56 57 include $(L4DIR)/mk/lib.mk 58 include $(IDL_MK_DIR)/interface_rules.mk 59 60 $(PLAIN_SRC_CC): $(CLIENT_INTERFACES_SRC_CC) $(SERVER_INTERFACES_SRC_CC)