2 ## This file is part of the coreboot project.
5 ## SPDX-License-Identifier: GPL-2.0-only
7 define libgnat-template
10 additional-dirs += $$(obj)/libgnat-$(1)/adainclude
11 additional-dirs += $$(obj)/libgnat-$(1)/adalib
13 ADAFLAGS_libgnat-$(1) := \
14 --RTS=$$(obj)/libgnat-$(1)/ \
18 $$(GCC_ADAFLAGS_$(1)) \
21 libgnat-$(1)-y += a-unccon.ads
22 libgnat-$(1)-y += ada.ads
23 libgnat-$(1)-y += g-souinf.ads
24 libgnat-$(1)-y += gnat.ads
25 libgnat-$(1)-y += i-c.adb
26 libgnat-$(1)-y += i-c.ads
27 libgnat-$(1)-y += interfac.ads
28 libgnat-$(1)-y += s-atacco.ads
29 libgnat-$(1)-y += s-imenne.adb
30 libgnat-$(1)-y += s-imenne.ads
31 libgnat-$(1)-y += s-maccod.ads
32 libgnat-$(1)-y += s-parame.ads
33 libgnat-$(1)-y += s-stoele.adb
34 libgnat-$(1)-y += s-stoele.ads
35 libgnat-$(1)-y += s-unstyp.ads
36 libgnat-$(1)-y += system.ads
38 # Copy bodies too for inlining
39 $$(obj)/libgnat-$(1)/libgnat.a: $$$$(libgnat-$(1)-objs)
40 cp $$(libgnat-$(1)-srcs) $$(libgnat-$(1)-extra-specs) \
41 $$(obj)/libgnat-$(1)/adainclude/
42 cp $$(libgnat-$(1)-alis) \
43 $$(obj)/libgnat-$(1)/adalib/
45 @printf " AR $$(subst $$(obj)/,,$$(@))\n"
46 $$(AR_libgnat-$(1)) cr $$@ $$^
51 $(foreach arch,$(standard-archs), \
52 $(eval $(call define_class,libgnat-$(arch),$(arch))))
54 $(foreach arch,$(standard-archs), \
55 $(eval $(call libgnat-template,$(arch))))
57 ifeq ($(CONFIG_RAMSTAGE_ADA),y)
58 ramstage-libs += $(obj)/libgnat-$(ARCH-ramstage-y)/libgnat.a