1dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_PATH:= $(call my-dir) 2dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS) 3dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 4dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_SRC_FILES:= \ 5dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project alias.c \ 6dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project arith.c \ 7dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project arith_lex.c \ 8dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project builtins.c \ 9dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project cd.c \ 10dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project error.c \ 11dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project eval.c \ 12dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project exec.c \ 13dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project expand.c \ 14dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project input.c \ 15dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project jobs.c \ 16dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project main.c \ 17dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project memalloc.c \ 18dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project miscbltin.c \ 19dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project mystring.c \ 20dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project nodes.c \ 21dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project options.c \ 22dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project parser.c \ 23dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project redir.c \ 24dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project show.c \ 25dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project syntax.c \ 26dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project trap.c \ 27dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project output.c \ 28dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project var.c \ 29dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project bltin/echo.c \ 30dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project init.c 31dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 32bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten GlaserLOCAL_MODULE:= ash 33bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten GlaserLOCAL_MODULE_TAGS:= shell_ash 34dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 357fe202f160ca1926bc0277e3c276ad7b3f9b9aebJack PalevichLOCAL_CFLAGS += -DSHELL -DWITH_LINENOISE 367fe202f160ca1926bc0277e3c276ad7b3f9b9aebJack Palevich 377fe202f160ca1926bc0277e3c276ad7b3f9b9aebJack PalevichLOCAL_STATIC_LIBRARIES := liblinenoise 387fe202f160ca1926bc0277e3c276ad7b3f9b9aebJack Palevich 397fe202f160ca1926bc0277e3c276ad7b3f9b9aebJack PalevichLOCAL_C_INCLUDES += system/core/liblinenoise 40dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 41dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectmake_ash_files: PRIVATE_SRC_FILES := $(SRC_FILES) 42dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectmake_ash_files: PRIVATE_CFLAGS := $(LOCAL_CFLAGS) 43dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectmake_ash_files: 44dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project p4 edit arith.c arith_lex.c arith.h builtins.h builtins.c 45dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project p4 edit init.c nodes.c nodes.h token.h 46dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project sh ./mktokens 47dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project bison -o arith.c arith.y 48dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project flex -o arith_lex.c arith_lex.l 49dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project perl -ne 'print if ( /^\#\s*define\s+ARITH/ );' < arith.c > arith.h 50dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project sh ./mkbuiltins shell.h builtins.def . -Wall -O2 51dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project sh ./mknodes.sh nodetypes nodes.c.pat . 52dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project sh ./mkinit.sh $(PRIVATE_SRC_FILES) 53dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project 54dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_EXECUTABLE) 55bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser 56bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser 57bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser# create /system/bin/sh symlink to $(TARGET_SHELL) 58bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser# not the optimal place for this, but a fitting one 59bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser 60bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten GlaserOUTSYSTEMBINSH := $(TARGET_OUT)/bin/sh 61bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten GlaserLOCAL_MODULE := systembinsh 62bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser$(OUTSYSTEMBINSH): | $(TARGET_SHELL) 63bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser$(OUTSYSTEMBINSH): LOCAL_MODULE := $(LOCAL_MODULE) 64bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser$(OUTSYSTEMBINSH): 65bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser @echo "Symlink: $@ -> $(TARGET_SHELL)" 66bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser @rm -rf $@ 67bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser $(hide) ln -sf $(TARGET_SHELL) $@ 68bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten Glaser 69bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten GlaserALL_DEFAULT_INSTALLED_MODULES += $(OUTSYSTEMBINSH) 70bdc36d641c2d557cc20b8cf044048f0a8c72e774Thorsten GlaserALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(OUTSYSTEMBINSH) 71