aboutsummaryrefslogtreecommitdiff
path: root/shell/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'shell/Makefile.in')
-rw-r--r--shell/Makefile.in32
1 files changed, 19 insertions, 13 deletions
diff --git a/shell/Makefile.in b/shell/Makefile.in
index 94cf729a7..fcd93f345 100644
--- a/shell/Makefile.in
+++ b/shell/Makefile.in
@@ -4,24 +4,30 @@
#
# Licensed under the GPL v2, see the file LICENSE in this tarball.
-srcdir:=$(top_srcdir)/shell
-objdir:=$(top_builddir)/shell
+SHELL_AR:=shell.a
+ifndef $(SHELL_DIR)
+SHELL_DIR:=$(top_builddir)/shell/
+endif
+srcdir=$(top_srcdir)/shell
-SHELL-$(CONFIG_ASH) += ash.o
-SHELL-$(CONFIG_HUSH) += hush.o
-SHELL-$(CONFIG_LASH) += lash.o
-SHELL-$(CONFIG_MSH) += msh.o
-SHELL-$(CONFIG_FEATURE_COMMAND_EDITING) += cmdedit.o
+SHELLT-y:=
+SHELLT-$(CONFIG_ASH) += ash.o
+SHELLT-$(CONFIG_HUSH) += hush.o
+SHELLT-$(CONFIG_LASH) += lash.o
+SHELLT-$(CONFIG_MSH) += msh.o
+SHELLT-$(CONFIG_FEATURE_COMMAND_EDITING) += cmdedit.o
+ifneq ($(strip $(SHELLT-y)),)
+libraries-y+=$(SHELL_DIR)$(SHELL_AR)
+endif
-SHELLT_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(SHELL-y))
+SHELLT_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(SHELLT-y))
SHELLT_SRC-a:=$(wildcard $(srcdir)/*.c)
APPLET_SRC-y+=$(SHELLT_SRC-y)
APPLET_SRC-a+=$(SHELLT_SRC-a)
-shell_OBJ:= $(patsubst %,$(objdir)/%,$(SHELL-y))
-
-$(shell_OBJ): $(objdir)/%.o: $(srcdir)/%.c
-$(objdir)/shell.a: $(shell_OBJ)
-libraries-y:=$(libraries-y) $(objdir)/shell.a
+$(SHELL_DIR)$(SHELL_AR): $(patsubst %,$(SHELL_DIR)%, $(SHELLT-y))
+ $(do_ar)
+$(SHELL_DIR)%.o: $(srcdir)/%.c
+ $(compile.c)