Integrated IP adapter Singlethread and Multithread files
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / ip_adapter / SConscript
1 #######################################################
2 #       Build IP adapter
3 #######################################################
4
5 Import('env')
6 import os.path
7
8 print "Reading IP adapter script"
9
10 target_os = env.get('TARGET_OS')
11 inc_files = env.get('CPPPATH')
12 secured = env.get('SECURED')
13 src_dir = './ip_adapter/'
14
15
16 # Source files to build common for all platforms
17 common_files = None
18 if target_os == 'arduino':
19     common_files = [ os.path.join(src_dir,
20                                   'caipadapter.c') ]
21 else:
22     common_files = [
23         os.path.join(src_dir, 'caipadapter.c'),
24         os.path.join(src_dir, 'caipclient.c'),
25         os.path.join(src_dir, 'caipserver.c') ]
26
27 # Get list of target-specific source file base names, i.e. no parent
28 # directories prepended to the path.
29 #
30 # Target-specific SConscript files are expected to return that list.
31 target_files = []
32 target_sconscript = os.path.join(target_os, 'SConscript')
33
34 # Check for the existence of the platform-specific SConscript file
35 # relative to the top-level source directory, not the build (variant)
36 # directory, before calling that SConscript file to prevent a missing
37 # file warning platforms that don't provide one.
38 target_sconscript_abspath = str(File(target_sconscript).srcnode().abspath)
39 if os.path.exists(target_sconscript_abspath):
40         target_files = env.SConscript(target_sconscript, exports='src_dir')
41
42 # Now prepend the appropriate parent directories
43 # (e.g. ./ip_adapter/android) to each of the target source files in
44 # the list.
45 target_files = [ os.path.join(src_dir, target_os, f) for f in target_files ]
46
47 # Source files to build for Linux-like platforms
48 if target_os in ['linux','darwin','ios']:
49     target_files += [ os.path.join(src_dir,
50                                    'linux/caipnwmonitor.c') ]
51
52 # The list of BLE adapter source files is a combination of both the
53 # common and target-specific source file lists.
54 env.AppendUnique(CA_SRC = common_files + target_files)
55
56