1 # Copyright © 2010, 2013
2 # Thorsten Glaser <t.glaser@tarent.de>
3 # This file is provided under the same terms as mksh.
5 LOCAL_PATH := $(call my-dir)
12 LOCAL_MODULE := mkshrc
13 LOCAL_MODULE_CLASS := ETC
14 LOCAL_MODULE_PATH := $(TARGET_OUT)/etc
15 LOCAL_SRC_FILES := $(LOCAL_MODULE)
16 include $(BUILD_PREBUILT)
24 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
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
33 MKSH_INCLUDES := $(LOCAL_PATH)/src
36 MKSH_WARNING_CFLAGS := \
38 -Wno-deprecated-declarations \
41 $(MKSH_WARNING_CFLAGS) \
42 -fno-asynchronous-unwind-tables \
43 -fno-strict-aliasing \
44 -fstack-protector -fwrapv \
46 # ...various options we choose...
50 -DMKSH_DONT_EMIT_IDSTRING \
51 -DKSH_VERSIONNAME_VENDOR_EXT=\"\ Android\" \
53 # ...and the defines from Build.sh.
57 -DSETUID_CAN_FAIL_WITH_EAGAIN \
58 -DHAVE_STRING_POOLING=1 \
59 -DHAVE_ATTRIBUTE_BOUNDED=1 \
60 -DHAVE_ATTRIBUTE_FORMAT=1 \
61 -DHAVE_ATTRIBUTE_NORETURN=1 \
62 -DHAVE_ATTRIBUTE_PURE=1 \
63 -DHAVE_ATTRIBUTE_UNUSED=1 \
64 -DHAVE_ATTRIBUTE_USED=1 \
67 -DHAVE_BOTH_TIME_H=1 \
68 -DHAVE_SYS_BSDTYPES_H=0 \
70 -DHAVE_SYS_MKDEV_H=0 \
72 -DHAVE_SYS_PARAM_H=1 \
73 -DHAVE_SYS_RESOURCE_H=1 \
74 -DHAVE_SYS_SELECT_H=1 \
75 -DHAVE_SYS_SYSMACROS_H=1 \
87 -DHAVE_CAN_INTTYPES=1 \
88 -DHAVE_CAN_UCBINTS=1 \
89 -DHAVE_CAN_INT8TYPE=1 \
90 -DHAVE_CAN_UCBINT8=1 \
93 -DHAVE_SYS_ERRLIST=0 \
94 -DHAVE_SYS_SIGNAME=1 \
95 -DHAVE_SYS_SIGLIST=1 \
100 -DHAVE_GETTIMEOFDAY=1 \
108 -DHAVE_SETLOCALE_CTYPE=1 \
109 -DHAVE_LANGINFO_CODESET=1 \
111 -DHAVE_SETRESUGID=1 \
116 -DHAVE_FLOCK_DECL=1 \
117 -DHAVE_REVOKE_DECL=1 \
118 -DHAVE_SYS_ERRLIST_DECL=0 \
119 -DHAVE_SYS_SIGLIST_DECL=1 \
120 -DHAVE_PERSISTENT_HISTORY=0 \
123 LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
125 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
127 LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
129 # Additional flags first...
131 -DMKSH_DEFAULT_PROFILEDIR=\"/system/etc\" \
132 -DMKSHRC_PATH=\"/system/etc/mkshrc\" \
133 -DMKSH_DEFAULT_EXECSHELL=\"/system/bin/sh\" \
134 -DMKSH_DEFAULT_TMPDIR=\"/data/local\" \
136 LOCAL_CFLAGS += $(MKSH_CFLAGS)
138 include $(BUILD_EXECUTABLE)
141 include $(CLEAR_VARS)
143 LOCAL_MODULE := mkshrc_vendor
144 LOCAL_MODULE_STEM := mkshrc
145 LOCAL_MODULE_CLASS := ETC
146 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
147 LOCAL_SRC_FILES := $(LOCAL_MODULE)
148 include $(BUILD_PREBUILT)
151 include $(CLEAR_VARS)
153 LOCAL_MODULE := sh_vendor
154 LOCAL_MODULE_STEM := sh
155 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
156 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
157 LOCAL_CFLAGS := $(MKSH_WARNING_CFLAGS)
160 LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
162 LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
164 # Additional flags first...
166 -DMKSH_DEFAULT_PROFILEDIR=\"/vendor/etc\" \
167 -DMKSHRC_PATH=\"/vendor/etc/mkshrc\" \
168 -DMKSH_DEFAULT_EXECSHELL=\"/vendor/bin/sh\" \
169 -DMKSH_DEFPATH_OVERRIDE=\"/vendor/bin:/vendor/xbin\" \
171 LOCAL_CFLAGS += $(MKSH_CFLAGS)
173 include $(BUILD_EXECUTABLE)
177 MKSH_WARNING_CFLAGS:=