• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright © 2010, 2013
2#    Thorsten Glaser <t.glaser@tarent.de>
3# This file is provided under the same terms as mksh.
4
5LOCAL_PATH := $(call my-dir)
6
7
8# /system/etc/mkshrc
9
10include $(CLEAR_VARS)
11
12LOCAL_MODULE := mkshrc
13LOCAL_MODULE_CLASS := ETC
14LOCAL_MODULE_PATH := $(TARGET_OUT)/etc
15LOCAL_SRC_FILES := $(LOCAL_MODULE)
16include $(BUILD_PREBUILT)
17
18
19# /system/bin/sh
20
21include $(CLEAR_VARS)
22
23LOCAL_MODULE := sh
24LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
25
26# mksh source files
27MKSH_SRC_FILES := \
28    src/lalloc.c src/edit.c src/eval.c src/exec.c \
29    src/expr.c src/funcs.c src/histrap.c src/jobs.c \
30    src/lex.c src/main.c src/misc.c src/shf.c \
31    src/syn.c src/tree.c src/var.c
32
33MKSH_INCLUDES := $(LOCAL_PATH)/src
34
35MKSH_CFLAGS += \
36    -Wno-deprecated-declarations \
37    -fno-asynchronous-unwind-tables \
38    -fno-strict-aliasing \
39    -fstack-protector -fwrapv \
40
41# ...and CPPFLAGS.
42MKSH_CFLAGS += \
43    -DDEBUG_LEAKS -DMKSH_ASSUME_UTF8 \
44    -DMKSH_DONT_EMIT_IDSTRING \
45    -DMKSH_BUILDSH \
46    -D_GNU_SOURCE -DSETUID_CAN_FAIL_WITH_EAGAIN \
47    -DHAVE_ATTRIBUTE_BOUNDED=0 -DHAVE_ATTRIBUTE_FORMAT=1 \
48    -DHAVE_ATTRIBUTE_NORETURN=1 \
49    -DHAVE_ATTRIBUTE_PURE=1 \
50    -DHAVE_ATTRIBUTE_UNUSED=1 \
51    -DHAVE_ATTRIBUTE_USED=1 -DHAVE_SYS_TIME_H=1 -DHAVE_TIME_H=1 \
52    -DHAVE_BOTH_TIME_H=1 -DHAVE_SYS_BSDTYPES_H=0 \
53    -DHAVE_SYS_FILE_H=1 -DHAVE_SYS_MKDEV_H=0 -DHAVE_SYS_MMAN_H=1 \
54    -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_RESOURCE_H=1 \
55    -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_SYSMACROS_H=1 \
56    -DHAVE_BSTRING_H=0 -DHAVE_GRP_H=1 -DHAVE_IO_H=0 -DHAVE_LIBGEN_H=1 \
57    -DHAVE_LIBUTIL_H=0 -DHAVE_PATHS_H=1 -DHAVE_STDINT_H=1 \
58    -DHAVE_STRINGS_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_ULIMIT_H=0 \
59    -DHAVE_VALUES_H=0 -DHAVE_CAN_INTTYPES=1 -DHAVE_CAN_UCBINTS=1 \
60    -DHAVE_CAN_INT8TYPE=1 -DHAVE_CAN_UCBINT8=1 -DHAVE_RLIM_T=1 \
61    -DHAVE_SIG_T=1 \
62    -DHAVE_STRING_POOLING=1 \
63    -DHAVE_SYS_ERRLIST=0 -DHAVE_SYS_SIGNAME=1 \
64    -DHAVE_SYS_SIGLIST=1 -DHAVE_FLOCK=1 -DHAVE_LOCK_FCNTL=1 \
65    -DHAVE_GETRUSAGE=1 \
66    -DHAVE_GETSID=1 \
67    -DHAVE_GETTIMEOFDAY=1 \
68    -DHAVE_ISSETUGID=0 \
69    -DHAVE_KILLPG=1 \
70    -DHAVE_MEMMOVE=1 -DHAVE_MKNOD=0 -DHAVE_MMAP=1 -DHAVE_NICE=1 \
71    -DHAVE_REVOKE=0 -DHAVE_SETLOCALE_CTYPE=0 \
72    -DHAVE_LANGINFO_CODESET=0 -DHAVE_SELECT=1 -DHAVE_SETRESUGID=1 \
73    -DHAVE_SETGROUPS=1 -DHAVE_STRERROR=1 -DHAVE_STRSIGNAL=0 \
74    -DHAVE_STRLCPY=1 -DHAVE_FLOCK_DECL=1 -DHAVE_REVOKE_DECL=1 \
75    -DHAVE_SYS_ERRLIST_DECL=0 -DHAVE_SYS_SIGLIST_DECL=1 \
76    -DHAVE_PERSISTENT_HISTORY=0 -DMKSH_BUILD_R=551
77
78LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
79
80LOCAL_SYSTEM_SHARED_LIBRARIES := libc
81
82LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
83
84# Additional flags first...
85LOCAL_CFLAGS += \
86    -DMKSH_DEFAULT_PROFILEDIR=\"/system/etc\" \
87    -DMKSHRC_PATH=\"/system/etc/mkshrc\" \
88    -DMKSH_DEFAULT_EXECSHELL=\"/system/bin/sh\" \
89    -DMKSH_DEFAULT_TMPDIR=\"/data/local\" \
90
91LOCAL_CFLAGS += $(MKSH_CFLAGS)
92
93include $(BUILD_EXECUTABLE)
94
95# /vendor/etc/mkshrc
96include $(CLEAR_VARS)
97
98LOCAL_MODULE := mkshrc_vendor
99LOCAL_MODULE_STEM := mkshrc
100LOCAL_MODULE_CLASS := ETC
101LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
102LOCAL_SRC_FILES := $(LOCAL_MODULE)
103include $(BUILD_PREBUILT)
104
105# /vendor/bin/sh
106include $(CLEAR_VARS)
107
108LOCAL_MODULE := sh_vendor
109LOCAL_MODULE_STEM := sh
110LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
111LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
112
113# mksh source files
114LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
115
116LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
117
118# Additional flags first...
119LOCAL_CFLAGS += \
120    -DMKSH_DEFAULT_PROFILEDIR=\"/vendor/etc\" \
121    -DMKSHRC_PATH=\"/vendor/etc/mkshrc\" \
122    -DMKSH_DEFAULT_EXECSHELL=\"/vendor/bin/sh\" \
123    -DMKSH_DEFPATH_OVERRIDE=\"/vendor/bin:/vendor/xbin\" \
124
125LOCAL_CFLAGS += $(MKSH_CFLAGS)
126
127include $(BUILD_EXECUTABLE)
128
129MKSH_SRC_FILES:=
130MKSH_CFLAGS:=
131MKSH_INCLUDES:=
132