1 # Makefile snippet to generate l4defs.inc file
6 SYSTEMS = $(BUILD_ARCH)-$(BUILD_ABI)
8 OBJ_DIR = $(SRC_DIR)/build
11 L4DEF_FILE_MK ?= l4defs.mk.inc
12 L4DEF_FILE_SH ?= l4defs.sh.inc
14 do_output_all = echo '$(1) = $($(1))' >> $(L4DEF_FILE_MK); echo '$(1)="$($(1))"' >> $(L4DEF_FILE_SH)
15 do_output_mk = echo '$(1) = $($(1))' >> $(L4DEF_FILE_MK);
17 ifeq ($(CALLED_FOR),prog)
23 L4_SYSTEM = $(ARCH)_$(CPU)
24 L4_CRT0_STATIC = $(CRT0)
25 L4_CRTN_STATIC = $(CRTN)
26 L4_LDFLAGS_LD = $(filter-out -l%,$(BID_LDFLAGS_FOR_LINKING_LD))
27 L4_LDFLAGS_GCC = $(filter-out -l%,$(BID_LDFLAGS_FOR_LINKING_GCC))
28 L4_LDFLAGS_DYNAMIC_LINKER_LD = $(LDFLAGS_DYNAMIC_LINKER)
29 L4_LDFLAGS_DYNAMIC_LINKER_GCC= $(LDFLAGS_DYNAMIC_LINKER_GCC)
30 L4_LIBDIRS = $(addprefix -L,$(L4LIBDIR))
31 L4_LIBDIRS_R = $(addprefix -L,$(foreach i,$(L4LIBDIR),$(i)/r))
32 L4_CPPFLAGS = $(CPPFLAGS)
34 L4_CXXFLAGS = $(CXXFLAGS)
36 L4_GCCLIB_EH = $(GCCLIB_EH)
37 L4_LDS_stat_bin = $(LDS_stat_bin)
38 L4_BID_STACK_ADDR = $(L4_STACK_ADDR)
39 L4_BID_STACK_SIZE = $(L4_STACK_SIZE)
40 L4_BID_KIP_ADDR = $(L4_KIP_ADDR)
41 L4_BID_KIP_OFFS_SYS_INVOKE = $(L4_KIP_OFFS_SYS_INVOKE)
42 L4_BID_KIP_OFFS_SYS_DEBUGGER = $(L4_KIP_OFFS_SYS_DEBUGGER)
43 L4_BID_PKG_CONFIG = $(PKG_CONFIG)
44 L4_BID_PKG_CONFIG_CALL = $(value BID_PKG_CONFIG)
45 L4_BID_PKG_CONFIG_FAILED = $(value BID_PKG_CONFIG_FAILED)
48 @echo -e $(EMPHSTART)"Creating $(L4DEF_FILE_MK)"$(EMPHSTOP)
49 @echo "# Definitions for 'make' from L4 BID" > $(L4DEF_FILE_MK)
50 @echo "# vim:se ft=make:" >> $(L4DEF_FILE_MK)
51 @echo "# --- Automatically created, do not modify ---" >> $(L4DEF_FILE_MK)
53 @echo -e $(EMPHSTART)"Creating $(L4DEF_FILE_SH)"$(EMPHSTOP)
54 @echo "# Definitions for 'sh' from L4 BID" > $(L4DEF_FILE_SH)
55 @echo "# vim:se ft=sh:" >> $(L4DEF_FILE_SH)
56 @echo "# --- Automatically created, do not modify ---" >> $(L4DEF_FILE_SH)
57 @echo "" >> $(L4DEF_FILE_SH)
58 @echo "l4_bid_call_pkgconfig()" >> $(L4DEF_FILE_SH)
59 @echo "{" >> $(L4DEF_FILE_SH)
60 @echo " obj_base=\$$1; shift; " >> $(L4DEF_FILE_SH)
61 @echo " PKG_CONFIG_LIBDIR=\$$obj_base/pc \$$L4_BID_PKG_CONFIG \\" >> $(L4DEF_FILE_SH)
62 @echo " --define-variable=incdir=\$$obj_base/include/contrib \\" >> $(L4DEF_FILE_SH)
63 @echo " \"\$$@\"" >> $(L4DEF_FILE_SH)
64 @echo "}" >> $(L4DEF_FILE_SH)
65 @echo "" >> $(L4DEF_FILE_SH)
67 @$(call do_output_all,L4_SYSTEM)
68 @$(call do_output_all,L4_CRT0_STATIC)
69 @$(call do_output_all,L4_CRTN_STATIC)
70 @$(call do_output_all,L4_LDFLAGS_LD)
71 @$(call do_output_all,L4_LDFLAGS_GCC)
72 @$(call do_output_all,L4_LDFLAGS_DYNAMIC_LINKER_LD)
73 @$(call do_output_all,L4_LDFLAGS_DYNAMIC_LINKER_GCC)
74 @$(call do_output_all,L4_LIBDIRS_R)
75 @$(call do_output_all,L4_LIBDIRS)
76 @$(call do_output_all,L4_CPPFLAGS)
77 @$(call do_output_all,L4_CFLAGS)
78 @$(call do_output_all,L4_CXXFLAGS)
79 @$(call do_output_all,L4_GCCLIB)
80 @$(call do_output_all,L4_GCCLIB_EH)
81 @$(call do_output_all,L4_LDS_stat_bin)
82 @$(call do_output_all,L4_BID_STACK_ADDR)
83 @$(call do_output_all,L4_BID_KIP_ADDR)
84 @$(call do_output_all,L4_BID_KIP_OFFS_SYS_INVOKE)
85 @$(call do_output_all,L4_BID_KIP_OFFS_SYS_DEBUGGER)
86 @$(call do_output_all,L4_BID_PKG_CONFIG)
87 @$(call do_output_mk,L4_BID_PKG_CONFIG_CALL)
88 @$(call do_output_mk,L4_BID_PKG_CONFIG_FAILED)
93 include $(L4DIR)/mk/prog.mk
95 endif # called for prog
98 ifeq ($(CALLED_FOR),lib)
102 L4_LDFLAGS_LD_DYN = $(BID_LDFLAGS_FOR_LINKING_DYN_LD)
103 L4_LDFLAGS_GCC_DYN = $(BID_LDFLAGS_FOR_LINKING_DYN_GCC)
104 L4_CRT0_DYN = $(CRT0_all_lib)
105 L4_CRTN_DYN = $(CRTN_all_lib)
106 L4_LDS_so = $(LDS_so)
107 L4_LDS_dyn_bin = $(LDS_dyn_bin)
110 @$(call do_output_all,L4_LDFLAGS_LD_DYN)
111 @$(call do_output_all,L4_LDFLAGS_GCC_DYN)
112 @$(call do_output_all,L4_CRT0_DYN)
113 @$(call do_output_all,L4_CRTN_DYN)
114 @$(call do_output_all,L4_LDS_so)
115 @$(call do_output_all,L4_LDS_dyn_bin)
121 include $(L4DIR)/mk/lib.mk
123 endif # called for lib