[SSM] Apply changed OIC API
[platform/upstream/iotivity.git] / service / soft-sensor-manager / SampleApp / arduino / THSensorApp / build / Makefile
1 -include ../../../../build/arduino/environment.mk
2
3 ARDUINO_DIR = /usr/share/arduino
4 SRC_PATH=../src
5
6 # override with `make PLATFORM=arduinomega ARDUINOWIFI=1` to enable Arduino WiFi shield
7 ARDUINOWIFI := 0
8
9 APP_NAME := thserver
10
11 BUILD := release
12 #BUILD := debug
13 PLATFORM := arduinomega
14 ARDUINO_PORT := /dev/ttyACM0
15
16 OBJ_DIR := ./bin
17
18 TB_DIR = ${IOT_BASE}/csdk
19 BUILD_DIR = $(TB_DIR)/build/arduino
20 LOGGER_DIR = $(TB_DIR)/logger
21 TBSTACK_DIR = $(TB_DIR)/stack
22 TBSOCKET_DIR = $(TB_DIR)/ocsocket
23
24 include $(TB_DIR)/local.properties
25 include $(TB_DIR)/$(PLATFORM).properties
26
27 VPATH := $(SDIR_ARD_PLATFORM)
28
29 #include directories
30 OCSOCK_DIR = $(TB_DIR)/ocsocket
31 LOGGER_DIR = $(TB_DIR)/logger
32 STACK_DIR  = $(TB_DIR)/stack
33 INC_DIRS = -I$(OCSOCK_DIR)/include/ -I$(LOGGER_DIR)/include -I$(STACK_DIR)/include
34
35 CFLAGS  := -Os -Wall -c -DTB_LOG
36
37 ifeq ($(ARDUINOWIFI),1)
38         CFLAGS += -DARDUINOWIFI
39 endif
40
41 #all: prep_dirs core.a $(APP_NAME).o $(APP_NAME).elf $(APP_NAME).hex
42 all: preclean prebuild precopy prep_dirs core.a $(APP_NAME).o $(APP_NAME).elf $(APP_NAME).hex
43
44 precopy:
45 #       @cd $(TB_DIR) && mkdir -p ${BUILD} && cp -Rdp release/liboctbstack.a ${BUILD}/
46
47 preclean: 
48         @cd $(BUILD_DIR) && make deepclean 
49         
50 prebuild:
51         @cd $(BUILD_DIR) && make PLATFORM=arduinomega ARDUINOWIFI=0
52
53 core.a: $(PLATFORM_OBJS)
54         @cd $(OBJ_DIR) && $(AR) -x $(TB_DIR)/build/arduino/$(BUILD)/liboctbstack.a
55         $(AR) rcs $@ $^ $(OBJ_DIR)/*.o
56         $(RANLIB) $@
57
58 prep_dirs:
59         -mkdir $(OBJ_DIR)
60
61 %.o: %.c
62         $(CC) $(CFLAGS) $(CFLAGS_PLATFORM) $(INC_DIRS) $(INC_DIR_PLATFORM) $< -o $@
63
64 %.o: %.cpp
65         $(CCPLUS) $(CFLAGS) $(CFLAGS_PLATFORM) $(INC_DIRS) $(INC_DIR_PLATFORM) $< -o $@
66
67 %.o: ${SRC_PATH}/%.cpp
68         $(CCPLUS) $(CFLAGS) $(CFLAGS_PLATFORM) $(INC_DIRS) $(INC_DIR_PLATFORM) $< -o $@
69
70 $(APP_NAME).elf: $(APP_NAME).o core.a
71         $(CC) -Os -Wl,--gc-sections,--relax $(CFLAGS_PLATFORM) $^ -lm -o $@
72
73 $(APP_NAME).hex: $(APP_NAME).elf
74         $(AVR_OBJCOPY) -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 $< $(APP_NAME).eep
75         $(AVR_OBJCOPY) -O ihex -R .eeprom $< $@
76
77 install: all
78         $(AVR_PROGRAMMER) -C$(ARDUINO_DIR)/hardware/tools/avrdude.conf -v -v -v -v -patmega2560 -cstk500v2 -P$(ARDUINO_PORT) -b115200 -D -Uflash:w:$(APP_NAME).hex:i
79
80 .PHONY: clean
81
82 clean:
83         @rm -f *.o *.d *.elf *.eep *.a *.hex *.bin *.map *-
84         @rm -rf $(OBJ_DIR)
85