71 lines
1.5 KiB
Makefile
71 lines
1.5 KiB
Makefile
LOCAL_PATH:= $(call my-dir)
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES:= \
|
|
alias.c \
|
|
arith.c \
|
|
arith_lex.c \
|
|
builtins.c \
|
|
cd.c \
|
|
error.c \
|
|
eval.c \
|
|
exec.c \
|
|
expand.c \
|
|
input.c \
|
|
jobs.c \
|
|
main.c \
|
|
memalloc.c \
|
|
miscbltin.c \
|
|
mystring.c \
|
|
nodes.c \
|
|
options.c \
|
|
parser.c \
|
|
redir.c \
|
|
show.c \
|
|
syntax.c \
|
|
trap.c \
|
|
output.c \
|
|
var.c \
|
|
bltin/echo.c \
|
|
init.c
|
|
|
|
LOCAL_MODULE:= ash
|
|
LOCAL_MODULE_TAGS:= shell_ash
|
|
|
|
LOCAL_CFLAGS += -DSHELL -DWITH_LINENOISE
|
|
|
|
LOCAL_STATIC_LIBRARIES := liblinenoise
|
|
|
|
LOCAL_C_INCLUDES += system/core/liblinenoise
|
|
|
|
make_ash_files: PRIVATE_SRC_FILES := $(SRC_FILES)
|
|
make_ash_files: PRIVATE_CFLAGS := $(LOCAL_CFLAGS)
|
|
make_ash_files:
|
|
p4 edit arith.c arith_lex.c arith.h builtins.h builtins.c
|
|
p4 edit init.c nodes.c nodes.h token.h
|
|
sh ./mktokens
|
|
bison -o arith.c arith.y
|
|
flex -o arith_lex.c arith_lex.l
|
|
perl -ne 'print if ( /^\#\s*define\s+ARITH/ );' < arith.c > arith.h
|
|
sh ./mkbuiltins shell.h builtins.def . -Wall -O2
|
|
sh ./mknodes.sh nodetypes nodes.c.pat .
|
|
sh ./mkinit.sh $(PRIVATE_SRC_FILES)
|
|
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
|
|
# create /system/bin/sh symlink to $(TARGET_SHELL)
|
|
# not the optimal place for this, but a fitting one
|
|
|
|
OUTSYSTEMBINSH := $(TARGET_OUT)/bin/sh
|
|
LOCAL_MODULE := systembinsh
|
|
$(OUTSYSTEMBINSH): | $(TARGET_SHELL)
|
|
$(OUTSYSTEMBINSH): LOCAL_MODULE := $(LOCAL_MODULE)
|
|
$(OUTSYSTEMBINSH):
|
|
@echo "Symlink: $@ -> $(TARGET_SHELL)"
|
|
@rm -rf $@
|
|
$(hide) ln -sf $(TARGET_SHELL) $@
|
|
|
|
ALL_DEFAULT_INSTALLED_MODULES += $(OUTSYSTEMBINSH)
|
|
ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(OUTSYSTEMBINSH)
|