3 SDIR_ARD_CORE1 = $(ARDUINO_DIR)/hardware/arduino/avr/cores/arduino
4 SDIR_ARD_TIME = $(ARDUINO_DIR)/libraries/Time/Time
5 SDIR_ARD_BASE1 = $(BASE_DIR)/common/src/
6 SDIR_ARD_BASE2 = $(BASE_DIR)/samples/arduino/
7 SDIR_ARD_SPI = $(ARDUINO_DIR)/hardware/arduino/avr/libraries/SPI
8 SDIR_ARD_CALOGIC = $(BASE_DIR)/src/
9 SDIR_ARD_UTIL = $(BASE_DIR)/src/adapter_util/
11 ifeq ($(TRANSPORT),ETHERNET)
12 SDIR_ARD_ETH = $(ARDUINO_DIR)/libraries/Ethernet/src
13 SDIR_ARD_ETH_UTIL = $(ARDUINO_DIR)/libraries/Ethernet/src/utility
14 SDIR_ARD_ETH1 = $(BASE_DIR)/src/ethernet_adapter/arduino/:$(BASE_DIR)/src/ethernet_adapter/
15 SDIR_ARD_PLATFORM = $(SDIR_ARD_CORE1):$(SDIR_ARD_TIME):$(SDIR_ARD_BASE1):$(SDIR_ARD_BASE2):$(SDIR_ARD_SPI) \
16 $(SDIR_ARD_CALOGIC):$(SDIR_ARD_UTIL):$(SDIR_ARD_ETH):$(SDIR_ARD_ETH_UTIL):$(SDIR_ARD_ETH1)
17 else ifeq ($(TRANSPORT),WIFI)
18 SDIR_ARD_WIFI = $(ARDUINO_DIR)/libraries/WiFi/src
19 SDIR_ARD_WIFI_UTIL = $(ARDUINO_DIR)/libraries/WiFi/src/utility
20 SDIR_ARD_WIFI1 = $(BASE_DIR)/src/wifi_adapter/arduino/:$(BASE_DIR)/src/wifi_adapter/
21 SDIR_ARD_PLATFORM = $(SDIR_ARD_CORE1):$(SDIR_ARD_TIME):$(SDIR_ARD_BASE1):$(SDIR_ARD_BASE2):$(SDIR_ARD_SPI) \
22 $(SDIR_ARD_CALOGIC):$(SDIR_ARD_UTIL):$(SDIR_ARD_WIFI):$(SDIR_ARD_WIFI_UTIL):$(SDIR_ARD_WIFI1)
23 else ifeq ($(TRANSPORT),BLE)
24 SDIR_ARD_BLE = $(ARDUINO_DIR)/libraries/BLE
25 SDIR_ARD_RBL = $(ARDUINO_DIR)/libraries/RBL_nRF8001
26 SDIR_ARD_BLE1 = $(BASE_DIR)/src/bt_le_adapter/arduino/
27 SDIR_ARD_BLE2 = $(BASE_DIR)/src/bt_le_adapter/
28 SDIR_ARD_PLATFORM = $(SDIR_ARD_CORE1):$(SDIR_ARD_TIME):$(SDIR_ARD_BASE1):$(SDIR_ARD_BASE2):$(SDIR_ARD_SPI) \
29 $(SDIR_ARD_CALOGIC):$(SDIR_ARD_UTIL):$(SDIR_ARD_BLE):$(SDIR_ARD_RBL):$(SDIR_ARD_BLE1):$(SDIR_ARD_BLE2)
31 $(info *********error**********)
32 $(error Wrong value for TRANSPORT !!)
36 IDIR_ARD_CORE1 = $(ARDUINO_DIR)/hardware/arduino/avr/cores/arduino
37 IDIR_ARD_CORE2 = $(ARDUINO_DIR)/hardware/tools/avr/avr/include/
38 IDIR_ARD_CORE3 = $(ARDUINO_DIR)/hardware/arduino/avr/variants/mega
39 INCD_ARD_TIME = $(ARDUINO_DIR)/libraries/Time/Time
40 IDIR_ARD_SPI = $(ARDUINO_DIR)/hardware/arduino/avr/libraries/SPI
41 INCD_ARD_BASE1 = $(BASE_DIR)/inc/
42 INCD_ARD_BASE2 = $(BASE_DIR)/common/inc/
43 INCD_ARD_BASE3 = $(BASE_DIR)/api/
44 INCD_ARD_BASE4 = $(BASE_DIR)/lib/libcoap-4.1.1/
45 #ntohs and htons are defined in util.h in the below path
46 IDIR_ARD_ETH_UTIL = $(ARDUINO_DIR)/libraries/Ethernet/src/utility
48 ifeq ($(TRANSPORT),ETHERNET)
49 IDIR_ARD_ETH = $(ARDUINO_DIR)/libraries/Ethernet/src
50 IDIR_ARD_ETH1 = $(BASE_DIR)/src/ethernet_adapter/arduino/
51 INC_DIR_PLATFORM = -I$(IDIR_ARD_CORE1) -I$(IDIR_ARD_CORE2) -I$(IDIR_ARD_CORE3) \
52 -I$(INCD_ARD_TIME) -I$(IDIR_ARD_SPI) \
53 -I$(INCD_ARD_BASE1) -I$(INCD_ARD_BASE2) -I$(INCD_ARD_BASE3) \
54 -I$(INCD_ARD_BASE4) -I$(IDIR_ARD_ETH) -I$(IDIR_ARD_ETH_UTIL) \
56 else ifeq ($(TRANSPORT),WIFI)
57 IDIR_ARD_WIFI = $(ARDUINO_DIR)/libraries/WiFi/src
58 IDIR_ARD_WIFI_UTIL = $(ARDUINO_DIR)/libraries/WiFi/src/utility
59 INC_DIR_PLATFORM = -I$(IDIR_ARD_CORE1) -I$(IDIR_ARD_CORE2) -I$(IDIR_ARD_CORE3) \
60 -I$(INCD_ARD_TIME) -I$(IDIR_ARD_SPI) \
61 -I$(INCD_ARD_BASE1) -I$(INCD_ARD_BASE2) -I$(INCD_ARD_BASE3) \
62 -I$(INCD_ARD_BASE4) -I$(IDIR_ARD_ETH_UTIL) -I$(IDIR_ARD_WIFI) \
63 -I$(IDIR_ARD_WIFI_UTIL)
64 else ifeq ($(TRANSPORT),BLE)
65 IDIR_ARD_BLE = $(ARDUINO_DIR)/libraries/BLE
66 IDIR_ARD_RBL = $(ARDUINO_DIR)/libraries/RBL_nRF8001
67 INCD_ARD_BLE1 = $(BASE_DIR)/src/bt_le_adapter/arduino/
68 INC_DIR_PLATFORM = -I$(IDIR_ARD_CORE1) -I$(IDIR_ARD_CORE2) -I$(IDIR_ARD_CORE3) \
69 -I$(INCD_ARD_TIME) -I$(IDIR_ARD_SPI) \
70 -I$(INCD_ARD_BASE1) -I$(INCD_ARD_BASE2) -I$(INCD_ARD_BASE3) \
71 -I$(INCD_ARD_BASE4) -I$(IDIR_ARD_ETH_UTIL) -I$(IDIR_ARD_BLE) \
72 -I$(IDIR_ARD_RBL) -I$(INCD_ARD_BLE1)
74 $(info *********error**********)
75 $(error Wrong value for TRANSPORT !!)
78 #Compiler/Linker flags
79 CFLAGS_PLATFORM = -mmcu=atmega2560 -DF_CPU=16000000L -fno-exceptions -ffunction-sections -fdata-sections -MMD -DARDUINO=157 -DARDUINO_ARCH_AVR \
83 $(info ************ arduinoMEGA file*****************)
85 CCPLUS=$(ARDUINO_TOOLS_DIR)/avr-g++
86 CC=$(ARDUINO_TOOLS_DIR)/avr-gcc
87 AR=$(ARDUINO_TOOLS_DIR)/avr-ar
88 RANLIB=$(ARDUINO_TOOLS_DIR)/avr-ranlib
89 AVR_OBJCOPY=$(ARDUINO_TOOLS_DIR)/avr-objcopy
90 AVR_PROGRAMMER=$(ARDUINO_TOOLS_DIR)/avrdude
93 CORE_COBJ = hooks.c.o WInterrupts.c.o wiring.c.o wiring_digital.c.o wiring_analog.c.o wiring_shift.c.o wiring_pulse.c.o
94 CORE_CPPOBJ = CDC.cpp.o HardwareSerial.cpp.o HardwareSerial0.cpp.o HardwareSerial1.cpp.o HardwareSerial2.cpp.o HardwareSerial3.cpp.o IPAddress.cpp.o HID.cpp.o \
95 main.cpp.o new.cpp.o Print.cpp.o Stream.cpp.o Tone.cpp.o USBCore.cpp.o WMath.cpp.o WString.cpp.o
97 LOGGER_OBJ = logger.c.o oic_logger.c.o oic_console_logger.c.o oic_malloc.c.o oic_string.c.o uarraylist.c.o
98 UTIL_OBJ = caadapterutils.c.o camsgparser.c.o
99 CACOMMON_OBJ = caconnectivitymanager_singlethread.c.o cainterfacecontroller_singlethread.c.o camessagehandler_singlethread.c.o canetworkconfigurator_singlethread.c.o caprotocolmessage_singlethread.c.o \
100 caremotehandler.c.o caretransmission_singlethread.c.o
102 ifeq ($(TRANSPORT),ETHERNET)
103 ETH_CPPOBJ = Dhcp.o Dns.o Ethernet.o EthernetUdp.o EthernetClient.o
104 ETH_UTIL_CPPOBJ = socket.o w5100.o
105 INTERFACE_OBJ = caethernetadapterutils.cpp.o caethernetclient.cpp.o caethernetserver.cpp.o caethernetnwmonitor.cpp.o caethernetadapter_singlethread.c.o
106 PLATFORM_OBJS = $(CORE_COBJ) $(CORE_CPPOBJ) $(SPI_OBJ) $(LOGGER_OBJ) $(INTERFACE_OBJ) $(ETH_CPPOBJ) $(ETH_UTIL_CPPOBJ) $(UTIL_OBJ) $(CACOMMON_OBJ)
107 else ifeq ($(TRANSPORT),WIFI)
108 WIFI_CPPOBJ = WiFi.cpp.o WiFiClient.cpp.o WiFiServer.cpp.o WiFiUdp.cpp.o
109 WIFI_UTIL_CPPOBJ = server_drv.cpp.o spi_drv.cpp.o wifi_drv.cpp.o
110 INTERFACE_OBJ = cawificlient.cpp.o cawifiserver.cpp.o cawifinwmonitor.cpp.o cawifiadapter_singlethread.c.o
111 PLATFORM_OBJS = $(CORE_COBJ) $(CORE_CPPOBJ) $(SPI_OBJ) $(LOGGER_OBJ) $(INTERFACE_OBJ) $(WIFI_CPPOBJ) $(WIFI_UTIL_CPPOBJ) $(UTIL_OBJ) $(CACOMMON_OBJ)
112 else ifeq ($(TRANSPORT),BLE)
113 BLE_OBJ = aci_queue.cpp.o aci_setup.cpp.o acilib.cpp.o hal_aci_tl.cpp.o lib_aci.cpp.o
114 RBL_OBJ = RBL_nRF8001.cpp.o
115 INTERFACE_OBJ = caleadapter_singlethread.c.o cableserver.cpp.o cablenwmonitor.cpp.o
116 PLATFORM_OBJS = $(CORE_COBJ) $(CORE_CPPOBJ) $(SPI_OBJ) $(LOGGER_OBJ) $(INTERFACE_OBJ) $(BLE_OBJ) $(RBL_OBJ) $(UTIL_OBJ) $(CACOMMON_OBJ)
118 $(info *********error**********)
119 $(error Wrong value for TRANSPORT !!)