blob: a78409f6028cf2e945d5562b6657a98c9db23408 [file] [log] [blame]
Thorsten Glaserc2dc5de2013-02-18 23:02:51 +00001# Copyright © 2010, 2013
Elliott Hughes56b517d2014-10-06 11:30:44 -07002# Thorsten Glaser <t.glaser@tarent.de>
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -07003# This file is provided under the same terms as mksh.
4
Elliott Hughes56b517d2014-10-06 11:30:44 -07005LOCAL_PATH := $(call my-dir)
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -07006
7
8# /system/etc/mkshrc
9
10include $(CLEAR_VARS)
11
Elliott Hughes56b517d2014-10-06 11:30:44 -070012LOCAL_MODULE := mkshrc
13LOCAL_MODULE_CLASS := ETC
14LOCAL_MODULE_PATH := $(TARGET_OUT)/etc
15LOCAL_SRC_FILES := $(LOCAL_MODULE)
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -070016include $(BUILD_PREBUILT)
17
18
Elliott Hughes301fc812013-11-05 11:12:04 -080019# /system/bin/sh
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -070020
21include $(CLEAR_VARS)
22
Elliott Hughes737fdce2014-08-07 12:59:26 -070023LOCAL_MODULE := sh
24LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -070025
26# mksh source files
Elliott Hughes56b517d2014-10-06 11:30:44 -070027LOCAL_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
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -070032
Elliott Hughes56b517d2014-10-06 11:30:44 -070033LOCAL_SYSTEM_SHARED_LIBRARIES := libc
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -070034
Elliott Hughes56b517d2014-10-06 11:30:44 -070035LOCAL_C_INCLUDES := $(LOCAL_PATH)/src
Thorsten Glaserc2dc5de2013-02-18 23:02:51 +000036
Elliott Hughes56b517d2014-10-06 11:30:44 -070037# Additional flags first...
38LOCAL_CFLAGS += \
39 -DMKSHRC_PATH=\"/system/etc/mkshrc\" \
40 -DMKSH_DEFAULT_EXECSHELL=\"/system/bin/sh\" \
41 -DMKSH_DEFAULT_TMPDIR=\"/data/local\" \
42
43# ...then from Makefrag.inc: CFLAGS...
44LOCAL_CFLAGS += \
45 -Wno-deprecated-declarations \
46 -fno-asynchronous-unwind-tables \
47 -fno-strict-aliasing \
Elliott Hughesa64e43f2015-03-11 10:27:23 -070048 -fstack-protector -fwrapv \
Elliott Hughes56b517d2014-10-06 11:30:44 -070049
50# ...and CPPFLAGS.
51LOCAL_CFLAGS += \
52 -DDEBUG_LEAKS -DMKSH_ASSUME_UTF8 -DMKSH_CONSERVATIVE_FDS \
53 -DMKSH_DONT_EMIT_IDSTRING -DMKSH_NOPWNAM -DMKSH_BUILDSH \
54 -D_GNU_SOURCE -DSETUID_CAN_FAIL_WITH_EAGAIN \
55 -DHAVE_ATTRIBUTE_BOUNDED=0 -DHAVE_ATTRIBUTE_FORMAT=1 \
56 -DHAVE_ATTRIBUTE_NORETURN=1 \
57 -DHAVE_ATTRIBUTE_PURE=1 \
58 -DHAVE_ATTRIBUTE_UNUSED=1 \
59 -DHAVE_ATTRIBUTE_USED=1 -DHAVE_SYS_TIME_H=1 -DHAVE_TIME_H=1 \
60 -DHAVE_BOTH_TIME_H=1 -DHAVE_SYS_BSDTYPES_H=0 \
61 -DHAVE_SYS_FILE_H=1 -DHAVE_SYS_MKDEV_H=0 -DHAVE_SYS_MMAN_H=1 \
62 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_RESOURCE_H=1 \
63 -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_SYSMACROS_H=1 \
64 -DHAVE_BSTRING_H=0 -DHAVE_GRP_H=1 -DHAVE_LIBGEN_H=1 \
65 -DHAVE_LIBUTIL_H=0 -DHAVE_PATHS_H=1 -DHAVE_STDINT_H=1 \
66 -DHAVE_STRINGS_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_ULIMIT_H=0 \
67 -DHAVE_VALUES_H=0 -DHAVE_CAN_INTTYPES=1 -DHAVE_CAN_UCBINTS=1 \
68 -DHAVE_CAN_INT8TYPE=1 -DHAVE_CAN_UCBINT8=1 -DHAVE_RLIM_T=1 \
69 -DHAVE_SIG_T=1 -DHAVE_SYS_ERRLIST=0 -DHAVE_SYS_SIGNAME=1 \
70 -DHAVE_SYS_SIGLIST=1 -DHAVE_FLOCK=1 -DHAVE_LOCK_FCNTL=1 \
71 -DHAVE_GETRUSAGE=1 \
72 -DHAVE_GETSID=1 \
73 -DHAVE_GETTIMEOFDAY=1 \
74 -DHAVE_ISSETUGID=0 \
75 -DHAVE_KILLPG=1 \
76 -DHAVE_MEMMOVE=1 -DHAVE_MKNOD=0 -DHAVE_MMAP=1 -DHAVE_NICE=1 \
77 -DHAVE_REVOKE=0 -DHAVE_SETLOCALE_CTYPE=0 \
78 -DHAVE_LANGINFO_CODESET=0 -DHAVE_SELECT=1 -DHAVE_SETRESUGID=1 \
79 -DHAVE_SETGROUPS=1 -DHAVE_STRERROR=1 -DHAVE_STRSIGNAL=0 \
80 -DHAVE_STRLCPY=1 -DHAVE_FLOCK_DECL=1 -DHAVE_REVOKE_DECL=1 \
81 -DHAVE_SYS_ERRLIST_DECL=0 -DHAVE_SYS_SIGLIST_DECL=1 \
Elliott Hughesb27ce952015-04-21 13:39:18 -070082 -DHAVE_PERSISTENT_HISTORY=0 -DMKSH_BUILD_R=506
Jean-Baptiste Queru5155f1c2011-06-16 10:05:28 -070083
84include $(BUILD_EXECUTABLE)