| 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) |