156afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# Copyright (C) 2014 The Android Open Source Project
256afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran#
356afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# Licensed under the Apache License, Version 2.0 (the "License");
456afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# you may not use this file except in compliance with the License.
556afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# You may obtain a copy of the License at
656afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran#
756afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran#      http://www.apache.org/licenses/LICENSE-2.0
856afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran#
956afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# Unless required by applicable law or agreed to in writing, software
1056afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# distributed under the License is distributed on an "AS IS" BASIS,
1156afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1256afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# See the License for the specific language governing permissions and
1356afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran# limitations under the License.
14d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
1556afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_PATH := $(call my-dir)
164a5f5ca3c9e07fc3e6feca2afde07f41a8a64f11JP Abgrall
1789faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
1889faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti### netd service AIDL interface.
1989faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
2056afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandraninclude $(CLEAR_VARS)
21d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
22e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo ColittiLOCAL_CFLAGS := -Wall -Werror
23e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo ColittiLOCAL_CLANG := true
24e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo ColittiLOCAL_MODULE := libnetdaidl
25e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo ColittiLOCAL_SHARED_LIBRARIES := \
26e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti        libbinder \
27e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti        libutils
289f9aae9102f62f5f96ccec670170ee1fb262ef09Robin LeeLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/binder
29e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo ColittiLOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder
309f9aae9102f62f5f96ccec670170ee1fb262ef09Robin LeeLOCAL_C_INCLUDES := $(LOCAL_PATH)/binder
319f9aae9102f62f5f96ccec670170ee1fb262ef09Robin LeeLOCAL_SRC_FILES := \
329f9aae9102f62f5f96ccec670170ee1fb262ef09Robin Lee        binder/android/net/INetd.aidl \
339f9aae9102f62f5f96ccec670170ee1fb262ef09Robin Lee        binder/android/net/UidRange.cpp
34e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti
35e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colittiinclude $(BUILD_SHARED_LIBRARY)
36e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti
3789faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
3889faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti### netd daemon.
3989faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
40e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colittiinclude $(CLEAR_VARS)
41e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti
42e55ec1b60b76172891572208fcfa7d96b131ac05Colin CrossLOCAL_C_INCLUDES := \
4356afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        $(call include-path-for, libhardware_legacy)/hardware_legacy \
4456afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        bionic/libc/dns/include \
4556afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        external/mdnsresponder/mDNSShared \
4656afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        system/netd/include \
47d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
4856afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_CLANG := true
4956afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_CPPFLAGS := -std=c++11 -Wall -Werror
5056afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_MODULE := netd
5131fd6c5f3e9c39a13b028718dba5921a4300988cDmitry Shmidt
52c149ef715933f8adeff33f32e323d9e96518332cTom CherryLOCAL_INIT_RC := netd.rc
53c149ef715933f8adeff33f32e323d9e96518332cTom Cherry
5456afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_SHARED_LIBRARIES := \
55e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti        libbinder \
5656afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        libcrypto \
5756afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        libcutils \
5856afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        libdl \
5956afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        libhardware_legacy \
6056afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        liblog \
6156afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        liblogwrap \
6256afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        libmdnssd \
63e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti        libnetdaidl \
6456afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        libnetutils \
65fbe497fcd808e4317572ad48c42545105309a347Jeff Sharkey        libnl \
6656afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        libsysutils \
675407e14fd3d81bb76f94221b4a359faa2806de65Dan Albert        libbase \
68d161406141619f84d94b2ecee618569cbbabcb30Elliott Hughes        libutils \
6956afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran
70fbe497fcd808e4317572ad48c42545105309a347Jeff SharkeyLOCAL_STATIC_LIBRARIES := \
71fbe497fcd808e4317572ad48c42545105309a347Jeff Sharkey        libpcap \
72fbe497fcd808e4317572ad48c42545105309a347Jeff Sharkey
7356afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_SRC_FILES := \
7456afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        BandwidthController.cpp \
7556afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        ClatdController.cpp \
7656afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        CommandListener.cpp \
771cfa54374f5ba63d69d6fcca767c4f6647cb6de2Pierre Imai        Controllers.cpp \
7856afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        DnsProxyListener.cpp \
793667936aadcabddc708797ac38ce1ffb2f992cb3Lorenzo Colitti        DummyNetwork.cpp \
802d3a163433c435ff053402ae8965f8602c7ac6daErik Kline        DumpWriter.cpp \
818ef9907bdbbeaae00be914c77f3425e2e31c2f28Michal Karpinski        EventReporter.cpp \
8256afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        FirewallController.cpp \
8356afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        FwmarkServer.cpp \
8456afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        IdletimerController.cpp \
8556afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        InterfaceController.cpp \
866a773534e7f8541f221f27fb8063af079b1a5936Sreeram Ramachandran        LocalNetwork.cpp \
8756afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        MDnsSdListener.cpp \
8856afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        NatController.cpp \
8956afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        NetdCommand.cpp \
9056afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        NetdConstants.cpp \
91e4d626ea35b7a402388b524e2feafc81e6387697Lorenzo Colitti        NetdNativeService.cpp \
9256afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        NetlinkHandler.cpp \
9356afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        NetlinkManager.cpp \
94f4f6c8de3f091be4b91a5a9d7f14e8882ec6d502Sreeram Ramachandran        Network.cpp \
9556afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        NetworkController.cpp \
96f4f6c8de3f091be4b91a5a9d7f14e8882ec6d502Sreeram Ramachandran        PhysicalNetwork.cpp \
9756afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        PppController.cpp \
9856afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        ResolverController.cpp \
9956afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        RouteController.cpp \
1008464e1ed13a30ca91ae44dd2e334f63de7ade0f3Lorenzo Colitti        SockDiag.cpp \
10156afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        SoftapController.cpp \
102fbe497fcd808e4317572ad48c42545105309a347Jeff Sharkey        StrictController.cpp \
10356afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        TetherController.cpp \
104b1425cc09f8a29350520db0d4f489331df5a689bSreeram Ramachandran        UidRanges.cpp \
1054043f01f8e25f24246efadc710ad7440aab75529Sreeram Ramachandran        VirtualNetwork.cpp \
10656afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        main.cpp \
10756afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram Ramachandran        oem_iptables_hook.cpp \
10801861793fcc00f67c19f0040939d2fb58561bb16Michal Karpinski        binder/android/net/metrics/INetdEventListener.aidl \
1096c97716e41d751cb0ebf49c93943923a356d3a96Lorenzo Colitti
1106c97716e41d751cb0ebf49c93943923a356d3a96Lorenzo ColittiLOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/binder
111d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
112d18304287dbabc7835be771400b85d4ae8b63de6San Mehatinclude $(BUILD_EXECUTABLE)
113d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
11489faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti
11589faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
11689faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti### ndc binary.
11789faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
118d18304287dbabc7835be771400b85d4ae8b63de6San Mehatinclude $(CLEAR_VARS)
119d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
12056afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_CFLAGS := -Wall -Werror
12156afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_CLANG := true
12256afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_MODULE := ndc
123d18304287dbabc7835be771400b85d4ae8b63de6San MehatLOCAL_SHARED_LIBRARIES := libcutils
12456afacf838d24cf8e54d2cf0d8ab9182ab704125Sreeram RamachandranLOCAL_SRC_FILES := ndc.c
125d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
126d18304287dbabc7835be771400b85d4ae8b63de6San Mehatinclude $(BUILD_EXECUTABLE)
12789faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti
12889faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
12989faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti### netd unit tests.
13089faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colitti###
13189faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colittiinclude $(CLEAR_VARS)
132b19fcc7c65e9715d85a40ac3c6c044a395e8b6fePierre ImaiLOCAL_MODULE := netd_unit_test
13389faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo ColittiLOCAL_CFLAGS := -Wall -Werror -Wunused-parameter
134bbeaf9a4d272eefb11748d7d40c6bd117ab468fbLorenzo ColittiLOCAL_C_INCLUDES := \
135bbeaf9a4d272eefb11748d7d40c6bd117ab468fbLorenzo Colitti        system/netd/include \
136bbeaf9a4d272eefb11748d7d40c6bd117ab468fbLorenzo Colitti        system/netd/server \
137bbeaf9a4d272eefb11748d7d40c6bd117ab468fbLorenzo Colitti        system/netd/server/binder \
138bbeaf9a4d272eefb11748d7d40c6bd117ab468fbLorenzo Colitti        system/core/logwrapper/include \
139bbeaf9a4d272eefb11748d7d40c6bd117ab468fbLorenzo Colitti
14086a4798264c9421cb02bc69836a323d918f73779Lorenzo ColittiLOCAL_SRC_FILES := \
1410f15055ba127da5c8bff3617f04ac6df0b4ee2f4Lorenzo Colitti        NetdConstants.cpp IptablesBaseTest.cpp \
14286a4798264c9421cb02bc69836a323d918f73779Lorenzo Colitti        BandwidthController.cpp BandwidthControllerTest.cpp \
14386a4798264c9421cb02bc69836a323d918f73779Lorenzo Colitti        FirewallControllerTest.cpp FirewallController.cpp \
1448e1cee9064af5b2e0d8095d5a6a05953616d7d4cLorenzo Colitti        NatControllerTest.cpp NatController.cpp \
1459028d91fd86a2d517c7ce163c1d88b41de961ba8Lorenzo Colitti        SockDiagTest.cpp SockDiag.cpp \
146fff4bd31ff2bad0acfd8f2439eccf7df70e9695fLorenzo Colitti        StrictController.cpp StrictControllerTest.cpp \
147fff4bd31ff2bad0acfd8f2439eccf7df70e9695fLorenzo Colitti        UidRanges.cpp \
148fff4bd31ff2bad0acfd8f2439eccf7df70e9695fLorenzo Colitti
14989faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo ColittiLOCAL_MODULE_TAGS := tests
150bbeaf9a4d272eefb11748d7d40c6bd117ab468fbLorenzo ColittiLOCAL_SHARED_LIBRARIES := liblog libbase libcutils liblogwrap libsysutils
15189faa349525ad1110b6fa3f2149e6ef825c65662Lorenzo Colittiinclude $(BUILD_NATIVE_TEST)
15277862190b093552da949e2506d99005f955dc432Lorenzo Colitti
153