forked from AutonomyLab/ardrone_autonomy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathardrone_lib.patch
123 lines (117 loc) · 4.14 KB
/
ardrone_lib.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
diff --git a/ARDroneLib/FFMPEG/Makefile b/ARDroneLib/FFMPEG/Makefile
index 0b96558..0c101a0 100644
--- a/ARDroneLib/FFMPEG/Makefile
+++ b/ARDroneLib/FFMPEG/Makefile
@@ -40,6 +40,8 @@ ifneq ($(FFMPEG_ARCHIVE_ROOTDIR), ffmpeg/)
$(SILENT_MAKE)rm -rf $(FFMPEG_ARCHIVE_ROOTDIR)
endif
$(SILENT_MAKE)tar xzf parrot_ffmpeg_build_utils.tar.gz
+ # Extra pacth to remove deprecated warnings
+ $(SILENT_MAKE)sed -i "s/check_cflags -Wall/check_cflags -Wall\ncheck_cflags -Wno-deprecated-declarations/g" ffmpeg/configure
$(SILENT_MAKE)echo "Done"
endif
endif
diff --git a/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.c b/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.c
index 8466d4c..0b4f2e7 100644
--- a/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.c
+++ b/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.c
@@ -332,11 +332,11 @@ int ardrone_tool_main(int argc, char **argv)
argc--; argv++;
}
- if( show_usage || (argc != 0) )
+ /*if( show_usage || (argc != 0) )
{
ardrone_tool_usage( appname );
exit(-1);
- }
+ }*/
/* After a first analysis, the arguments are restored so they can be passed to the user-defined functions */
argc=argc_backup;
diff --git a/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.h b/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.h
index a081c9a..93005ec 100644
--- a/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.h
+++ b/ARDroneLib/Soft/Lib/ardrone_tool/ardrone_tool.h
@@ -66,7 +66,7 @@ C_RESULT ardrone_tool_shutdown(void);
void ardrone_tool_init_timers_and_mutex();
void ardrone_tool_send_com_watchdog(void); // To send it only once
-int main();
+//int main();
// There because not defined in embedded
void api_configuration_get_ctrl_mode(void);
diff --git a/ARDroneLib/VP_SDK/Build/Makefile b/ARDroneLib/VP_SDK/Build/Makefile
index bda3259..27418d2 100644
--- a/ARDroneLib/VP_SDK/Build/Makefile
+++ b/ARDroneLib/VP_SDK/Build/Makefile
@@ -105,6 +105,10 @@ define ADD_RULE_TEMPLATE
ifeq ($(USE_ANDROID),yes)
build_lib: build_$(1)
endif
+# Following three lines added after more than four hours of WTF debugging -- mani
+ ifeq ($(USE_LINUX),yes)
+ build_lib: build_$(1)
+ endif
endif
endif
endif
diff --git a/ARDroneLib/VP_SDK/Build/generic.makefile b/ARDroneLib/VP_SDK/Build/generic.makefile
index 91895b3..94d1cb8 100644
--- a/ARDroneLib/VP_SDK/Build/generic.makefile
+++ b/ARDroneLib/VP_SDK/Build/generic.makefile
@@ -35,10 +35,25 @@ INTERNAL_MKDIR=mkdir -p
INTERNAL_ECHO=echo
# (in) GENERIC_COMMAND_PREFIX
+
+# solve problem with system-wide ccache:
+# gcc is in different folder (/usr/lib/ccache) than and ar,objdump and strip.
+# This is only a hack to fix this issue
INTERNAL_CC:=$(GENERIC_COMMAND_PREFIX)gcc
-INTERNAL_AR:=$(GENERIC_COMMAND_PREFIX)ar
-INTERNAL_OBJCOPY:=$(GENERIC_COMMAND_PREFIX)objcopy
-INTERNAL_STRIP:=$(GENERIC_COMMAND_PREFIX)strip
+
+ifneq (,$(findstring ccache,$(GENERIC_COMMAND_PREFIX)))
+ # Found ccache
+ NON_TOOLCHAIN_PATH=$(shell which ar | sed "s:/ar::")
+ NON_GENERIC_COMMAND_PREFIX=$(NON_TOOLCHAIN_PATH)/
+ INTERNAL_AR:=$(NON_GENERIC_COMMAND_PREFIX)ar
+ INTERNAL_OBJCOPY:=$(NON_GENERIC_COMMAND_PREFIX)objcopy
+ INTERNAL_STRIP:=$(NON_GENERIC_COMMAND_PREFIX)strip
+else
+ INTERNAL_AR:=$(GENERIC_COMMAND_PREFIX)ar
+ INTERNAL_OBJCOPY:=$(GENERIC_COMMAND_PREFIX)objcopy
+ INTERNAL_STRIP:=$(GENERIC_COMMAND_PREFIX)strip
+endif
+
# (in) GENERIC_CFLAGS
# (in) GENERIC_LDFLAGS
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..2ad03a2
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,25 @@
+SDK_PATH:=$(shell pwd)/ARDroneLib
+PC_TARGET=yes
+USE_LINUX=yes
+
+
+ifdef MYKONOS
+ include $(ARDRONE_CUSTOM_CONFIG)
+ include $(ARDRONE_BUILD_CONFIG)
+else
+ include $(SDK_PATH)/Soft/Build/custom.makefile
+ include $(SDK_PATH)/Soft/Build/config.makefile
+endif
+
+$(SDK_TARGET_DIR)
+
+SDK_FLAGS+="USE_APP=no"
+SDK_FLAGS+="USE_LIB=yes"
+
+all:
+ @$(MAKE) -C $(SDK_PATH)/Soft/Build $(TMP_SDK_FLAGS) $(SDK_FLAGS) $(MAKECMDGOALS) USE_LINUX=yes
+ @$(MAKE) -C $(SDK_PATH)/VP_SDK/Build $(TMP_SDK_FLAGS) $(SDK_FLAGS) $(MAKECMDGOALS) USE_LINUX=yes
+
+install:
+ mkdir -p ${INSTALL_PREFIX}
+ find $(SDK_PATH)/Soft/Build -type f -name '*.a' -exec cp '{}' ${INSTALL_PREFIX} \;