2 GEN_CUSTOM_HEADER:=../Common/generated_custom.h
4 include custom.makefile
5 include config.makefile
7 GNUTOOLS_PATH=/usr/local/$(GNUTOOLS_VERSION)/bin
8 ifeq ("$(QUIET_BUILD)","yes")
9 MAKE:=@PATH=$(GNUTOOLS_PATH):$(PATH) make -s
11 MAKE:=PATH=$(GNUTOOLS_PATH):$(PATH) make
14 define ADD_RULE_TEMPLATE
18 # Add rule for each target
19 $(foreach target,$(TARGETS),$(eval $(call ADD_RULE_TEMPLATE,$(target))))
21 .PHONY: linux_sample svn_update $(TO_BUILD) build_libs $(MAKECMDGOALS)
23 all: $(GEN_CUSTOM_HEADER) build_libs $(TO_BUILD)
25 $(GEN_CUSTOM_HEADER): custom.makefile
26 @echo "#ifndef _GENERATED_CUSTOM_CONFIGURATION_H_" > $@
27 @echo "#define _GENERATED_CUSTOM_CONFIGURATION_H_" >> $@
29 @echo "#if defined(BR2_PACKAGE_BCM4318_AP)" >> $@
30 @echo "# define AP" >> $@
32 @echo "# define STA" >> $@
34 @echo "#define CURRENT_NUM_VERSION_SOFT \"$(MAJOR_VERSION).$(MINOR_VERSION).$(MODIF_VERSION)\"" >> $@
35 @echo "#define CURRENT_BUILD_DATE \"$(shell date +%F\ %H:%M)\"" >> $@
37 ifeq ("$(VIDEO_YUV)","yes")
38 @echo "#define USE_VIDEO_YUV" >> $@
40 ifeq ("$(RECORD_VISION_DATA)","yes")
41 @echo "#define RECORD_VISION_DATA" >> $@
44 @echo "#define WIFI_NETWORK_NAME \"$(WIFI_NETWORK_NAME)\"" >> $@
45 @echo "#define WIFI_BROADCAST \"$(WIFI_BROADCAST)\"" >> $@
46 @echo "#define WIFI_ARDRONE_IP \"$(WIFI_ARDRONE_IP)\"" >> $@
48 @echo "#if defined(__linux__) || defined(USE_MINGW32)" >> $@
49 @echo "# define WIFI_MOBILE_IP \"$(WIFI_MOBILE_IP)\"" >> $@
50 @echo "# define WIRED_ITFNAME \"$(WIRED_ITFNAME)\"" >> $@
51 @echo "#endif // ! __linux__" >> $@
54 @echo "#endif // ! _GENERATED_CUSTOM_CONFIGURATION_H_" >> $@
56 ifneq "$(MAKECMDGOALS)" ""
57 ifneq "$(MAKECMDGOALS)" "clean"
58 ifneq "$(MAKECMDGOALS)" "update"
60 @echo -e "\nCannot make what you ask me to do :-("
62 $(MAKECMDGOALS): svn_update
67 $(MAKECMDGOALS): build_libs $(TO_BUILD)
70 sh ./check_dependencies.sh
72 define GENERIC_RULES_TEMPLATE
74 @$(MAKE) -C $(1) $(MAKECMDGOALS)
77 $(foreach target,$(TARGETS),$(eval $(call GENERIC_RULES_TEMPLATE,$(target))))
80 @$(MAKE) PC_TARGET=yes USE_ARDRONE_TOOL=no TARGET=pc_ USE_MINGW32=no -C ../Lib/Build $(MAKECMDGOALS)
82 ifeq ("$(MINGW32_MODE)","yes")
83 ifeq ($(shell which i586-mingw32msvc-gcc 2> /dev/null),)
84 $(warning You need MinGW32 to compile My Ardrone lib for Windows if you want. (under Debian: apt-get install mingw32))
86 # @$(MAKE) PC_TARGET=yes TARGET=mingw32_ USE_MINGW32=yes TMP_SDK_FLAGS="USE_MINGW32=yes NO_COM=yes USE_BLUEZ=no" -C ../Lib/Build $(MAKECMDGOALS)
87 # @$(MAKE) PC_TARGET=yes TARGET=emb_mingw32_ USE_MINGW32=yes CONTROL_DLL=yes TMP_SDK_FLAGS="USE_MINGW32=yes NO_COM=yes USE_BLUEZ=no" -C ../Lib/Build $(MAKECMDGOALS)
90 ifeq ($(WIIMOTE_SUPPORT),yes)
91 # @$(MAKE) PC_TARGET=yes TARGET=pc_ TMP_SDK_FLAGS="USE_BLUEZ=yes" -C ../Lib/libcwiid $(MAKECMDGOALS)
94 define svn_update_template
96 echo "Checking out tag $(1) of $(2) ..." ; \
97 if [ $(1) != head ] ; then \
98 svn co -r $(1) https://svn.ardrone.org/repo/ARDrone_API/$(2) ; \
100 svn co https://svn.ardrone.org/repo/ARDrone_API/$(2) ; \
106 @-$(call svn_update_template,$(SDK_VERSION),ARDroneLib)