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