ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VP_SDK / Build / common.makefile
1
2 ###########################################################################################
3 #
4 # Common to sdk.makefile and app.makefile
5 # ----------------------------------------------------------------------------------
6 # Author : aurelien.morelle@parrot.com
7 # Date   : 2007/05/16
8 #
9 ###########################################################################################
10
11 # To be reordered (CommonSoft)
12 ########################
13 XCC=$(GENERIC_COMMAND_PREFIX)gcc
14 XAR=$(GENERIC_COMMAND_PREFIX)ar
15
16 ifdef MYKONOS
17 GENERIC_INCLUDES+=                                      \
18         -I$(ALL_TARGETS)/CommonSoft/include             \
19         -I$(ALL_TARGETS)/CommonSoft/include/xmlparser   \
20         -I$(ALL_TARGETS)/CommonSoft/include/crypto
21 endif
22
23 # Used for include paths
24 ########################
25 ifdef MYKONOS
26 SDK_PATH:=$(ALL_SOURCES)/ardrone_api/$(SDK_VERSION)/ARDrone_API/ARDroneLib
27 SDK_SOURCE_DIR=$(SDK_PATH)/VP_SDK
28 VLIB_SOURCE_DIR=$(SDK_PATH)/VLIB
29
30 COMMONSOFT=$(ALL_SOURCES)/commonsoft/$(COMMONSOFT_VERSION)/CommonSoft
31 PARROTOS_CORE_SOURCE_DIR=$(COMMONSOFT)/ParrotOS/core/src
32 PARROTOS_CORE_INCLUDE_DIR=$(COMMONSOFT)/ParrotOS/core/include
33 PARROTOS_UTILS_SOURCE_DIR=$(COMMONSOFT)/ParrotOS/utils/src
34 PARROTOS_UTILS_INCLUDE_DIR=$(COMMONSOFT)/ParrotOS/utils/include
35 PARROTOS_DRIVERS_SOURCE_DIR=$(COMMONSOFT)/ParrotOS/drivers/src
36 PARROTOS_DRIVERS_INCLUDE_DIR=$(COMMONSOFT)/ParrotOS/drivers/include
37 PARROTOS_DEVS_SOURCE_DIR=$(COMMONSOFT)/ParrotOS/devs/
38 PARROTOS_DEVS_INCLUDE_DIR=$(COMMONSOFT)/ParrotOS/devs/
39 PARROTOS_CODEC_SOURCE_DIR=$(COMMONSOFT)/ParrotOS/codec
40 PARROTOS_CODEC_INCLUDE_DIR=$(COMMONSOFT)/ParrotOS/codec
41 LIBPLF_SOURCE_DIR=$(COMMONSOFT)/libplf/src
42 LIBPLF_INCLUDE_DIR=$(COMMONSOFT)/libplf/include
43 else
44 SDK_SOURCE_DIR=../
45 VLIB_SOURCE_DIR=../../VLIB
46 endif
47
48 # Sdk relative paths
49 ########################
50 API_PATH      = VP_Api
51 ATCODEC_PATH  = ATcodec
52 COM_PATH      = VP_Com
53 OS_PATH       = VP_Os
54 EXAMPLES_PATH = Examples
55 STAGES_PATH   = VP_Stages
56
57 ifeq ($(USE_NDS),yes)
58     OS=nds
59 else
60   ifeq ($(USE_MINGW32),yes)
61     OS=win32
62   else
63     ifeq ($(USE_ELINUX),yes)
64       OS=elinux
65     else
66       OS=linux
67     endif
68   endif
69 endif
70
71 # Include paths
72 ########################
73 ifeq ($(USE_ANDROID),yes)
74 GENERIC_INCLUDES+=   \
75      -I$(NDK_PATH)/build/platforms/$(NDK_PLATFORM_VERSION)/arch-arm/usr/include
76 endif
77
78 ifeq ($(USE_IPHONE),yes)
79   GENERIC_INCLUDES+=                                    \
80         -isysroot $(IPHONE_SDK_PATH) \
81         -I$(IPHONE_SDK_PATH)/usr/include/gcc/darwin/4.2
82 endif
83
84 ifeq ($(USE_ELINUX),yes)
85   GENERIC_INCLUDES+=                                    \
86         -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/staging-dir_$(BOARD_CPU)_$(BOARD_NAME)/usr/include   \
87         -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/staging-dir_$(BOARD_CPU)_$(BOARD_NAME)/usr/include/linux     \
88         -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/kernel/linux/include     \
89         -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/kernel/linux/drivers     \
90         -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/packages/drivers
91         
92   ifeq ($(USE_WIFI),yes)
93   GENERIC_INCLUDES+=                                    \
94         -Dlinux -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/packages/drivers/bcm4318/src_4_170_55/include    \
95         -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/staging-dir_$(BOARD_CPU)_$(BOARD_NAME)/include
96   endif
97 endif
98 ifeq ($(USE_NDS),yes)
99   GENERIC_INCLUDES+=                                    \
100         -I$(DEVKITARM)/include                          \
101         -I$(DEVKITPRO)/libnds/include
102 endif
103
104 ifeq ($(USE_VLIB),yes)
105   GENERIC_INCLUDES+=                                    \
106         -I$(VLIB_SOURCE_DIR)/..                         \
107         -I$(VLIB_SOURCE_DIR)/P263
108 ifeq ($(TARGET_CPU_ARM),1)
109   GENERIC_INCLUDES+=                    \
110         -I$(VLIB_SOURCE_DIR)/Platform/arm9 \
111         -I$(VLIB_SOURCE_DIR)/Platform/arm11
112 else
113 ifeq ($(TARGET_CPU_X86),1)
114   GENERIC_INCLUDES+=                    \
115         -I$(VLIB_SOURCE_DIR)/Platform/x86
116 endif
117 endif
118 endif
119 ifeq ($(NO_COM),no)
120   GENERIC_INCLUDES+=                                    \
121         -I$(COM_TARGET_DIR)/include
122 endif
123 ifeq ($(USE_SDK),yes)
124   GENERIC_INCLUDES+=                                    \
125         -I$(SDK_SOURCE_DIR)                             \
126         -I$(SDK_SOURCE_DIR)/$(COM_PATH)
127
128 ifeq ($(USE_LIBPLF),yes)
129   GENERIC_INCLUDES+=                                    \
130         -I$(LIBPLF_INCLUDE_DIR)
131 endif
132
133 ifeq ($(USE_PARROTOS_CORE),yes)
134   GENERIC_INCLUDES+=                                    \
135         -I$(PARROTOS_CORE_INCLUDE_DIR)          \
136         -I$(PARROTOS_CORE_INCLUDE_DIR)/generic          \
137         -I$(PARROTOS_CORE_INCLUDE_DIR)/linux            \
138         -I$(PARROTOS_CORE_INCLUDE_DIR)/posix            \
139         -I$(PARROTOS_UTILS_INCLUDE_DIR)         \
140   -I$(PARROTOS_DRIVERS_INCLUDE_DIR) \
141   -I$(PARROTOS_DRIVERS_INCLUDE_DIR)/linux \
142   -I$(PARROTOS_DEVS_INCLUDE_DIR) \
143   -I$(PARROTOS_CODEC_INCLUDE_DIR) \
144         -I$(SDK_SOURCE_DIR)/$(OS_PATH)/parrotos
145 else
146   GENERIC_INCLUDES+=                                    \
147         -I$(SDK_SOURCE_DIR)/$(OS_PATH)/$(OS)
148 endif
149 ifeq ($(NO_COM),no)
150   GENERIC_INCLUDES+=                                    \
151         -I$(SDK_SOURCE_DIR)/$(COM_PATH)/$(OS)
152 endif
153 endif
154
155   GENERIC_INCLUDES+=                                    \
156         -I$(PFFMPEG_SOURCE_DIR)/specific
157
158 ifeq ($(USE_JPEG_P6),yes)
159      GENERIC_INCLUDES+=                                         \
160         -I$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/build_$(BOARD_CPU)_$(BOARD_NAME)/jpeg-6b
161 endif
162 ifeq ($(USE_BONJOUR),yes)
163   GENERIC_INCLUDES+=-I$(BONJOUR_SOURCE_DIR)
164 endif
165
166 # Libraries
167 ########################
168
169 GENERIC_LIB_PATHS+=                                     \
170         -L$(OS_TARGET_DIR)/install/lib                  \
171         -L$(SDK_TARGET_DIR)
172
173 INITIAL_GENERIC_LIBS:=$(GENERIC_LIBS)
174
175 GENERIC_LIBS+=                                          \
176         -lsdk
177
178 GENERIC_BINARIES_LIBS_DEPS=$(SDK_TARGET_DIR)/libsdk.a
179
180 ifeq ($(USE_LIBPLF),yes)
181   GENERIC_LIB_PATHS+=                                   \
182         -L$(LIBPLF_TARGET_DIR)
183
184   GENERIC_LIBS+=                                        \
185         -lplf \
186         -lz
187
188 endif
189
190 ifeq ($(USE_PARROTOS_CORE),yes)
191   GENERIC_LIB_PATHS+=                                   \
192         -L$(PARROTOS_CORE_TARGET_DIR) \
193         -L$(PARROTOS_UTILS_TARGET_DIR) \
194         -L$(PARROTOS_DRIVERS_TARGET_DIR) \
195         -L$(PARROTOS_CODEC_TARGET_DIR) \
196         -L$(PARROTOS_DEVS_TARGET_DIR)
197
198   GENERIC_LIBS+=                                        \
199         -lparrotOS_core                                 \
200         -lparrotOS_utils                                        \
201         -lparrotOS_devs                         \
202         -lparrotOS_codec                        \
203         -lparrotOS_drivers                      \
204         -lrt
205   GENERIC_BINARIES_LIBS_DEPS+=          \
206                 $(PARROTOS_CORE_TARGET_DIR)/libparrotOS_core.a \
207                 $(PARROTOS_UTILS_TARGET_DIR)/libparrotOS_utils.a \
208                 $(PARROTOS_DRIVERS_TARGET_DIR)/libparrotOS_drivers.a \
209                 $(PARROTOS_CODEC_TARGET_DIR)/libparrotOS_codec.a \
210                 $(PARROTOS_DEVS_TARGET_DIR)/libparrotOS_devs.a
211 endif
212
213 ifeq ($(USE_VLIB),yes)
214    ifeq ($(USE_ELINUX),yes)
215
216     GENERIC_LIB_PATHS+=         \
217         -L$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/staging-dir_$(BOARD_CPU)_$(BOARD_NAME)/lib   \
218         -L$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/staging-dir_$(BOARD_CPU)_$(BOARD_NAME)/usr/lib 
219     
220     GENERIC_LIBS+=                                      \
221     -luiomap -ldma_alloc
222    endif
223    GENERIC_LIB_PATHS+=                                  \
224         -L$(CODEC_TARGET_DIR)
225    GENERIC_LIBS+=                                       \
226         -lvlib
227    GENERIC_BINARIES_LIBS_DEPS+=                         \
228         $(CODEC_TARGET_DIR)/libvlib.a
229 endif
230
231 ifeq ($(USE_NDS),yes)
232     GENERIC_LIB_PATHS+=                                 \
233         -L$(DEVKITPRO)/libnds/lib
234     ifeq ($(NDS_CPU),ARM9)
235       GENERIC_LIBS+=                                    \
236         -ldswifi9                                       \
237         -lnds9
238     endif
239     ifeq ($(NDS_CPU),ARM7)
240       GENERIC_LIBS+=                                    \
241         -ldswifi7                                       \
242         -lnds7
243     endif
244 else
245     ifeq ($(USE_MINGW32),yes)
246       GENERIC_LIBS+=                                    \
247         -lws2_32
248     else
249       GENERIC_LIBS+=                                    \
250         -lpthread
251       ifneq ($(USE_ELINUX),yes)
252          ifeq ($(USE_IWLIB),yes)
253             GENERIC_LIBS+=                                      \
254                     -liw
255          endif
256         GENERIC_LIBS+=                                  \
257                -lSDL                                            \
258                -lGL                                             \
259                -lGLU
260       endif
261     endif
262 endif
263
264 ifeq ($(USE_ELINUX),yes)
265   ifeq ($(USE_WIFI),yes)
266     GENERIC_LIB_PATHS+=                                 \
267         -L$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/staging-dir_$(BOARD_CPU)_$(BOARD_NAME)/lib
268
269     ifeq ($(USE_IWLIB), yes)
270       GENERIC_LIBS+=-liw
271     endif
272   endif
273   ifeq ($(USE_JPEG_P6),yes)
274     
275     GENERIC_LIB_PATHS+=                                 \
276         -L$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/build_$(BOARD_CPU)_$(BOARD_NAME)/jpeg-6b  \
277         -L$(ALL_SOURCES)/linux/$(ELINUX_VERSION)/Linux/lucie/build/staging-dir_$(BOARD_CPU)_$(BOARD_NAME)/usr/lib
278
279     GENERIC_LIBS+= \
280     -ljpeg \
281     -ldma_alloc \
282     -luiomap
283   endif
284 endif
285
286 ifeq ($(USE_ARDRONELIB),yes)
287 GENERIC_LIB_PATHS+=                                     \
288         -L$(ARDRONELIB_TARGET_DIR)
289 endif
290
291 ifeq ($(USE_ARDRONE_VISION),yes)
292 GENERIC_LIB_PATHS+=                                     \
293         -L$(ARDRONE_VISION_TARGET_DIR)
294 endif
295
296 ifeq ($(USE_ARDRONE_POLARIS),yes)
297 GENERIC_LIB_PATHS+=                                     \
298         -L$(ARDRONE_POLARIS_TARGET_DIR)
299 endif
300
301 ifeq ($(USE_ARDRONE_VICON),yes)
302 GENERIC_LIB_PATHS+=                                     \
303         -L$(ARDRONE_VICON_TARGET_DIR)
304 endif
305
306 ifeq ($(USE_ARDRONE_TEST_BENCHS),yes)
307 GENERIC_LIB_PATHS+=                                     \
308         -L$(ARDRONE_TEST_BENCHS_TARGET_DIR)
309 endif
310
311 ifeq ($(USE_ARDRONE_CALIBRATION),yes)
312 GENERIC_LIB_PATHS+=                                     \
313         -L$(ARDRONE_CALIBRATION_TARGET_DIR)
314 endif
315
316 GENERIC_LIBS+=$(INITIAL_GENERIC_LIBS)
317
318