OSDN Git Service

Merge "Use -Werror in external/mksh" am: 9da7e0f318 am: b6be55d35e am: 95c8f2abd7
[android-x86/external-mksh.git] / Android.mk
1 # Copyright © 2010, 2013
2 #    Thorsten Glaser <t.glaser@tarent.de>
3 # This file is provided under the same terms as mksh.
4
5 LOCAL_PATH := $(call my-dir)
6
7
8 # /system/etc/mkshrc
9
10 include $(CLEAR_VARS)
11
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)
17
18
19 # /system/bin/sh
20
21 include $(CLEAR_VARS)
22
23 LOCAL_MODULE := sh
24 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
25
26 # mksh source files
27 MKSH_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
33 MKSH_INCLUDES := $(LOCAL_PATH)/src
34
35 # Compiler flags...
36 MKSH_WARNING_CFLAGS := \
37     -Wall -Werror \
38     -Wno-deprecated-declarations \
39
40 MKSH_CFLAGS += \
41     $(MKSH_WARNING_CFLAGS) \
42     -fno-asynchronous-unwind-tables \
43     -fno-strict-aliasing \
44     -fstack-protector -fwrapv \
45
46 # ...various options we choose...
47 MKSH_CFLAGS += \
48     -DDEBUG_LEAKS \
49     -DMKSH_ASSUME_UTF8 \
50     -DMKSH_DONT_EMIT_IDSTRING \
51     -DKSH_VERSIONNAME_VENDOR_EXT=\"\ Android\" \
52
53 # ...and the defines from Build.sh.
54 MKSH_CFLAGS += \
55     -DMKSH_BUILDSH \
56     -D_GNU_SOURCE \
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 \
65     -DHAVE_SYS_TIME_H=1 \
66     -DHAVE_TIME_H=1 \
67     -DHAVE_BOTH_TIME_H=1 \
68     -DHAVE_SYS_BSDTYPES_H=0 \
69     -DHAVE_SYS_FILE_H=1 \
70     -DHAVE_SYS_MKDEV_H=0 \
71     -DHAVE_SYS_MMAN_H=1 \
72     -DHAVE_SYS_PARAM_H=1 \
73     -DHAVE_SYS_RESOURCE_H=1 \
74     -DHAVE_SYS_SELECT_H=1 \
75     -DHAVE_SYS_SYSMACROS_H=1 \
76     -DHAVE_BSTRING_H=0 \
77     -DHAVE_GRP_H=1 \
78     -DHAVE_IO_H=0 \
79     -DHAVE_LIBGEN_H=1 \
80     -DHAVE_LIBUTIL_H=0 \
81     -DHAVE_PATHS_H=1 \
82     -DHAVE_STDINT_H=1 \
83     -DHAVE_STRINGS_H=1 \
84     -DHAVE_TERMIOS_H=1 \
85     -DHAVE_ULIMIT_H=0 \
86     -DHAVE_VALUES_H=0 \
87     -DHAVE_CAN_INTTYPES=1 \
88     -DHAVE_CAN_UCBINTS=1 \
89     -DHAVE_CAN_INT8TYPE=1 \
90     -DHAVE_CAN_UCBINT8=1 \
91     -DHAVE_RLIM_T=1 \
92     -DHAVE_SIG_T=1 \
93     -DHAVE_SYS_ERRLIST=0 \
94     -DHAVE_SYS_SIGNAME=1 \
95     -DHAVE_SYS_SIGLIST=1 \
96     -DHAVE_FLOCK=1 \
97     -DHAVE_LOCK_FCNTL=1 \
98     -DHAVE_GETRUSAGE=1 \
99     -DHAVE_GETSID=1 \
100     -DHAVE_GETTIMEOFDAY=1 \
101     -DHAVE_KILLPG=1 \
102     -DHAVE_MEMMOVE=1 \
103     -DHAVE_MKNOD=0 \
104     -DHAVE_MMAP=1 \
105     -DHAVE_FTRUNCATE=1 \
106     -DHAVE_NICE=1 \
107     -DHAVE_REVOKE=0 \
108     -DHAVE_SETLOCALE_CTYPE=1 \
109     -DHAVE_LANGINFO_CODESET=1 \
110     -DHAVE_SELECT=1 \
111     -DHAVE_SETRESUGID=1 \
112     -DHAVE_SETGROUPS=1 \
113     -DHAVE_STRERROR=1 \
114     -DHAVE_STRSIGNAL=0 \
115     -DHAVE_STRLCPY=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 \
121     -DMKSH_BUILD_R=562 \
122
123 LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
124
125 LOCAL_SYSTEM_SHARED_LIBRARIES := libc
126
127 LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
128
129 # Additional flags first...
130 LOCAL_CFLAGS += \
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\" \
135
136 LOCAL_CFLAGS += $(MKSH_CFLAGS)
137
138 include $(BUILD_EXECUTABLE)
139
140 # /vendor/etc/mkshrc
141 include $(CLEAR_VARS)
142
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)
149
150 # /vendor/bin/sh
151 include $(CLEAR_VARS)
152
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)
158
159 # mksh source files
160 LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
161
162 LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
163
164 # Additional flags first...
165 LOCAL_CFLAGS += \
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\" \
170
171 LOCAL_CFLAGS += $(MKSH_CFLAGS)
172
173 include $(BUILD_EXECUTABLE)
174
175 MKSH_SRC_FILES:=
176 MKSH_CFLAGS:=
177 MKSH_WARNING_CFLAGS:=
178 MKSH_INCLUDES:=