ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / Soft / Lib / Build / Makefile
1 NO_COLOR=\033[0m
2 OK_COLOR=\033[32;01m
3
4 ifdef ARDRONE_CUSTOM_CONFIG 
5    ifdef ARDRONE_BUILD_CONFIG
6        include $(ARDRONE_CUSTOM_CONFIG)
7        include $(ARDRONE_BUILD_CONFIG)
8    else
9        include ../../Build/custom.makefile
10        include ../../Build/config.makefile
11    endif
12 else
13  include ../../Build/custom.makefile
14  include ../../Build/config.makefile
15 endif
16
17 LIB_ID=ardrone
18 ifeq ($(USE_ARDRONE_TOOL),no)
19 LIB_ID:=$(LIB_ID)_notool
20 endif
21 GENERIC_TARGET_LIBRARY:=lib$(TARGET)$(LIB_ID).a
22
23 GENERIC_CFLAGS+=-DAT_MESSAGES_HEADER="\"$(COMMON_DIR)/at_msgs.h\""
24 GENERIC_CFLAGS+=-DUSE_NEW_ATCODEC
25
26 ifeq ($(USE_ARDRONE_MAINLOOP),no)
27 GENERIC_CFLAGS+=-DNO_ARDRONE_MAINLOOP
28 endif
29   
30 ifeq ("$(USE_CHECK_WIFI_CONFIG)","yes")
31    GENERIC_CFLAGS+=-DCHECK_WIFI_CONFIG
32 endif
33
34 SDK_FLAGS+="USE_APP=no"
35 SDK_FLAGS+="USE_LIB=yes"
36 SDK_FLAGS+="LIB_ID=ardrone_lib"
37
38 MATHS_DIR=Maths
39 CONTROL_DIR=Control
40 ARDRONE_TOOL_DIR=ardrone_tool
41 UTILS_DIR=utils
42 INIPARSER_DIR=iniparser3.0b/src
43 LIBCALIBRATION_DIR=libCalibration
44
45 GENERIC_LIBRARY_SOURCE_FILES+=                          \
46         $(INIPARSER_DIR)/iniparser.c                    \
47         $(INIPARSER_DIR)/dictionary.c                   \
48         $(MATHS_DIR)/filter.c                                   \
49         $(MATHS_DIR)/maths.c                                    \
50         $(MATHS_DIR)/matrices.c                                 \
51         $(MATHS_DIR)/matrix3d.c                                 \
52         $(MATHS_DIR)/quaternions.c                              \
53         $(MATHS_DIR)/time.c                                             \
54         $(MATHS_DIR)/vision_math.c                      \
55         $(ARDRONE_TOOL_DIR)/Navdata/navdata.c   \
56         $(ARDRONE_TOOL_DIR)/config_keys.c       \
57         $(UTILS_DIR)/ardrone_crc_32.c \
58         $(UTILS_DIR)/ardrone_gen_ids.c \
59         $(UTILS_DIR)/ardrone_ftp.c
60
61 ifneq ($(CONTROL_DLL),yes)
62    ifeq ($(USE_ARDRONE_TOOL),yes)
63       ifeq ($(PC_USE_POLARIS),yes)
64          GENERIC_CFLAGS+=-DPC_USE_POLARIS
65       endif
66
67 GENERIC_LIBRARY_SOURCE_FILES+=                                         \
68         $(ARDRONE_TOOL_DIR)/AT/ardrone_at_mutex.c                              
69
70 GENERIC_LIBRARY_SOURCE_FILES+=                                         \
71         $(ARDRONE_TOOL_DIR)/Control/ardrone_control_soft_update.c       \
72         $(ARDRONE_TOOL_DIR)/Control/ardrone_control_configuration.c     \
73         $(ARDRONE_TOOL_DIR)/Control/ardrone_control_ack.c              \
74         $(ARDRONE_TOOL_DIR)/Navdata/ardrone_navdata_file.c             \
75         $(ARDRONE_TOOL_DIR)/Navdata/ardrone_general_navdata.c          \
76         $(ARDRONE_TOOL_DIR)/UI/ardrone_input.c                         \
77         $(ARDRONE_TOOL_DIR)/UI/ardrone_tool_ui.c                               \
78         $(ARDRONE_TOOL_DIR)/ardrone_time.c                             \
79         $(ARDRONE_TOOL_DIR)/ardrone_api.c                              \
80         $(ARDRONE_TOOL_DIR)/ardrone_tool_configuration.c   \
81         $(ARDRONE_TOOL_DIR)/ardrone_tool.c                             \
82         $(ARDRONE_TOOL_DIR)/Com/config_wifi.c
83
84      ifneq ($(USE_MINGW32),yes)
85        GENERIC_LIBRARY_SOURCE_FILES+=                           \
86               $(ARDRONE_TOOL_DIR)/Video/video_stage.c           \
87               $(ARDRONE_TOOL_DIR)/Video/video_com_stage.c               \
88               $(ARDRONE_TOOL_DIR)/Control/ardrone_control.c             \
89               $(ARDRONE_TOOL_DIR)/Control/ardrone_navdata_control.c     \
90               $(ARDRONE_TOOL_DIR)/Navdata/ardrone_navdata_client.c      
91
92         ifeq ($(USE_IPHONE),no)
93                         GENERIC_LIBRARY_SOURCE_FILES+=                          \
94                                 $(ARDRONE_TOOL_DIR)/Com/config_serial.c                 
95         endif
96         
97                 ifeq ($(USE_ARDRONE_VICON),yes)
98                         GENERIC_CFLAGS+=-DUSE_ARDRONE_VICON
99                 endif
100      endif
101 endif
102
103 ifneq ($(USE_MINGW32),yes)
104   GENERIC_LIBRARY_SOURCE_FILES+=                                \
105         $(ARDRONE_TOOL_DIR)/Video/video_stage_recorder.c
106 endif
107
108 ifeq ($(USE_LINUX),yes)
109         ifeq ($(FFMPEG_RECORDING_SUPPORT),yes)
110                 GENERIC_CFLAGS+=-DUSE_FFMPEG_RECORDER
111                 GENERIC_LIBRARY_SOURCE_FILES+=$(ARDRONE_TOOL_DIR)/Video/video_stage_ffmpeg_recorder.c           
112         endif
113 endif
114
115
116
117 ifeq ($(USE_ELINUX),yes)
118
119 HARDWARE_ARDRONE:=$(SRC_PATH)/Soft/Toy/Sources/$(CARD_HARDWARE_DIR)
120
121    ifeq ($(USE_MINGW32),yes)
122       HARDWARE_ARDRONE_CALIBRATION:=c:/$(CARD_HARDWARE_DIR)
123    else
124       HARDWARE_ARDRONE_CALIBRATION:=$(HARDWARE_ARDRONE)
125    endif
126
127 GENERIC_CFLAGS+=-DHARDWARE_ARDRONE=\"$(HARDWARE_ARDRONE)\" \
128                 -DHARDWARE_ARDRONE_CALIBRATION=\"$(HARDWARE_ARDRONE_CALIBRATION)\"
129 endif
130
131 endif
132
133 BASE_RELATIVE_PATH_FROM_SDK=../../
134
135 GENERIC_INCLUDES+=                                      \
136        -I$(BASE_RELATIVE_PATH_FROM_SDK)/Soft/Common   \
137        -I$(BASE_RELATIVE_PATH_FROM_SDK)/Soft/Lib
138
139 export GENERIC_INCLUDES
140 export GENERIC_LIBRARY_SOURCE_DIR=$(BASE_RELATIVE_PATH_FROM_SDK)/Soft/Lib
141 export GENERIC_BINARIES_SOURCE_DIR=$(BASE_RELATIVE_PATH_FROM_SDK)/Soft/Lib
142
143 export GENERIC_CFLAGS
144 export GENERIC_LIBRARY_SOURCE_FILES
145 export GENERIC_TARGET_LIBRARY
146
147 export GENERIC_BINARIES_COMMON_SOURCE_FILES=
148 export GENERIC_BINARIES_SOURCE_ENTRYPOINTS=
149
150 all $(MAKECMDGOALS):
151         @if [ '$(MAKECMDGOALS)' != 'clean' ]; then echo "$(OK_COLOR)Building ARDroneTool/Lib$(NO_COLOR)"; fi
152         @$(MAKE) -C ../../../VP_SDK/Build $(TMP_SDK_FLAGS) $(SDK_FLAGS) $(MAKECMDGOALS)
153