Makefile changes req'd for a global build script. Also, global build
[platform/upstream/iotivity.git] / README
1 ******************************************************************
2
3  Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
4
5 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6
7  Licensed under the Apache License, Version 2.0 (the "License");
8  you may not use this file except in compliance with the License.
9  You may obtain a copy of the License at
10
11       http://www.apache.org/licenses/LICENSE-2.0
12
13  Unless required by applicable law or agreed to in writing, software
14  distributed under the License is distributed on an "AS IS" BASIS,
15  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  See the License for the specific language governing permissions and
17  limitations under the License.
18
19 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21 ===============================================================================
22 ==                      UB Stack & TB Stack                                  ==
23 ===============================================================================
24
25 The OIC-RESOURCE repository contains two SDKs with underlying code
26 (i.e. "stack"). The two SDKs are referred to as "UB SDK" (or "C++ SDK") and "TB
27 SDK" (or "C SDK"). The associated stacks are referred to as "UB Stack" (or "C++
28 Stack") and "TB Stack" (or "C Stack").  The UB Stack requires that the TB Stack
29 is built under it.
30
31 ===============================================================================
32
33 The UB Stack is intended ONLY for Linux Ubuntu 12.04 operating system.
34 To build UB Stack, please follow these requirements:
35 - GCC compiler version is 4.6.1
36 - Pre-install the "gnu-libc" libraries package.
37 - The OIC-UTILITIES repository must be a sibling directory to the OIC-RESOURCE
38   repository.
39
40 The TB Stack is intended ONLY for Linux Ubuntu 12.04, Arduino ATMega 2560 with
41 Arduino Framework 1.0.5, and Arduino Due with Arduino Framework 1.5.7.
42 Tip: Use Cutecom in Ubuntu 12.04 to view logs from Arduino ATMega 2560 and
43 Arduino Due.
44
45 To build TB Stack, please follow these requirements for Linux Ubuntu 12.04:
46 - GCC compiler version is 4.6.1
47 - Pre-install the "gnu-libc" libraries package.
48 - The OIC-UTILITIES repository must be a cousin directory to the OIC-RESOURCE
49   repository.
50 To build TB Stack, please follow these requirements for Arduino ATMega 2560:
51 - AVR-GCC compiler version is 4.5.3
52 - Unzip the Time Library from here to your Arduino Directory Structure:
53   http://playground.arduino.cc/code/time
54 - The OIC-UTILITIES repository must be a cousin directory to the OIC-RESOURCE
55   repository.
56 - Apply 2 patches from OIC-UTILITIES/tb/ to your Arduino Directory Structure.
57
58 At this time, build instructions have not been written for the Arduino ATMega
59 2560 with WiFi Shield, Arduino Due with Ethernet Shield, and Arduino Due with
60 WiFi Shield. These instructions will be included very soon (as the build
61 server(s) verifies and utilizes the new build script "buildScript.mk").
62
63 ===============================================================================
64
65 Instructions for Common Build Processes:
66
67 NOTE: 'GNU Make' is required to utilize the build script at location:
68 <oic-resource>/buildScript.mk.
69
70 - All Modules (TB Stack, TB Unit Tests, TB Examples, UB Stack, UB Examples) for
71 Linux & Arduino Mega 2560:
72
73         make -f buildScript.mk all
74
75 - All UB Stack Modules in Release & Debug (TB Stack, UB Stack, UB Examples) for
76 Linux:
77
78         make -f buildScript.mk linux_ub
79
80 - All Modules, without OCICUC, in Release & Debug (TB Stack, TB Unit Tests,
81 TB Examples, UB Stack, UB Examples) for linux:
82
83         make -f buildScript.mk linux
84
85 - All Modules, Including OCICUC, in Release & Debug (TB Stack, TB Unit Tests,
86 TB Examples, UB Stack, UB Examples, UB OCICUC) for linux:
87 (This will be what is used on the Build Server(s) to limit regression.)
88
89         make -f buildScript.mk all_dev
90
91 - All UB Stack Modules, Including OCICUC, in Release & Debug (TB Stack,
92 UB Stack, UB Examples, UB OCICUC) for linux:
93
94         make -f buildScript.mk linux_ub_dev
95
96 - All TB Stack Modules in Release & Debug (TB Stack, TB Unit Tests,
97 TB Examples) for Linux:
98
99         make -f buildScript.mk linux_tb
100
101 - All TB Stack Modules in Release & Debug (TB Stack, TB Unit Tests,
102 TB Examples) for Arduino ATMega 2560:
103
104         make -f buildScript.mk arduinomega
105
106 - Clean All:
107
108         make -f buildScript.mk clean
109