summaryrefslogtreecommitdiff
path: root/payloads/libpayload/Makefile.inc
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/Makefile.inc')
-rw-r--r--payloads/libpayload/Makefile.inc17
1 files changed, 15 insertions, 2 deletions
diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc
index 03862ca878..5a7d142b1b 100644
--- a/payloads/libpayload/Makefile.inc
+++ b/payloads/libpayload/Makefile.inc
@@ -39,7 +39,8 @@ real-target: lib
classes-$(CONFIG_PCI) += libpci
classes-$(CONFIG_LIBC) += libc
-classes-$(CONFIG_TINYCURSES) += libcurses
+classes-$(CONFIG_CURSES) += libcurses
+classes-$(CONFIG_PDCURSES) += libmenu libform libpanel
libraries := $(classes-y)
classes-y += head.o
@@ -50,7 +51,7 @@ head.o-S-deps = $(obj)/libpayload-config.h
subdirs-y := arch/$(ARCHDIR-y)
subdirs-y += crypto libc drivers libpci
-subdirs-$(CONFIG_TINYCURSES) += curses
+subdirs-$(CONFIG_CURSES) += curses
INCLUDES := -Iinclude -Iinclude/$(ARCHDIR-y) -I$(obj)
CFLAGS = $(INCLUDES) -O2 -pipe -g
@@ -64,6 +65,15 @@ $(obj)/libpayload-config.h: $(KCONFIG_AUTOHEADER)
library-targets = $(addsuffix .a,$(addprefix $(obj)/,$(libraries))) $(obj)/libpayload.a
lib: $$(library-targets) $(obj)/head.o
+extract_nth=$(word $(1), $(subst |, ,$(2)))
+
+#######################################################################
+# Add handler for special include files
+$(call add-special-class,includes)
+includes-handler= \
+ $(if $(wildcard $(1)$(call extract_nth,1,$(2))), \
+ $(eval includes += $(1)$(2)))
+
$(obj)/libpayload.a: $(foreach class,$(libraries),$$($(class)-objs))
printf " AR $(subst $(shell pwd)/,,$(@))\n"
$(AR) rc $@ $^
@@ -92,6 +102,9 @@ install: real-target
install -m 644 $$file $(DESTDIR)/libpayload/$$file; \
done
install -m 644 $(obj)/libpayload-config.h $(DESTDIR)/libpayload/include
+ $(foreach item,$(includes), \
+ install -m 755 -d $(DESTDIR)/libpayload/include/$(call extract_nth,2,$(item)); \
+ install -m 644 $(call extract_nth,1,$(item)) $(DESTDIR)/libpayload/include/$(call extract_nth,2,$(item)); )
printf " INSTALL $(DESTDIR)/libpayload/bin\n"
install -m 755 -d $(DESTDIR)/libpayload/bin
install -m 755 bin/lpgcc $(DESTDIR)/libpayload/bin