ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / VP_SDK / Build / sysvar.makefile
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/VP_SDK/Build/sysvar.makefile b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/VP_SDK/Build/sysvar.makefile
new file mode 100644 (file)
index 0000000..05f38d1
--- /dev/null
@@ -0,0 +1,383 @@
+
+###########################################################################################
+#
+# Creates needed build system variables
+# ----------------------------------------------------------------------------------
+# Author : aurelien.morelle@parrot.com
+# Date   : 2007/05/16
+#
+# Included from global Makefile
+#
+###########################################################################################
+
+ifndef ALL_TARGETS
+export ALL_TARGETS=../../Soft/Build/targets_versions
+endif
+
+ifeq ($(MAKECMDGOALS),check)
+  export QUIET_BUILD=no
+  export MAKEFLAGS=--no-print-directory
+endif
+
+ifeq ($(QUIET_BUILD),yes)
+  export MAKEFLAGS=-s --no-print-directory
+  GENERIC_COMMAND_PREFIX:=@$(GENERIC_COMMAND_PREFIX)
+  RM=@rm -rfv
+else
+  RM=rm -rf
+endif
+
+
+ifeq "$(RELEASE_BUILD)" "yes"
+  BUILD_MODE=PROD_MODE
+endif
+ifeq "$(RELEASE_BUILD)" "no"
+  BUILD_MODE=DEBUG_MODE
+endif
+
+
+ifeq ($(USE_NDS),yes)
+    export DEVKITARM=/usr/local/devkitARM-eabi_release_21/devkitARM
+    export DEVKITPRO=$(DEVKITARM)
+    OS_TARGET_ID=nds_$(NDS_CPU)
+    GNUTOOLS_PATH=$(DEVKITARM)/bin
+    GENERIC_COMMAND_PREFIX=$(GNUTOOLS_PATH)/arm-eabi-
+    ifeq ($(wildcard $(GNUTOOLS_PATH)),)
+      $(error ERROR Bad GNUTOOLS_PATH [ $(GNUTOOLS_PATH) does not exist ])
+    endif
+    ifeq ($(wildcard $(GENERIC_COMMAND_PREFIX)gcc),)
+      $(error ERROR Bad GENERIC_COMMAND_PREFIX [ $(GENERIC_COMMAND_PREFIX)gcc does not exist ])
+    endif
+else
+    ifeq ($(USE_MINGW32),yes)
+      OS_TARGET_ID=mingw32_gtk+-2.14.7
+      GENERIC_COMMAND_PREFIX=i586-mingw32msvc-
+      ifeq ($(shell which $(GENERIC_COMMAND_PREFIX)gcc 2> /dev/null),)
+        $(error ERROR You need Minimalist GNU Win32 cross compiler. (under Debian: apt-get install mingw32))
+      endif
+    else
+      ifeq ($(USE_ELINUX),yes)
+        OS_TARGET_ID=eLinux
+        TOOLCHAIN_PATH=/opt/$(TOOLCHAIN_VERSION)/bin
+        ifeq ($(TOOLCHAIN_VERSION),arm-eglibc)
+          GENERIC_COMMAND_PREFIX=$(TOOLCHAIN_PATH)/arm-none-linux-gnueabi-
+        else
+        ifeq ($(TOOLCHAIN_VERSION),arm-2010.09)
+          GENERIC_COMMAND_PREFIX=$(TOOLCHAIN_PATH)/arm-none-linux-gnueabi-
+        else
+        ifeq ($(TOOLCHAIN_VERSION),arm-uclibc)
+          GENERIC_COMMAND_PREFIX=$(TOOLCHAIN_PATH)/arm-linux-uclibcgnueabi-
+        else
+          $(error ERROR Unsupported toolchain.)
+        endif
+        endif
+        endif
+      else
+        ifeq ($(USE_IPHONE),yes)
+                       OS_TARGET_ID=$(IPHONE_PLATFORM)
+                       OS_TARGET_NAME:=$(OS_TARGET_ID)
+                       OS_TARGET_NAME:=$(shell echo "$(OS_TARGET_NAME)" | sed -e "s/iphone/iPhone/g")
+                       OS_TARGET_NAME:=$(shell echo "$(OS_TARGET_NAME)" | sed -e "s/os/OS/g")
+                       OS_TARGET_NAME:=$(shell echo "$(OS_TARGET_NAME)" | sed -e "s/simulator/Simulator/g")
+                       TOOLCHAIN_PATH=/Developer/Platforms/$(OS_TARGET_NAME).platform/Developer/usr/bin
+                       GENERIC_COMMAND_PREFIX=$(TOOLCHAIN_PATH)/
+       else
+            OS_TARGET_ID=$(shell uname -sor | sed -e "s/[ \/]/_/g")
+        ifeq ($(USE_ANDROID),yes)
+          TOOLCHAIN_PATH=$(NDK_PATH)/build/prebuilt/linux-x86/$(TOOLCHAIN_VERSION)/bin
+          GENERIC_COMMAND_PREFIX=$(TOOLCHAIN_PATH)/arm-eabi-
+        else
+          GENERIC_COMMAND_PREFIX=              
+        endif
+       endif
+      endif
+    endif
+endif
+
+GCC_VERSION=$(shell $(GENERIC_COMMAND_PREFIX)gcc -v 2>&1 | grep --color=never version | grep -v [cC]onfigur | sed -e "s/\(^version gcc \)\([^ ]*\)\(.*\)/\2/" | sed -e "s/\(^gcc version \)\([^ ]*\)\(.*\)/\2/")
+
+ifeq ($(USE_NDS),no)
+ifeq ($(USE_MINGW32),no)
+ifeq ($(USE_ELINUX), no)
+  ifneq ($(GCC_VERSION),4.3.3)
+#    $(error GCC version not supported)
+  endif
+endif
+endif
+endif
+
+GCC_ID:=$(subst $(GNUTOOLS_PATH)/,,$(GENERIC_COMMAND_PREFIX))gcc_$(GCC_VERSION)
+
+ifneq ($(NO_COM),yes)
+  ifeq ($(USE_BLUEZ),yes)
+    COM_TARGET_ID=libbluetooth3
+    COM_TARGET_ID:=$(COM_TARGET_ID)_$(shell apt-cache show libbluetooth-dev | grep "^Version" | cut -d" " -f2 | head -n 1)
+    COM_TARGET_ID:=$(COM_TARGET_ID)_libiw
+    COM_TARGET_ID:=$(COM_TARGET_ID)_$(shell apt-cache show libiw-dev | grep "^Version" | cut -d" " -f2 | head -n 1)
+  endif
+endif
+
+ifeq ($(USE_BONJOUR),yes)
+  BONJOUR_TARGET_ID:=bonjour_$(BONJOUR_VERSION)
+  COM_TARGET_ID:=$(COM_TARGET_ID)_$(BONJOUR_TARGET_ID)
+endif
+
+ARCH_TARGET_ID=$(ARDRONE_TARGET_ARCH)
+PARROTOS_CORE_TARGET_ID:=parrotOS_core_$(COMMONSOFT_VERSION)
+PARROTOS_UTILS_TARGET_ID:=parrotOS_utils_$(COMMONSOFT_VERSION)
+PARROTOS_DRIVERS_TARGET_ID:=parrotOS_drivers_$(COMMONSOFT_VERSION)
+PARROTOS_DEVS_TARGET_ID:=parrotOS_devs_$(COMMONSOFT_VERSION)
+PARROTOS_CODEC_TARGET_ID:=parrotOS_codec_$(COMMONSOFT_VERSION)
+LIBPLF_TARGET_ID:=libplf_$(COMMONSOFT_VERSION)
+
+ifeq ($(USE_ARDRONELIB),yes)
+   ARDRONELIB_TARGET_ID=ardrone_lib_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_ARDRONE_VISION),yes)
+   ARDRONE_VISION_TARGET_ID=vision_lib_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_ARDRONE_POLARIS),yes)
+   ARDRONE_POLARIS_TARGET_ID=polaris_lib_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_ARDRONE_VICON),yes)
+   ARDRONE_VICON_TARGET_ID=vicon_lib_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_ARDRONE_TEST_BENCHS),yes)
+   ARDRONE_TEST_BENCHS_TARGET_ID=test_benchs_lib_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_ARDRONE_CALIBRATION),yes)
+   ARDRONE_CALIBRATION_TARGET_ID=calibration_lib_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_SDK),yes)
+  SDK_TARGET_ID=sdk_$(BUILD_MODE)
+endif
+ifeq ($(USE_APP),yes)
+  APP_TARGET_ID:=$(APP_ID)_$(BUILD_MODE)
+endif
+ifeq ($(USE_DLL),yes)
+  DLL_TARGET_ID:=$(DLL_ID)_$(BUILD_MODE)
+endif
+ifeq ($(USE_LIB),yes)
+  LIB_TARGET_ID:=$(LIB_ID)_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_FFMPEG),yes)
+  CODEC_TARGET_ID=ffmpeg_$(FF_ARCH)
+else
+ifeq ($(USE_MJPEG),yes)
+  CODEC_TARGET_ID=mjpeg
+endif
+ifeq ($(USE_VLIB),yes)
+  CODEC_TARGET_ID=vlib
+endif
+endif
+
+ifeq ($(USE_ARDRONELIB),yes)
+ifneq ($(COM_TARGET_ID),)
+  ARDRONELIB_TARGET_ID:=$(ARDRONELIB_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  ARDRONELIB_TARGET_ID:=$(ARDRONELIB_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  ARDRONELIB_TARGET_ID:=$(ARDRONELIB_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_ARDRONE_VISION),yes)
+ifneq ($(COM_TARGET_ID),)
+  ARDRONE_VISION_TARGET_ID:=$(ARDRONE_VISION_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  ARDRONE_VISION_TARGET_ID:=$(ARDRONE_VISION_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  ARDRONE_VISION_TARGET_ID:=$(ARDRONE_VISION_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_ARDRONE_POLARIS),yes)
+ifneq ($(COM_TARGET_ID),)
+  ARDRONE_POLARIS_TARGET_ID:=$(ARDRONE_POLARIS_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  ARDRONE_POLARIS_TARGET_ID:=$(ARDRONE_POLARIS_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  ARDRONE_POLARIS_TARGET_ID:=$(ARDRONE_POLARIS_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_ARDRONE_VICON),yes)
+ifneq ($(COM_TARGET_ID),)
+  ARDRONE_VICON_TARGET_ID:=$(ARDRONE_VICON_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  ARDRONE_VICON_TARGET_ID:=$(ARDRONE_VICON_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  ARDRONE_VICON_TARGET_ID:=$(ARDRONE_VICON_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_ARDRONE_TEST_BENCHS),yes)
+ifneq ($(COM_TARGET_ID),)
+  ARDRONE_TEST_BENCHS_TARGET_ID:=$(ARDRONE_TEST_BENCHS_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  ARDRONE_TEST_BENCHS_TARGET_ID:=$(ARDRONE_TEST_BENCHS_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  ARDRONE_TEST_BENCHS_TARGET_ID:=$(ARDRONE_TEST_BENCHS_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_ARDRONE_CALIBRATION),yes)
+ifneq ($(COM_TARGET_ID),)
+  ARDRONE_CALIBRATION_TARGET_ID:=$(ARDRONE_CALIBRATION_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  ARDRONE_CALIBRATION_TARGET_ID:=$(ARDRONE_CALIBRATION_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  ARDRONE_CALIBRATION_TARGET_ID:=$(ARDRONE_CALIBRATION_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_JPEG),yes)
+  JPEG_TARGET_ID=jpeg-6b_$(BUILD_MODE)
+endif
+
+ifeq ($(USE_SDK),yes)
+ifneq ($(COM_TARGET_ID),)
+  SDK_TARGET_ID:=$(SDK_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  SDK_TARGET_ID:=$(SDK_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  SDK_TARGET_ID:=$(SDK_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_APP),yes)
+ifneq ($(COM_TARGET_ID),)
+  APP_TARGET_ID:=$(APP_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  APP_TARGET_ID:=$(APP_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  APP_TARGET_ID:=$(APP_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifeq ($(USE_LIB),yes)
+ifneq ($(COM_TARGET_ID),)
+  LIB_TARGET_ID:=$(LIB_TARGET_ID)_$(COM_TARGET_ID)
+endif
+ifneq ($(CODEC_TARGET_ID),)
+  LIB_TARGET_ID:=$(LIB_TARGET_ID)_$(CODEC_TARGET_ID)
+endif
+ifneq ($(ARCH_TARGET_ID),)
+  LIB_TARGET_ID:=$(LIB_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifneq ($(CODEC_TARGET_ID),)
+  CODEC_TARGET_ID:=$(CODEC_TARGET_ID)_$(BUILD_MODE)
+ifneq ($(ARCH_TARGET_ID),)
+  CODEC_TARGET_ID:=$(CODEC_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+ifneq ($(COM_TARGET_ID),)
+  COM_TARGET_ID:=$(COM_TARGET_ID)_$(BUILD_MODE)
+ifneq ($(ARCH_TARGET_ID),)
+  COM_TARGET_ID:=$(COM_TARGET_ID)_$(ARCH_TARGET_ID)
+endif
+endif
+
+ifneq ($(BONJOUR_TARGET_ID),)
+  BONJOUR_TARGET_ID:=$(BONJOUR_TARGET_ID)_$(BUILD_MODE)_$(_COM_TARGET_ID_)
+endif
+
+define ADD_OS_TARGET_ID
+  ifneq ($(1),OS)
+    $(1)_TARGET_ID:=$$($(1)_TARGET_ID)_$$(OS_TARGET_ID)
+  endif
+endef
+
+define FINALIZE_TARGET_ID
+  ifneq ($$($(1)_TARGET_ID),)
+    $(1)_TARGET_ID:=$$($(1)_TARGET_ID)_$$(GCC_ID)
+    $(1)_TARGET_DIR:=$$(ALL_TARGETS)/$$($(1)_TARGET_ID)
+  endif
+  export $(1)_TARGET_DIR
+endef
+
+TARGET_IDS:=OS APP DLL LIB SDK COM CODEC JPEG BONJOUR PARROTOS_CORE PARROTOS_UTILS PARROTOS_DRIVERS PARROTOS_DEVS PARROTOS_CODEC LIBPLF ARDRONE_VISION ARDRONE_POLARIS ARDRONE_TEST_BENCHS ARDRONE_CALIBRATION ARDRONELIB ARDRONE_VICON
+
+$(foreach id,$(filter-out OS,$(TARGET_IDS)),$(eval $(call ADD_OS_TARGET_ID,$(id))))
+$(foreach id,$(TARGET_IDS),$(eval $(call FINALIZE_TARGET_ID,$(id))))
+
+
+ifeq ($(USE_NDS),yes)
+    ifeq ($(NDS_CPU),ARM7)
+      TARGET_CPU_ARM=1
+      TARGET_CPU_X86=0
+    endif
+    ifeq ($(NDS_CPU),ARM9)
+      TARGET_CPU_ARM=1
+      TARGET_CPU_X86=0
+    endif
+else
+    ifeq ($(USE_ANDROID),yes)
+      TARGET_CPU_ARM=1
+      TARGET_CPU_X86=0
+    else
+    ifeq ($(USE_ELINUX),yes)
+      TARGET_CPU_ARM=1
+      TARGET_CPU_X86=0
+    else
+      ifeq ($(USE_IPHONE),yes)
+             ifeq ($(IPHONE_PLATFORM),iphoneos)
+            TARGET_CPU_ARM=1
+            TARGET_CPU_X86=0
+             else
+            TARGET_CPU_ARM=0
+            TARGET_CPU_X86=1
+             endif
+      else 
+      ifeq ($(SBOX_UNAME_MACHINE),arm)
+            TARGET_CPU_ARM=1
+            TARGET_CPU_X86=0
+      else
+           TARGET_CPU_ARM=0
+            TARGET_CPU_X86=1
+      endif
+      endif
+    endif
+   endif
+endif
+
+# All that needs to be exported
+########################
+
+export MAKE
+export RM
+
+export GENERIC_COMMAND_PREFIX
+export GNUTOOLS_PATH
+export GCC_ID
+
+export BUILD_MODE
+
+export TARGET_CPU_ARM
+export TARGET_CPU_X86
+