#Source directories BASE_DIR = ../.. SDIR_ARD_CORE1 = $(ARDUINO_DIR)/hardware/arduino/avr/cores/arduino SDIR_ARD_TIME = $(ARDUINO_DIR)/libraries/Time/Time SDIR_ARD_BASE1 = $(BASE_DIR)/common/src/ SDIR_ARD_BASE2 = $(BASE_DIR)/samples/arduino/ SDIR_ARD_SPI = $(ARDUINO_DIR)/hardware/arduino/avr/libraries/SPI SDIR_ARD_CALOGIC = $(BASE_DIR)/src/ SDIR_ARD_UTIL = $(BASE_DIR)/src/adapter_util/ ifeq ($(TRANSPORT),ETHERNET) SDIR_ARD_ETH = $(ARDUINO_DIR)/libraries/Ethernet/src SDIR_ARD_ETH_UTIL = $(ARDUINO_DIR)/libraries/Ethernet/src/utility SDIR_ARD_ETH1 = $(BASE_DIR)/src/ethernet_adapter/arduino/:$(BASE_DIR)/src/ethernet_adapter/ SDIR_ARD_PLATFORM = $(SDIR_ARD_CORE1):$(SDIR_ARD_TIME):$(SDIR_ARD_BASE1):$(SDIR_ARD_BASE2):$(SDIR_ARD_SPI) \ $(SDIR_ARD_CALOGIC):$(SDIR_ARD_UTIL):$(SDIR_ARD_ETH):$(SDIR_ARD_ETH_UTIL):$(SDIR_ARD_ETH1) else ifeq ($(TRANSPORT),WIFI) SDIR_ARD_WIFI = $(ARDUINO_DIR)/libraries/WiFi/src SDIR_ARD_WIFI_UTIL = $(ARDUINO_DIR)/libraries/WiFi/src/utility SDIR_ARD_WIFI1 = $(BASE_DIR)/src/wifi_adapter/arduino/:$(BASE_DIR)/src/wifi_adapter/ SDIR_ARD_PLATFORM = $(SDIR_ARD_CORE1):$(SDIR_ARD_TIME):$(SDIR_ARD_BASE1):$(SDIR_ARD_BASE2):$(SDIR_ARD_SPI) \ $(SDIR_ARD_CALOGIC):$(SDIR_ARD_UTIL):$(SDIR_ARD_WIFI):$(SDIR_ARD_WIFI_UTIL):$(SDIR_ARD_WIFI1) else ifeq ($(TRANSPORT),BLE) SDIR_ARD_BLE = $(ARDUINO_DIR)/libraries/BLE SDIR_ARD_RBL = $(ARDUINO_DIR)/libraries/RBL_nRF8001 SDIR_ARD_BLE1 = $(BASE_DIR)/src/bt_le_adapter/arduino/ SDIR_ARD_BLE2 = $(BASE_DIR)/src/bt_le_adapter/ SDIR_ARD_PLATFORM = $(SDIR_ARD_CORE1):$(SDIR_ARD_TIME):$(SDIR_ARD_BASE1):$(SDIR_ARD_BASE2):$(SDIR_ARD_SPI) \ $(SDIR_ARD_CALOGIC):$(SDIR_ARD_UTIL):$(SDIR_ARD_BLE):$(SDIR_ARD_RBL):$(SDIR_ARD_BLE1):$(SDIR_ARD_BLE2) else $(info *********error**********) $(error Wrong value for TRANSPORT !!) endif #include directories IDIR_ARD_CORE1 = $(ARDUINO_DIR)/hardware/arduino/avr/cores/arduino IDIR_ARD_CORE2 = $(ARDUINO_DIR)/hardware/tools/avr/avr/include/ IDIR_ARD_CORE3 = $(ARDUINO_DIR)/hardware/arduino/avr/variants/mega INCD_ARD_TIME = $(ARDUINO_DIR)/libraries/Time/Time IDIR_ARD_SPI = $(ARDUINO_DIR)/hardware/arduino/avr/libraries/SPI INCD_ARD_BASE1 = $(BASE_DIR)/inc/ INCD_ARD_BASE2 = $(BASE_DIR)/common/inc/ INCD_ARD_BASE3 = $(BASE_DIR)/api/ INCD_ARD_BASE4 = $(BASE_DIR)/lib/libcoap-4.1.1/ #ntohs and htons are defined in util.h in the below path IDIR_ARD_ETH_UTIL = $(ARDUINO_DIR)/libraries/Ethernet/src/utility ifeq ($(TRANSPORT),ETHERNET) IDIR_ARD_ETH = $(ARDUINO_DIR)/libraries/Ethernet/src IDIR_ARD_ETH1 = $(BASE_DIR)/src/ethernet_adapter/arduino/ INC_DIR_PLATFORM = -I$(IDIR_ARD_CORE1) -I$(IDIR_ARD_CORE2) -I$(IDIR_ARD_CORE3) \ -I$(INCD_ARD_TIME) -I$(IDIR_ARD_SPI) \ -I$(INCD_ARD_BASE1) -I$(INCD_ARD_BASE2) -I$(INCD_ARD_BASE3) \ -I$(INCD_ARD_BASE4) -I$(IDIR_ARD_ETH) -I$(IDIR_ARD_ETH_UTIL) \ -I$(IDIR_ARD_ETH1) else ifeq ($(TRANSPORT),WIFI) IDIR_ARD_WIFI = $(ARDUINO_DIR)/libraries/WiFi/src IDIR_ARD_WIFI_UTIL = $(ARDUINO_DIR)/libraries/WiFi/src/utility INC_DIR_PLATFORM = -I$(IDIR_ARD_CORE1) -I$(IDIR_ARD_CORE2) -I$(IDIR_ARD_CORE3) \ -I$(INCD_ARD_TIME) -I$(IDIR_ARD_SPI) \ -I$(INCD_ARD_BASE1) -I$(INCD_ARD_BASE2) -I$(INCD_ARD_BASE3) \ -I$(INCD_ARD_BASE4) -I$(IDIR_ARD_ETH_UTIL) -I$(IDIR_ARD_WIFI) \ -I$(IDIR_ARD_WIFI_UTIL) else ifeq ($(TRANSPORT),BLE) IDIR_ARD_BLE = $(ARDUINO_DIR)/libraries/BLE IDIR_ARD_RBL = $(ARDUINO_DIR)/libraries/RBL_nRF8001 INCD_ARD_BLE1 = $(BASE_DIR)/src/bt_le_adapter/arduino/ INC_DIR_PLATFORM = -I$(IDIR_ARD_CORE1) -I$(IDIR_ARD_CORE2) -I$(IDIR_ARD_CORE3) \ -I$(INCD_ARD_TIME) -I$(IDIR_ARD_SPI) \ -I$(INCD_ARD_BASE1) -I$(INCD_ARD_BASE2) -I$(INCD_ARD_BASE3) \ -I$(INCD_ARD_BASE4) -I$(IDIR_ARD_ETH_UTIL) -I$(IDIR_ARD_BLE) \ -I$(IDIR_ARD_RBL) -I$(INCD_ARD_BLE1) else $(info *********error**********) $(error Wrong value for TRANSPORT !!) endif #Compiler/Linker flags CFLAGS_PLATFORM = -mmcu=atmega2560 -DF_CPU=16000000L -fno-exceptions -ffunction-sections -fdata-sections -MMD -DARDUINO=157 -DARDUINO_ARCH_AVR \ -DARDUINO_AVR_ADK #Compilers $(info ************ arduinoMEGA file*****************) CCPLUS=$(ARDUINO_TOOLS_DIR)/avr-g++ CC=$(ARDUINO_TOOLS_DIR)/avr-gcc AR=$(ARDUINO_TOOLS_DIR)/avr-ar RANLIB=$(ARDUINO_TOOLS_DIR)/avr-ranlib AVR_OBJCOPY=$(ARDUINO_TOOLS_DIR)/avr-objcopy AVR_PROGRAMMER=$(ARDUINO_TOOLS_DIR)/avrdude #Objects 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 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 \ main.cpp.o new.cpp.o Print.cpp.o Stream.cpp.o Tone.cpp.o USBCore.cpp.o WMath.cpp.o WString.cpp.o SPI_OBJ = SPI.cpp.o 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 UTIL_OBJ = caadapterutils.c.o CACOMMON_OBJ = caconnectivitymanager_singlethread.c.o cainterfacecontroller_singlethread.c.o camessagehandler_singlethread.c.o canetworkconfigurator_singlethread.c.o caprotocolmessage_singlethread.c.o \ caremotehandler.c.o caretransmission_singlethread.c.o ifeq ($(TRANSPORT),ETHERNET) ETH_CPPOBJ = Dhcp.o Dns.o Ethernet.o EthernetUdp.o EthernetClient.o ETH_UTIL_CPPOBJ = socket.o w5100.o INTERFACE_OBJ = caethernetadapterutils.cpp.o caethernetclient.cpp.o caethernetserver.cpp.o caethernetnwmonitor.cpp.o caethernetadapter_singlethread.c.o PLATFORM_OBJS = $(CORE_COBJ) $(CORE_CPPOBJ) $(SPI_OBJ) $(LOGGER_OBJ) $(INTERFACE_OBJ) $(ETH_CPPOBJ) $(ETH_UTIL_CPPOBJ) $(UTIL_OBJ) $(CACOMMON_OBJ) else ifeq ($(TRANSPORT),WIFI) WIFI_CPPOBJ = WiFi.cpp.o WiFiClient.cpp.o WiFiServer.cpp.o WiFiUdp.cpp.o WIFI_UTIL_CPPOBJ = server_drv.cpp.o spi_drv.cpp.o wifi_drv.cpp.o INTERFACE_OBJ = cawificlient.cpp.o cawifiserver.cpp.o cawifinwmonitor.cpp.o cawifiadapter_singlethread.c.o PLATFORM_OBJS = $(CORE_COBJ) $(CORE_CPPOBJ) $(SPI_OBJ) $(LOGGER_OBJ) $(INTERFACE_OBJ) $(WIFI_CPPOBJ) $(WIFI_UTIL_CPPOBJ) $(UTIL_OBJ) $(CACOMMON_OBJ) else ifeq ($(TRANSPORT),BLE) BLE_OBJ = aci_queue.cpp.o aci_setup.cpp.o acilib.cpp.o hal_aci_tl.cpp.o lib_aci.cpp.o RBL_OBJ = RBL_nRF8001.cpp.o INTERFACE_OBJ = caleadapter_singlethread.c.o cableserver.cpp.o cablenwmonitor.cpp.o PLATFORM_OBJS = $(CORE_COBJ) $(CORE_CPPOBJ) $(SPI_OBJ) $(LOGGER_OBJ) $(INTERFACE_OBJ) $(BLE_OBJ) $(RBL_OBJ) $(UTIL_OBJ) $(CACOMMON_OBJ) else $(info *********error**********) $(error Wrong value for TRANSPORT !!) endif