blob: 354563ae48bcdf065ec11f5e4fcf716b86febde3 [file] [log] [blame]
The Android Open Source Project46c012c2008-10-21 07:00:00 -07001# Copyright 2007 The Android Open Source Project
2#
3# Copies files into the directory structure described by a manifest
4
Joe Onorato54fba422010-06-10 18:34:55 -07005# This tool is prebuilt if we're doing an app-only build.
Ying Wangc7cf53e2014-03-07 15:55:14 -08006ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),)
Joe Onorato54fba422010-06-10 18:34:55 -07007
The Android Open Source Project46c012c2008-10-21 07:00:00 -07008LOCAL_PATH:= $(call my-dir)
Christopher Wiley3616d132015-09-01 11:07:48 -07009
10# Logic shared between aidl and its unittests
The Android Open Source Project46c012c2008-10-21 07:00:00 -070011include $(CLEAR_VARS)
Christopher Wiley3616d132015-09-01 11:07:48 -070012LOCAL_MODULE := libaidl-common
The Android Open Source Project46c012c2008-10-21 07:00:00 -070013
Christopher Wileye0146cf2015-08-24 15:06:58 -070014LOCAL_CLANG_CFLAGS := -Wall -Werror
15# Tragically, the code is riddled with unused parameters.
16LOCAL_CLANG_CFLAGS += -Wno-unused-parameter
17# yacc dumps a lot of code *just in case*.
18LOCAL_CLANG_CFLAGS += -Wno-unused-function
19LOCAL_CLANG_CFLAGS += -Wno-unneeded-internal-declaration
20# yacc is a tool from a more civilized age.
21LOCAL_CLANG_CFLAGS += -Wno-deprecated-register
22# yacc also has a habit of using char* over const char*.
23LOCAL_CLANG_CFLAGS += -Wno-writable-strings
24
The Android Open Source Project46c012c2008-10-21 07:00:00 -070025LOCAL_SRC_FILES := \
Christopher Wiley89e35862015-08-30 10:57:07 -070026 AST.cpp \
27 Type.cpp \
28 aidl.cpp \
29 aidl_language.cpp \
30 aidl_language_l.l \
31 aidl_language_y.y \
32 generate_java.cpp \
33 generate_java_binder.cpp \
34 generate_java_rpc.cpp \
Christopher Wiley89e35862015-08-30 10:57:07 -070035 options.cpp \
36 search_path.cpp \
The Android Open Source Project46c012c2008-10-21 07:00:00 -070037
Christopher Wiley3616d132015-09-01 11:07:48 -070038include $(BUILD_HOST_STATIC_LIBRARY)
The Android Open Source Project46c012c2008-10-21 07:00:00 -070039
Christopher Wiley3616d132015-09-01 11:07:48 -070040
41# aidl executable
42include $(CLEAR_VARS)
43LOCAL_MODULE := aidl
44
45LOCAL_MODULE_HOST_OS := darwin linux windows
46LOCAL_CFLAGS := -Wall -Werror
47LOCAL_SRC_FILES := main.cpp
48LOCAL_STATIC_LIBRARIES := libaidl-common
The Android Open Source Project46c012c2008-10-21 07:00:00 -070049include $(BUILD_HOST_EXECUTABLE)
50
Christopher Wiley3616d132015-09-01 11:07:48 -070051
Casey Dahlind8cc5092015-08-28 15:46:48 -070052# Unit tests
53include $(CLEAR_VARS)
54LOCAL_MODULE := aidl_unittests
Christopher Wiley3616d132015-09-01 11:07:48 -070055
56LOCAL_CFLAGS := -g -DUNIT_TEST -Wall -Werror
57LOCAL_SRC_FILES := \
58 options_unittest.cpp \
Christopher Wileyf321efd2015-09-01 12:39:25 -070059 test_main.cpp \
Christopher Wiley3616d132015-09-01 11:07:48 -070060 tests/test.cpp \
61
62LOCAL_STATIC_LIBRARIES := \
63 libaidl-common \
64 libgmock_host \
65 libgtest_host \
Christopher Wileyf321efd2015-09-01 12:39:25 -070066
Casey Dahlind8cc5092015-08-28 15:46:48 -070067LOCAL_LDLIBS := -lrt
68include $(BUILD_HOST_NATIVE_TEST)
69
Ying Wangc7cf53e2014-03-07 15:55:14 -080070endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK