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)